Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ESMF_Field), | intent(in) | :: | srcField | |||
type(ESMF_Field), | intent(inout) | :: | dstField | |||
type(ESMF_RegridMethod_Flag), | intent(in), | optional | :: | regridmethod | ||
character(len=*), | intent(out) | :: | profileStr | |||
integer, | intent(out), | optional | :: | rc |
subroutine fillProfileStr(srcField, dstField, regridmethod, profileStr, rc) type(ESMF_Field), intent(in) :: srcField type(ESMF_Field), intent(inout) :: dstField type(ESMF_RegridMethod_Flag), intent(in),optional :: regridmethod character (len=*), intent(out) :: profileStr integer, intent(out), optional :: rc integer :: localrc character (len=ESMF_MAXSTR) :: tmpStr ! Set string profileStr="ESMF_FieldRegridStore(" ! Get srcField name call ESMF_FieldGet(srcField, name=tmpStr, rc=localrc) if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & ESMF_CONTEXT, rcToReturn=rc)) return ! Add to profileStr profileStr=trim(profileStr)//"src="//trim(tmpStr) ! Get dstField name call ESMF_FieldGet(dstField, name=tmpStr, rc=localrc) if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & ESMF_CONTEXT, rcToReturn=rc)) return ! Add to profileStr profileStr=trim(profileStr)//" dst="//trim(tmpStr) ! Get method name if (present(regridmethod)) then if (regridMethod == ESMF_REGRIDMETHOD_BILINEAR) then tmpStr="bilinear" else if (regridMethod == ESMF_REGRIDMETHOD_CONSERVE) then tmpStr="conserve" else if (regridMethod == ESMF_REGRIDMETHOD_CONSERVE_2ND) then tmpStr="conserve2nd" else if (regridMethod == ESMF_REGRIDMETHOD_PATCH) then tmpStr="patch" else if (regridMethod == ESMF_REGRIDMETHOD_NEAREST_STOD) then tmpStr="neareststod" else if (regridMethod == ESMF_REGRIDMETHOD_NEAREST_DTOS) then tmpStr="nearestdtos" else tmpStr="unknown" endif else tmpStr="bilinear" ! Default to bilinear if not present endif ! Add to profileStr profileStr=trim(profileStr)//" method="//trim(tmpStr) ! end it profileStr=trim(profileStr)//")" ! Return success ! if(present(rc)) rc = ESMF_SUCCESS end subroutine fillProfileStr