@@ -2870,7 +2870,7 @@ subroutine DO_A2W(SRC,DST,NAME,RC)
28702870 integer , optional ,intent (out ) :: RC
28712871
28722872 character (len= ESMF_MAXSTR), parameter :: Iam = ' A2W'
2873- integer :: status
2873+ integer :: status, srcTermProcessing
28742874
28752875 type (ESMF_RouteHandle), pointer :: rh
28762876 type (ESMF_Field) :: srcField, dstField
@@ -2884,9 +2884,11 @@ subroutine DO_A2W(SRC,DST,NAME,RC)
28842884 ! ALT: this should be done only once per regridder
28852885 allocate (rh, stat= status)
28862886 VERIFY_(STATUS)
2887+ srcTermProcessing = 0
28872888 call ESMF_FieldRegridStore(srcField, dstField, &
28882889 regridmethod= ESMF_REGRIDMETHOD_BILINEAR, &
28892890 lineType= ESMF_LINETYPE_GREAT_CIRCLE, &
2891+ srcTermProcessing= srcTermProcessing, &
28902892 routeHandle= rh, rc= status)
28912893 VERIFY_(STATUS)
28922894
@@ -2900,7 +2902,7 @@ subroutine DO_A2W(SRC,DST,NAME,RC)
29002902 end if
29012903
29022904 call ESMF_FieldRegrid(srcField= srcField, dstField= dstField, &
2903- routeHandle= rh, rc= status)
2905+ routeHandle= rh, termorderflag = ESMF_TERMORDER_SRCSEQ, rc= status)
29042906 VERIFY_(STATUS)
29052907
29062908 RETURN_(ESMF_SUCCESS)
@@ -2913,7 +2915,7 @@ subroutine DO_W2A(SRC,DST,NAME,RC)
29132915 integer , optional ,intent (out ) :: RC
29142916
29152917 character (len= ESMF_MAXSTR), parameter :: Iam = ' W2A'
2916- integer :: status
2918+ integer :: status, srcTermProcessing
29172919
29182920 type (ESMF_RouteHandle), pointer :: rh
29192921 type (ESMF_Field) :: srcField, dstField
@@ -2927,9 +2929,11 @@ subroutine DO_W2A(SRC,DST,NAME,RC)
29272929 ! ALT: this should be done only once per regridder
29282930 allocate (rh, stat= status)
29292931 VERIFY_(STATUS)
2932+ srcTermProcessing = 0
29302933 call ESMF_FieldRegridStore(srcField, dstField, &
29312934 regridmethod= ESMF_REGRIDMETHOD_BILINEAR, &
29322935 lineType= ESMF_LINETYPE_GREAT_CIRCLE, &
2936+ srcTermProcessing= srcTermProcessing, &
29332937 routeHandle= rh, rc= status)
29342938 VERIFY_(STATUS)
29352939
@@ -2943,7 +2947,7 @@ subroutine DO_W2A(SRC,DST,NAME,RC)
29432947 end if
29442948
29452949 call ESMF_FieldRegrid(srcField= srcField, dstField= dstField, &
2946- routeHandle= rh, rc= status)
2950+ routeHandle= rh, termorderflag = ESMF_TERMORDER_SRCSEQ, rc= status)
29472951 VERIFY_(STATUS)
29482952
29492953 RETURN_(ESMF_SUCCESS)
@@ -2956,7 +2960,7 @@ subroutine DO_O2W(SRC,DST,NAME,RC)
29562960 integer , optional ,intent (out ) :: RC
29572961
29582962 character (len= ESMF_MAXSTR), parameter :: Iam = ' O2W'
2959- integer :: status
2963+ integer :: status, srcTermProcessing
29602964
29612965 type (ESMF_RouteHandle), pointer :: rh
29622966 type (ESMF_Field) :: srcField, dstField
@@ -2970,9 +2974,11 @@ subroutine DO_O2W(SRC,DST,NAME,RC)
29702974 ! ALT: this should be done only once per regridder
29712975 allocate (rh, stat= status)
29722976 VERIFY_(STATUS)
2977+ srcTermProcessing = 0
29732978 call ESMF_FieldRegridStore(srcField, dstField, &
29742979 regridmethod= ESMF_REGRIDMETHOD_BILINEAR, &
29752980 lineType= ESMF_LINETYPE_GREAT_CIRCLE, &
2981+ srcTermProcessing= srcTermProcessing, &
29762982 routeHandle= rh, rc= status)
29772983 VERIFY_(STATUS)
29782984
@@ -2986,7 +2992,7 @@ subroutine DO_O2W(SRC,DST,NAME,RC)
29862992 end if
29872993
29882994 call ESMF_FieldRegrid(srcField= srcField, dstField= dstField, &
2989- routeHandle= rh, rc= status)
2995+ routeHandle= rh, termorderflag = ESMF_TERMORDER_SRCSEQ, rc= status)
29902996 VERIFY_(STATUS)
29912997
29922998 RETURN_(ESMF_SUCCESS)
@@ -2999,7 +3005,7 @@ subroutine DO_W2O(SRC,DST,NAME,RC)
29993005 integer , optional ,intent (out ) :: RC
30003006
30013007 character (len= ESMF_MAXSTR), parameter :: Iam = ' W2O'
3002- integer :: status
3008+ integer :: status, srcTermProcessing
30033009
30043010 type (ESMF_RouteHandle), pointer :: rh
30053011 type (ESMF_Field) :: srcField, dstField
@@ -3013,10 +3019,12 @@ subroutine DO_W2O(SRC,DST,NAME,RC)
30133019 ! ALT: this should be done only once per regridder
30143020 allocate (rh, stat= status)
30153021 VERIFY_(STATUS)
3022+ srcTermProcessing = 0
30163023 call ESMF_FieldRegridStore(srcField, dstField, &
30173024 regridMethod= ESMF_REGRIDMETHOD_BILINEAR, &
30183025 lineType= ESMF_LINETYPE_GREAT_CIRCLE, &
30193026 routeHandle= rh, &
3027+ srcTermProcessing= srcTermProcessing, &
30203028 unmappedAction= ESMF_UNMAPPEDACTION_IGNORE, rc= status)
30213029 VERIFY_(STATUS)
30223030
@@ -3031,7 +3039,7 @@ subroutine DO_W2O(SRC,DST,NAME,RC)
30313039 end if
30323040
30333041 call ESMF_FieldRegrid(srcField= srcField, dstField= dstField, &
3034- routeHandle= rh, rc= status)
3042+ routeHandle= rh, termorderflag = ESMF_TERMORDER_SRCSEQ, rc= status)
30353043 VERIFY_(STATUS)
30363044
30373045 RETURN_(ESMF_SUCCESS)
@@ -3043,4 +3051,3 @@ end subroutine Run
30433051! for example call ESMF_FieldRegridRelease(routeHandle, rc=status)
30443052
30453053end module GEOS_GcmGridCompMod
3046-
0 commit comments