@@ -13,7 +13,7 @@ module esmf_phys2lonlat_mod
1313 use ESMF, only: ESMF_FieldCreate, ESMF_FieldRegridStore
1414 use ESMF, only: ESMF_FieldGet, ESMF_FieldRegrid
1515 use ESMF, only: ESMF_KIND_I4, ESMF_KIND_R8 , ESMF_TYPEKIND_R8
16- use ESMF, only: ESMF_REGRIDMETHOD_BILINEAR, ESMF_POLEMETHOD_ALLAVG , ESMF_EXTRAPMETHOD_NEAREST_IDAVG
16+ use ESMF, only: ESMF_REGRIDMETHOD_BILINEAR, ESMF_POLEMETHOD_NONE , ESMF_EXTRAPMETHOD_NEAREST_IDAVG
1717 use ESMF, only: ESMF_TERMORDER_SRCSEQ, ESMF_MESHLOC_ELEMENT, ESMF_STAGGERLOC_CENTER
1818 use ESMF, only: ESMF_FieldDestroy, ESMF_RouteHandleDestroy
1919 use esmf_check_error_mod, only: check_esmf_error
@@ -33,9 +33,11 @@ module esmf_phys2lonlat_mod
3333
3434 type (ESMF_Field) :: physfld_3d
3535 type (ESMF_Field) :: lonlatfld_3d
36+ type (ESMF_Field) :: lonlatfld_3d_copy
3637
3738 type (ESMF_Field) :: physfld_2d
3839 type (ESMF_Field) :: lonlatfld_2d
40+ type (ESMF_Field) :: lonlatfld_2d_copy
3941
4042 interface esmf_phys2lonlat_regrid
4143 module procedure esmf_phys2lonlat_regrid_2d
@@ -84,6 +86,7 @@ subroutine esmf_phys2lonlat_init()
8486 lonlatfld_3d = ESMF_FieldCreate( lonlat_grid, arrayspec, staggerloc= ESMF_STAGGERLOC_CENTER, &
8587 ungriddedLBound= (/ 1 ,1 / ), ungriddedUBound= (/ pver,nflds/ ), rc= rc)
8688 call check_esmf_error(rc, subname// ' ESMF_FieldCreate 3D lonlat fld ERROR' )
89+ lonlatfld_3d_copy = lonlatfld_3d
8790
8891 ! 2D phys fld
8992 call ESMF_ArraySpecSet(arrayspec, 1 , ESMF_TYPEKIND_R8 , rc= rc)
@@ -99,19 +102,20 @@ subroutine esmf_phys2lonlat_init()
99102
100103 lonlatfld_2d = ESMF_FieldCreate( lonlat_grid, arrayspec, staggerloc= ESMF_STAGGERLOC_CENTER, rc= rc)
101104 call check_esmf_error(rc, subname// ' ESMF_FieldCreate 2D lonlat fld ERROR' )
105+ lonlatfld_2d_copy = lonlatfld_2d
102106
103- call ESMF_FieldRegridStore(srcField= physfld_3d, dstField= lonlatfld_3d , &
107+ call ESMF_FieldRegridStore(srcField= physfld_3d, dstField= lonlatfld_3d_copy , &
104108 regridMethod= ESMF_REGRIDMETHOD_BILINEAR, &
105- polemethod= ESMF_POLEMETHOD_ALLAVG , &
109+ polemethod= ESMF_POLEMETHOD_NONE , &
106110 extrapMethod= ESMF_EXTRAPMETHOD_NEAREST_IDAVG, &
107111 routeHandle= rh_phys2lonlat_3d, factorIndexList= factorIndexList, &
108112 factorList= factorList, srcTermProcessing= smm_srctermproc, &
109113 pipelineDepth= smm_pipelinedep, rc= rc)
110114 call check_esmf_error(rc, subname// ' ESMF_FieldRegridStore 3D routehandle ERROR' )
111115
112- call ESMF_FieldRegridStore(srcField= physfld_2d, dstField= lonlatfld_2d , &
116+ call ESMF_FieldRegridStore(srcField= physfld_2d, dstField= lonlatfld_2d_copy , &
113117 regridMethod= ESMF_REGRIDMETHOD_BILINEAR, &
114- polemethod= ESMF_POLEMETHOD_ALLAVG , &
118+ polemethod= ESMF_POLEMETHOD_NONE , &
115119 extrapMethod= ESMF_EXTRAPMETHOD_NEAREST_IDAVG, &
116120 routeHandle= rh_phys2lonlat_2d, factorIndexList= factorIndexList, &
117121 factorList= factorList, srcTermProcessing= smm_srctermproc, &
0 commit comments