Skip to content

Commit

Permalink
Add connection option support for regridding method "conserve_2nd" an…
Browse files Browse the repository at this point in the history
…d extrapolation method

"nearest_d".
  • Loading branch information
theurich committed Sep 10, 2024
1 parent 9379ba6 commit fe709e7
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 2 deletions.
4 changes: 2 additions & 2 deletions src/addon/NUOPC/doc/NUOPC_ConnectionOptions.tex
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,14 @@
{\tt dstMaskValues} & List of integer values that defines the mask values. & multi & List of integers.\\ \hline
{\tt dumpWeights} & Enable or disable dumping of the interpolation weights into a file. & single & {\tt true}, {\tt false}(default)\\ \hline
{\tt extrapDistExponent} & The exponent to raise the distance to when calculating weights for the nearest\_idavg extrapolation method. & single & real(default 2.0)\\ \hline
{\tt extrapMethod} & Fill in points not mapped by the regrid method. & single & {\tt none}(default), {\tt nearest\_idavg}, {\tt nearest\_stod}, {\tt creep}, {\tt creep\_nrst\_d} \\ \hline
{\tt extrapMethod} & Fill in points not mapped by the regrid method. & single & {\tt none}(default), {\tt nearest\_idavg}, {\tt nearest\_stod}, {\tt nearest\_d}, {\tt creep}, {\tt creep\_nrst\_d} \\ \hline
{\tt extrapNumLevels} & The number of levels to output for the extrapolation methods that fill levels. When a method is used that requires this, then an error will be returned, if it is not specified. & single & integer\\ \hline
{\tt extrapNumSrcPnts} & The number of source points to use for the extrapolation methods that use more than one source point. & single & integer(default 8)\\ \hline
{\tt ignoreDegenerate} & Ignore degenerate cells when checking the input Grids or Meshes for errors. & single & {\tt true}, {\tt false}(default)\\ \hline
{\tt ignoreUnmatchedIndices} & Ignore unmatched sequence indices when redistributing between source and destination index space. & single & {\tt true}, {\tt false}(default)\\ \hline
{\tt pipelineDepth} & Maximum number of outstanding non-blocking communication calls during the parallel interpolation. Only relevant for cases where the automatic tuning procedure fails to find a setting that works well on a given hardware. & single & integer\\ \hline
{\tt poleMethod} & Extrapolation method around the pole(s). & single & {\tt none}(default), {\tt allavg}, {\tt npntavg}={\em "integer indicating number of points"}, {\tt teeth}\\ \hline
{\tt remapMethod} & Redistribution or interpolation to compute the regridding weights. & single & {\tt redist}, {\tt bilinear}(default), {\tt patch}, {\tt nearest\_stod}, {\tt nearest\_dtos}, {\tt conserve}\\ \hline
{\tt remapMethod} & Redistribution or interpolation to compute the regridding weights. & single & {\tt redist}, {\tt bilinear}(default), {\tt patch}, {\tt nearest\_stod}, {\tt nearest\_dtos}, {\tt conserve}, {\tt conserve\_2nd}\\ \hline
{\tt srcMaskValues} & List of integer values that defines the mask values. & multi & List of integers.\\ \hline
{\tt srcTermProcessing} & Number of terms in each partial sum of the interpolation to process on the source side. This setting impacts the bit-for-bit reproducibility of the parallel interpolation results between runs. The strictest bit-for-bit setting is achieved by setting the value to 1. & single & integer\\ \hline
{\tt termOrder} & Order of the terms in each partial sum of the interpolation. This setting impacts the bit-for-bit reproducibility of the parallel interpolation results between runs. The strictest bit-for-bit setting is achieved by setting the value to {\tt srcseq}. & single & {\tt free}(default), {\tt srcseq}, {\tt srcpet}\\ \hline
Expand Down
4 changes: 4 additions & 0 deletions src/addon/NUOPC/src/NUOPC_Connector.F90
Original file line number Diff line number Diff line change
Expand Up @@ -7422,6 +7422,8 @@ subroutine FieldBundleCplStore(srcFB, dstFB, cplList, rh, zeroRegions, &
regridmethod = ESMF_REGRIDMETHOD_NEAREST_DTOS
else if (trim(chopSubString(2))=="conserve") then
regridmethod = ESMF_REGRIDMETHOD_CONSERVE
else if (trim(chopSubString(2))=="conserve_2nd") then
regridmethod = ESMF_REGRIDMETHOD_CONSERVE_2ND
else
write (msgString,*) "Specified option '", &
trim(chopStringList(j)), &
Expand Down Expand Up @@ -7509,6 +7511,8 @@ subroutine FieldBundleCplStore(srcFB, dstFB, cplList, rh, zeroRegions, &
extrapMethod = ESMF_EXTRAPMETHOD_NEAREST_IDAVG
else if (trim(chopSubString(2))=="nearest_stod") then
extrapMethod = ESMF_EXTRAPMETHOD_NEAREST_STOD
else if (trim(chopSubString(2))=="nearest_d") then
extrapMethod = ESMF_EXTRAPMETHOD_NEAREST_D
else if (trim(chopSubString(2))=="creep") then
extrapMethod = ESMF_EXTRAPMETHOD_CREEP
else if (trim(chopSubString(2))=="creep_nrst_d") then
Expand Down

0 comments on commit fe709e7

Please sign in to comment.