module interp use esmf use input_data use model_grid implicit none private type(esmf_field), public :: landsea_mask_target_grid type(esmf_field), public :: soil_type_from_input_grid ! soil type interpolated from ! input grid type(esmf_field), public :: soil_temp_target_grid type(esmf_field), public :: soilm_tot_target_grid type(esmf_field), public :: soilm_liq_target_grid type(esmf_field), public :: veg_greenness_target_grid type(esmf_field), public :: vtype_target_grid type(esmf_field), public :: snoalb_target_grid type(esmf_field), public :: slope_target_grid type(esmf_field), public :: tg3_target_grid type(esmf_field), public :: zorl_target_grid type(esmf_field), public :: orog_target_grid type(esmf_field), public :: snowxy_target_grid type(esmf_field), public :: tvxy_target_grid type(esmf_field), public :: tgxy_target_grid type(esmf_field), public :: canicexy_target_grid type(esmf_field), public :: canliqxy_target_grid type(esmf_field), public :: eahxy_target_grid type(esmf_field), public :: tahxy_target_grid type(esmf_field), public :: cmxy_target_grid type(esmf_field), public :: chxy_target_grid type(esmf_field), public :: fwetxy_target_grid type(esmf_field), public :: sneqvoxy_target_grid type(esmf_field), public :: alboldxy_target_grid type(esmf_field), public :: qsnowxy_target_grid type(esmf_field), public :: wslakexy_target_grid type(esmf_field), public :: zwtxy_target_grid type(esmf_field), public :: waxy_target_grid type(esmf_field), public :: wtxy_target_grid type(esmf_field), public :: lfmassxy_target_grid type(esmf_field), public :: rtmassxy_target_grid type(esmf_field), public :: stmassxy_target_grid type(esmf_field), public :: woodxy_target_grid type(esmf_field), public :: stblcpxy_target_grid type(esmf_field), public :: fastcpxy_target_grid type(esmf_field), public :: xsaixy_target_grid type(esmf_field), public :: xlaixy_target_grid type(esmf_field), public :: taussxy_target_grid type(esmf_field), public :: smcwtdxy_target_grid type(esmf_field), public :: deeprechxy_target_grid type(esmf_field), public :: rechxy_target_grid type(esmf_field), public :: snicexy_target_grid type(esmf_field), public :: snliqxy_target_grid type(esmf_field), public :: tsnoxy_target_grid type(esmf_field), public :: smoiseq_target_grid type(esmf_field), public :: zsnsoxy_target_grid ! noah type(esmf_field), public :: tsea_target_grid type(esmf_field), public :: sheleg_target_grid type(esmf_field), public :: alvsf_target_grid type(esmf_field), public :: alvwf_target_grid type(esmf_field), public :: alnsf_target_grid type(esmf_field), public :: alnwf_target_grid type(esmf_field), public :: facsf_target_grid type(esmf_field), public :: facwf_target_grid type(esmf_field), public :: canopy_target_grid type(esmf_field), public :: f10m_target_grid type(esmf_field), public :: t2m_target_grid type(esmf_field), public :: q2m_target_grid type(esmf_field), public :: uustar_target_grid type(esmf_field), public :: ffmm_target_grid type(esmf_field), public :: ffhh_target_grid type(esmf_field), public :: tprcp_target_grid type(esmf_field), public :: srflag_target_grid type(esmf_field), public :: snwdph_target_grid type(esmf_field), public :: shdmin_target_grid type(esmf_field), public :: shdmax_target_grid integer, public :: lsoil_target integer, public :: lsnow_target integer, public :: levels_target public :: interp_sfc contains subroutine interp_sfc implicit none integer :: rc, isrctermprocessing integer(esmf_kind_i4), pointer :: mask_input_ptr(:,:) integer(esmf_kind_i4), pointer :: mask_target_ptr(:,:) integer(esmf_kind_i4), pointer :: unmapped_ptr(:) !real(esmf_kind_r8), pointer :: gldas_target_ptr(:,:) !real(esmf_kind_r8), pointer :: gdas_input_ptr(:,:) type(esmf_regridmethod_flag) :: method type(esmf_routehandle) :: regrid_land lsoil_target = lsoil_input lsnow_target = lsnow_input levels_target = levels_input if (noahmp) then print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID stblcpxy." stblcpxy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID woodxy." woodxy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID stmassxy." stmassxy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID rtmassxy." rtmassxy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID lfmassxy." lfmassxy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID wtxy." wtxy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID waxy." waxy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID zwtxy." zwtxy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID wslakexy." wslakexy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID qsnowxy." qsnowxy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID alboldxy." alboldxy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID sneqvoxy." sneqvoxy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID fwetxy." fwetxy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID chxy." chxy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID cmxy." cmxy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID tahxy." tahxy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID eahxy." eahxy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID canliqxy." canliqxy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID canicexy." canicexy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID tgxy." tgxy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID tvxy." tvxy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID snowxy." snowxy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID fastcpxy." fastcpxy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID XLAI." xlaixy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID XSAI." xsaixy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID taussxy." taussxy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID smcwtdxy." smcwtdxy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID deeprechxy." deeprechxy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID rechxy." rechxy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR TARGET smoiseq." smoiseq_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, & ungriddedLBound=(/1/), & ungriddedUBound=(/lsoil_target/), rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR TARGET snicexy." snicexy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, & ungriddedLBound=(/1/), & ungriddedUBound=(/lsnow_target/), rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR TARGET snliqxy." snliqxy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, & ungriddedLBound=(/1/), & ungriddedUBound=(/lsnow_target/), rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR TARGET tsnoxy." tsnoxy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, & ungriddedLBound=(/1/), & ungriddedUBound=(/lsnow_target/), rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR TARGET zsnsoxy." zsnsoxy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, & ungriddedLBound=(/1/), & ungriddedUBound=(/levels_target/), rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) end if ! noahmp print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID mask." landsea_mask_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID orog." orog_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID zorl." zorl_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID tg3." tg3_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID slope." slope_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID snoalb." snoalb_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID vtype." vtype_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID GREENNESS." veg_greenness_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR INTERPOLATED TARGET GRID SOIL TYPE." soil_type_from_input_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR TARGET SOIL TEMPERATURE." soil_temp_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, & ungriddedLBound=(/1/), & ungriddedUBound=(/lsoil_target/), rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR TARGET TOTAL SOIL MOISTURE." soilm_tot_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, & ungriddedLBound=(/1/), & ungriddedUBound=(/lsoil_target/), rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR TARGET LIQUID SOIL MOISTURE." soilm_liq_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, & ungriddedLBound=(/1/), & ungriddedUBound=(/lsoil_target/), rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR TARGET tsea." tsea_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR TARGET sheleg." sheleg_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR TARGET alvsf." alvsf_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR TARGET alvwf." alvwf_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR TARGET alnsf." alnsf_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR TARGET alnwf." alnwf_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR TARGET facsf." facsf_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR TARGET facwf." facwf_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR TARGET canopy." canopy_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR TARGET f10m." f10m_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR TARGET t2m." t2m_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR TARGET q2m." q2m_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR TARGET uustar." uustar_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR TARGET ffmm." ffmm_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR TARGET ffhh." ffhh_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR TARGET tprcp." tprcp_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR TARGET srflag." srflag_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR TARGET snwdph." snwdph_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR TARGET shdmin." shdmin_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) print*,"- CALL FieldCreate FOR TARGET shdmax." shdmax_target_grid = ESMF_FieldCreate(target_grid, & typekind=ESMF_TYPEKIND_R8, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldCreate", rc) !---------------------------------------------------------------------------- ! Interpolate all land to all land !---------------------------------------------------------------------------- print*,"- CALL GridAddItem FOR TARGET GRID." call ESMF_GridAddItem(target_grid, & itemflag=ESMF_GRIDITEM_MASK, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN GridAddItem", rc) print*,"- CALL GridGetItem FOR TARGET GRID." nullify(mask_target_ptr) call ESMF_GridGetItem(target_grid, & itemflag=ESMF_GRIDITEM_MASK, & farrayPtr=mask_target_ptr, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN GridGetItem", rc) mask_target_ptr = 1 print*,"- CALL GridAddItem FOR INPUT GRID." call ESMF_GridAddItem(input_grid, & itemflag=ESMF_GRIDITEM_MASK, & staggerloc=ESMF_STAGGERLOC_CENTER, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN GridAddItem", rc) print*,"- CALL GridGetItem FOR INPUT GRID." nullify(mask_input_ptr) call ESMF_GridGetItem(input_grid, & itemflag=ESMF_GRIDITEM_MASK, & farrayPtr=mask_input_ptr, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN GridGetItem", rc) mask_input_ptr = 1 method=ESMF_REGRIDMETHOD_NEAREST_STOD isrctermprocessing = 1 print*,"- CALL FieldRegridStore for land to land." call ESMF_FieldRegridStore(soil_type_input_grid, & soil_type_from_input_grid, & srcmaskvalues=(/0/), & dstmaskvalues=(/0/), & polemethod=ESMF_POLEMETHOD_NONE, & srctermprocessing=isrctermprocessing, & unmappedaction=ESMF_UNMAPPEDACTION_IGNORE, & routehandle=regrid_land, & regridmethod=method, & unmappedDstList=unmapped_ptr, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegridStore", rc) if (noahmp) then print*,"- CALL Field_Regrid for xlai over land." call ESMF_FieldRegrid(xlaixy_input_grid, & xlaixy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for canliqxy." call ESMF_FieldRegrid(canliqxy_input_grid, & canliqxy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for canicexy." call ESMF_FieldRegrid(canicexy_input_grid, & canicexy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for tgxy." call ESMF_FieldRegrid(tgxy_input_grid, & tgxy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for tvxy." call ESMF_FieldRegrid(tvxy_input_grid, & tvxy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for snowxy." call ESMF_FieldRegrid(snowxy_input_grid, & snowxy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for eahxy." call ESMF_FieldRegrid(eahxy_input_grid, & eahxy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for tahxy." call ESMF_FieldRegrid(tahxy_input_grid, & tahxy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for cmxy." call ESMF_FieldRegrid(cmxy_input_grid, & cmxy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for chxy." call ESMF_FieldRegrid(chxy_input_grid, & chxy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for fwetxy." call ESMF_FieldRegrid(fwetxy_input_grid, & fwetxy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for sneqvoxy." call ESMF_FieldRegrid(sneqvoxy_input_grid, & sneqvoxy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for alboldxy." call ESMF_FieldRegrid(alboldxy_input_grid, & alboldxy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for qsnowxy." call ESMF_FieldRegrid(qsnowxy_input_grid, & qsnowxy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for wslakexy." call ESMF_FieldRegrid(wslakexy_input_grid, & wslakexy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for zwtxy." call ESMF_FieldRegrid(zwtxy_input_grid, & zwtxy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for waxy." call ESMF_FieldRegrid(waxy_input_grid, & waxy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for wtxy." call ESMF_FieldRegrid(wtxy_input_grid, & wtxy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for lfmassxy." call ESMF_FieldRegrid(lfmassxy_input_grid, & lfmassxy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for rtmassxy." call ESMF_FieldRegrid(rtmassxy_input_grid, & rtmassxy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for stmassxy." call ESMF_FieldRegrid(stmassxy_input_grid, & stmassxy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for woodxy." call ESMF_FieldRegrid(woodxy_input_grid, & woodxy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for stblcpxy." call ESMF_FieldRegrid(stblcpxy_input_grid, & stblcpxy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for fastcpxy." call ESMF_FieldRegrid(fastcpxy_input_grid, & fastcpxy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for xsaixy." call ESMF_FieldRegrid(xsaixy_input_grid, & xsaixy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for taussxy." call ESMF_FieldRegrid(taussxy_input_grid, & taussxy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for smcwtdxy." call ESMF_FieldRegrid(smcwtdxy_input_grid, & smcwtdxy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for deeprechxy." call ESMF_FieldRegrid(deeprechxy_input_grid, & deeprechxy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for rechxy." call ESMF_FieldRegrid(rechxy_input_grid, & rechxy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for snicexy." call ESMF_FieldRegrid(snicexy_input_grid, & snicexy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for snliqxy." call ESMF_FieldRegrid(snliqxy_input_grid, & snliqxy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) call ESMF_FieldRegrid(tsnoxy_input_grid, & tsnoxy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) call ESMF_FieldRegrid(smoiseq_input_grid, & smoiseq_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for zsnsoxy." call ESMF_FieldRegrid(zsnsoxy_input_grid, & zsnsoxy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) endif ! noahmp print*,"- CALL Field_Regrid for landmask." call ESMF_FieldRegrid(landsea_mask_input_grid, & landsea_mask_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for orog" call ESMF_FieldRegrid(orog_input_grid, & orog_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for zorl" call ESMF_FieldRegrid(zorl_input_grid, & zorl_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for tg3" call ESMF_FieldRegrid(tg3_input_grid, & tg3_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for slope" call ESMF_FieldRegrid(slope_input_grid, & slope_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for snoalb" call ESMF_FieldRegrid(snoalb_input_grid, & snoalb_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for vtype" call ESMF_FieldRegrid(vtype_input_grid, & vtype_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for greenness over land." call ESMF_FieldRegrid(veg_greenness_input_grid, & veg_greenness_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for soil type over land." call ESMF_FieldRegrid(soil_type_input_grid, & soil_type_from_input_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for soil temp over land." call ESMF_FieldRegrid(soil_temp_input_grid, & soil_temp_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for liquid soil moist over land." call ESMF_FieldRegrid(soilm_liq_input_grid, & soilm_liq_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for total soil moist over land." call ESMF_FieldRegrid(soilm_tot_input_grid, & soilm_tot_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for tsea." call ESMF_FieldRegrid(tsea_input_grid, & tsea_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for sheleg." call ESMF_FieldRegrid(sheleg_input_grid, & sheleg_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for alvsf." call ESMF_FieldRegrid(alvsf_input_grid, & alvsf_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for alvwf." call ESMF_FieldRegrid(alvwf_input_grid, & alvwf_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for alnsf." call ESMF_FieldRegrid(alnsf_input_grid, & alnsf_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for alnwf." call ESMF_FieldRegrid(alnwf_input_grid, & alnwf_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for facsf." call ESMF_FieldRegrid(facsf_input_grid, & facsf_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for facwf." call ESMF_FieldRegrid(facwf_input_grid, & facwf_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for canopy." call ESMF_FieldRegrid(canopy_input_grid, & canopy_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for f10m." call ESMF_FieldRegrid(f10m_input_grid, & f10m_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for t2m." call ESMF_FieldRegrid(t2m_input_grid, & t2m_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for q2m." call ESMF_FieldRegrid(q2m_input_grid, & q2m_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for uustar." call ESMF_FieldRegrid(uustar_input_grid, & uustar_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for ffmm." call ESMF_FieldRegrid(ffmm_input_grid, & ffmm_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for ffhh." call ESMF_FieldRegrid(ffhh_input_grid, & ffhh_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for tprcp." call ESMF_FieldRegrid(tprcp_input_grid, & tprcp_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for srflag." call ESMF_FieldRegrid(srflag_input_grid, & srflag_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for snwdph." call ESMF_FieldRegrid(snwdph_input_grid, & snwdph_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for shdmin." call ESMF_FieldRegrid(shdmin_input_grid, & shdmin_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) print*,"- CALL Field_Regrid for shdmax." call ESMF_FieldRegrid(shdmax_input_grid, & shdmax_target_grid, & routehandle=regrid_land, & termorderflag=ESMF_TERMORDER_SRCSEQ, rc=rc) if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__line__,file=__file__)) & call error_handler("IN FieldRegrid", rc) end subroutine interp_sfc end module interp