Skip to content

Commit

Permalink
Add vector regridding section to general regridding description section.
Browse files Browse the repository at this point in the history
  • Loading branch information
oehmke committed Oct 17, 2023
1 parent c00e07a commit 2fd75ed
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 2 deletions.
3 changes: 2 additions & 1 deletion src/Infrastructure/Field/src/ESMF_FieldRegrid.F90
Original file line number Diff line number Diff line change
Expand Up @@ -550,7 +550,8 @@ subroutine ESMF_FieldRegridStoreNX(srcField, dstField, keywordEnforcer, &
! as the components of a vector. If true and there is more than one ungridded dimension in either
! the source or destination, then an error will be returned. Currently this functionality only
! works when both the source and destination Fields are build on a geometry (e.g. an ESMF Grid) with
! a spherical coordinate sytem (e.g. ESMF\_COORDSYS\_SPH\_DEG). If not specified, this argument defaults to false.
! a spherical coordinate system (e.g. ESMF\_COORDSYS\_SPH\_DEG). See section~\ref{sec::vectorRegrid} for further
! information on this functionality. If not specified, this argument defaults to false.
! \item [{[extrapMethod]}]
! The type of extrapolation. Please see Section~\ref{opt:extrapmethod}
! for a list of valid options. If not specified, defaults to
Expand Down
24 changes: 23 additions & 1 deletion src/doc/ESMF_infradataoverview.tex
Original file line number Diff line number Diff line change
Expand Up @@ -768,7 +768,29 @@ \subsubsection{Spherical grids and poles}
Distances are measured along the great circle path. Under this option cells are on the sphere surface, and their boundaries
are great circle paths between their corner points.

Figure~\ref{line_type_support} shows which line types are supported for each regrid method as well as the defaults (indicated by *).
Figure~\ref{line_type_support} shows which line types are supported for each regrid method as well as the defaults (indicated by *).


\subsubsection{Vector regridding}\label{sec::vectorRegrid}

ESMF's initial vector regridding capability is intended to give cleaner results for spherical vectors expressed in
terms of local directions (e.g. east and north) than just regridding each vector component separately. To do this, it
converts the vectors to 3D Cartesian space and does the regridding there. This allows all the vectors participating in
the regridding to have a consistent representation. After regridding, the resulting vectors are then converted
back to the local direction form. The entire process is expressed in the usual weight matrix and/or routeHandle form and so
the typical {\tt ESMF\_FieldRegridStore()/ESMF\_FieldRegrid()/ESMF\_FieldRegridRelease()} regridding paradigm can be used.
However, the weight matrix will be in the format that allows it to contain tensor dimension indices (i.e. the leading
dimension of the {\tt factorIndexList} will be of size 4).

In this initial version the meaning of the different components in the vector is fixed. They will be interpreted as:
\begin{description}
\itemsep0em
\item[1st component] the east component.
\item[2nd component] the north component.
\end{description}

Note that because the different components are mixed, using vector regridding with a conservative regrid method will {\bf NOT} necessarily be conservative.


\subsubsection{Troubleshooting guide}

Expand Down

0 comments on commit 2fd75ed

Please sign in to comment.