Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
mpim-sw
cdo
Commits
5369e7a0
Commit
5369e7a0
authored
Sep 24, 2015
by
Uwe Schulzweida
Browse files
added Remaplaf docu
parent
8bc13915
Changes
8
Hide whitespace changes
Inline
Side-by-side
.gitattributes
View file @
5369e7a0
...
...
@@ -202,6 +202,7 @@ doc/tex/mod/Remapcon2 -text
doc/tex/mod/Remapdis -text
doc/tex/mod/Remapeta -text
doc/tex/mod/Remapgrid -text
doc/tex/mod/Remaplaf -text
doc/tex/mod/Remapnn -text
doc/tex/mod/Remapycon -text
doc/tex/mod/Replace -text
...
...
OPERATORS
View file @
5369e7a0
...
...
@@ -448,6 +448,8 @@ Operator catalog:
Remapbil genbil Generate bilinear interpolation weights
Remapbic remapbic Bicubic interpolation
Remapbic genbic Generate bicubic interpolation weights
Remapnn remapnn Nearest neighbor remapping
Remapnn gennn Generate nearest neighbor remap weights
Remapdis remapdis Distance-weighted average remapping
Remapdis gendis Generate distance-weighted average remap weights
Remapycon remapycon First order conservative remapping
...
...
@@ -456,10 +458,8 @@ Operator catalog:
Remapcon gencon Generate 1st order conservative remap weights
Remapcon2 remapcon2 Second order conservative remapping
Remapcon2 gencon2 Generate 2nd order conservative remap weights
Remapgrid remapnn Nearest neighbor remapping
Remapgrid remaplaf Largest area fraction remapping
Genweights gennn Generate nearest neighbor remap weights
Genweights genlaf Generate largest area fraction remap weights
Remaplaf remaplaf Largest area fraction remapping
Remaplaf genlaf Generate largest area fraction remap remap weights
Remap remap SCRIP grid remapping
Remapeta remapeta Remap vertical hybrid level
Vertint ml2pl Model to pressure level interpolation
...
...
doc/tex/Modules
View file @
5369e7a0
...
...
@@ -99,8 +99,7 @@ Remapdis Interpolation
Remapycon Interpolation
Remapcon Interpolation
Remapcon2 Interpolation
Remapgrid Interpolation
Genweights Interpolation
Remaplaf Interpolation
Remap Interpolation
Remapeta Interpolation
Vertint Interpolation
...
...
doc/tex/mod/Genweights
View file @
5369e7a0
@BeginModule
@NewPage
@Name = Genweights
@Title = Generate SCRIP grid interpolation weights
@Section = Interpolation
@Class = Interpolation
@Arguments = ifile ofile
@Operators = genlaf
@BeginDescription
Interpolation between different horizontal grids can be a very time-consuming
process. Especially if the data are on an unstructured or a large grid.
In this case the @ref{SCRIP} interpolation process can be split
into two parts. Firstly the generation of the interpolation weights, which is
the most time-consuming part. These interpolation weights can be reused for
every remapping process with the operator @mod{remap}. This method should be
used only if all input fields are on the same grid and a possibly
mask (missing values) does not change. This module contains operators to
generate SCRIP interpolation weights of the first input field.
Each operator is using a different interpolation method.
@EndDescription
@EndModule
@BeginOperator_genlaf
@Title = Generate largest area fraction remap weights
@Parameter = grid
@BeginDescription
Generates largest area fraction remapping weights and
writes the result to a file.
@EndDescription
@EndOperator
@BeginParameter
@Item = grid
STRING Target grid description file or name
@EndParameter
@BeginEnvironment
@Item = CDO_REMAP_NORM
This variable is used to choose the normalization of the conservative interpolation.
By default @env{CDO_REMAP_NORM} is set to 'fracarea'. 'fracarea' uses the sum of the
non-masked source cell intersected areas to normalize each target cell field value.
This results in a reasonable flux value but the flux is not locally conserved.
The option 'destarea' uses the total target cell area to normalize each target cell
field value. Local flux conservation is ensured, but unreasonable flux values may result.
@Item = REMAP_EXTRAPOLATE
This variable is used to switch the extrapolation feature 'on' or 'off'.
By default the extrapolation is enabled for remapdis, remapnn
and for circular grids.
@Item = REMAP_AREA_MIN
This variable is used to set the minimum destination area fraction. The default
of this variable is 0.0.
@Item = CDO_REMAP_RADIUS
Remap search radius in degree, default 180 degree.
@EndEnvironment
@BeginNote
For this module the author has converted the original Fortran 90 SCRIP software to
ANSI C99. If there are any problems send a bug report to CDO and not to SCRIP!
@EndNote
@BeginExample
Say @file{ifile} contains fields on a quadrilateral curvilinear grid.
To remap all fields bilinear to a Gaussian N32 grid use:
@BeginVerbatim
cdo genbil,n32 ifile remapweights.nc
cdo remap,n32,remapweights.nc ifile ofile
@EndVerbatim
@EndExample
doc/tex/mod/Remapgrid
View file @
5369e7a0
@BeginModule
@NewPage
@Name = Remapgrid
@Title = SCRIP grid interpolation
@Section = Interpolation
@Class = Interpolation
@Arguments = ifile ofile
@Operators = remaplaf
@BeginDescription
This module contains operators to remap all input fields to a new horizontal grid.
Each operator uses a different remapping method. The interpolation is based
on an adapted SCRIP library version. For a detailed description of the remapping
methods see @cite{SCRIP}.
The search algorithm for the conservative remapping requires that no grid cell occurs more than once.
@EndDescription
@EndModule
@BeginOperator_remaplaf
@Name = remaplaf
@Title = Largest area fraction remapping
@Parameter = grid
@BeginDescription
Performs a largest area fraction remapping on all input fields.
@EndDescription
@EndOperator
@BeginParameter
@Item = grid
STRING Target grid description file or name
@EndParameter
@BeginEnvironment
@Item = CDO_REMAP_NORM
This variable is used to choose the normalization of the conservative interpolation.
By default @env{CDO_REMAP_NORM} is set to 'fracarea'. 'fracarea' uses the sum of the
non-masked source cell intersected areas to normalize each target cell field value.
This results in a reasonable flux value but the flux is not locally conserved.
The option 'destarea' uses the total target cell area to normalize each target cell
field value. Local flux conservation is ensured, but unreasonable flux values may result.
@Item = REMAP_EXTRAPOLATE
This variable is used to switch the extrapolation feature 'on' or 'off'.
By default the extrapolation is enabled for remapdis, remapnn and for circular grids.
@Item = REMAP_AREA_MIN
This variable is used to set the minimum destination area fraction. The default
of this variable is 0.0.
@Item = CDO_REMAP_RADIUS
Remap search radius in degree, default 180 degree.
@EndEnvironment
@BeginNote
For this module the author has converted the original Fortran 90 SCRIP
software to ANSI C99. If there are any problems send a bug report to CDO and
not to SCRIP!
@EndNote
@BeginExample
Say @file{ifile} contains fields on a quadrilateral curvilinear grid.
To remap all fields bilinear to a Gaussian N32 grid, type:
@BeginVerbatim
cdo remapbil,n32 ifile ofile
@EndVerbatim
@EndExample
doc/tex/mod/Remaplaf
0 → 100644
View file @
5369e7a0
@BeginModule
@NewPage
@Name = Remaplaf
@Title = Largest area fraction remapping
@Section = Interpolation
@Class = Interpolation
@Arguments = ifile ofile
@Operators = remaplaf genlaf
@BeginDescription
This module contains operators for a largest area fraction remapping of fields between grids in spherical coordinates.
The operators in this module uses code from the YAC software package to compute the largest area fraction.
For a detailed description of the interpolation method see @cite{YAC}.
The interpolation method is completely general and can be used for any grid on a sphere.
The search algorithm for this remapping method requires that no grid cell occurs more than once.
@EndDescription
@EndModule
@BeginOperator_remaplaf
@Name = remaplaf
@Title = Largest area fraction remapping
@Parameter = grid
@BeginDescription
Performs a largest area fraction remapping on all input fields.
@EndDescription
@EndOperator
@BeginOperator_genlaf
@Name = genlaf
@Title = Generate largest area fraction remap remap weights
@Parameter = grid
@BeginDescription
Generates largest area fraction remap remapping weights for the first input field and
writes the result to a file. The format of this file is netCDF following the SCRIP convention.
Use the operator @mod{remap} to apply this remapping weights to a data file with the same source grid.
@EndDescription
@EndOperator
@BeginParameter
@Item = grid
STRING Target grid description file or name
@EndParameter
@BeginEnvironment
@Item = REMAP_AREA_MIN
This variable is used to set the minimum destination area fraction. The default
of this variable is 0.0.
@EndEnvironment
src/modules.c
View file @
5369e7a0
...
...
@@ -375,12 +375,13 @@ void *Maggraph(void *argument);
#define RemapOperators {"remap"}
#define RemapbilOperators {"remapbil", "genbil"}
#define RemapbicOperators {"remapbic", "genbic"}
#define RemapnnOperators {"remapnn", "gennn"}
#define RemapdisOperators {"remapdis", "gendis"}
#define RemapyconOperators {"remapycon", "genycon"}
#define RemapconOperators {"remapcon", "gencon"}
#define Remapcon2Operators {"remapcon2", "gencon2"}
#define
Remap
grid
Operators {"remap
nn", "remaplaf", "remapsum
"}
#define
Genweights
Operators {"
gennn", "genlaf
"}
#define Remap
laf
Operators
{"remap
laf", "genlaf
"}
#define
Remapgrid
Operators
{"
remapsum
"}
#define RemapetaOperators {"remapeta", "remapeta_s", "remapeta_z"}
#define ReplaceOperators {"replace"}
#define ReplacevaluesOperators {"setvals", "setrtoc", "setrtoc2"}
...
...
@@ -652,12 +653,13 @@ static modules_t Modules[] =
{
Remap
,
RemapHelp
,
RemapOperators
,
CDI_REAL
,
1
,
1
},
{
Remap
,
RemapbilHelp
,
RemapbilOperators
,
CDI_REAL
,
1
,
1
},
{
Remap
,
RemapbicHelp
,
RemapbicOperators
,
CDI_REAL
,
1
,
1
},
{
Remap
,
RemapnnHelp
,
RemapnnOperators
,
CDI_REAL
,
1
,
1
},
{
Remap
,
RemapdisHelp
,
RemapdisOperators
,
CDI_REAL
,
1
,
1
},
{
Remap
,
RemapyconHelp
,
RemapyconOperators
,
CDI_REAL
,
1
,
1
},
{
Remap
,
RemapconHelp
,
RemapconOperators
,
CDI_REAL
,
1
,
1
},
{
Remap
,
Remapcon2Help
,
Remapcon2Operators
,
CDI_REAL
,
1
,
1
},
{
Remap
,
Remap
grid
Help
,
Remap
grid
Operators
,
CDI_REAL
,
1
,
1
},
{
Remap
,
GenweightsHelp
,
Genweights
Operators
,
CDI_REAL
,
1
,
1
},
{
Remap
,
Remap
laf
Help
,
Remap
laf
Operators
,
CDI_REAL
,
1
,
1
},
{
Remap
,
NULL
,
Remapgrid
Operators
,
CDI_REAL
,
1
,
1
},
{
Remapeta
,
RemapetaHelp
,
RemapetaOperators
,
CDI_REAL
,
1
,
1
},
{
Replace
,
ReplaceHelp
,
ReplaceOperators
,
CDI_REAL
,
2
,
1
},
{
Replacevalues
,
ReplacevaluesHelp
,
ReplacevaluesOperators
,
CDI_REAL
,
1
,
1
},
...
...
src/operator_help.h
View file @
5369e7a0
...
...
@@ -3450,6 +3450,37 @@ static const char *RemapbicHelp[] = {
NULL
};
static
const
char
*
RemapnnHelp
[]
=
{
"NAME"
,
" remapnn, gennn - Nearest neighbor remapping"
,
""
,
"SYNOPSIS"
,
" <operator>,grid ifile ofile"
,
""
,
"DESCRIPTION"
,
" This module contains operators for a nearest neighbor remapping of fields between grids"
,
" in spherical coordinates."
,
""
,
"OPERATORS"
,
" remapnn Nearest neighbor remapping"
,
" Performs a nearest neighbor remapping on all input fields."
,
" gennn Generate nearest neighbor remap weights"
,
" Generates nearest neighbor remapping weights for the first input field and writes the result to a file."
,
" The format of this file is netCDF following the SCRIP convention."
,
" Use the operator remap to apply this remapping weights to a data file with the same source grid."
,
""
,
"PARAMETER"
,
" grid STRING Target grid description file or name"
,
""
,
"ENVIRONMENT"
,
" REMAP_EXTRAPOLATE"
,
" This variable is used to switch the extrapolation feature 'on' or 'off'."
,
" By default the extrapolation is enabled for this remapping method."
,
" CDO_REMAP_RADIUS "
,
" Remap search radius in degree, default 180 degree."
,
NULL
};
static
const
char
*
RemapdisHelp
[]
=
{
"NAME"
,
" remapdis, gendis - Distance-weighted average remapping"
,
...
...
@@ -3462,7 +3493,6 @@ static const char *RemapdisHelp[] = {
" nearest neighbor values of fields between grids in spherical coordinates."
,
" The interpolation is based on an adapted SCRIP library version. "
,
" For a detailed description of the interpolation method see SCRIP."
,
" This interpolation method only works on quadrilateral curvilinear source grids."
,
""
,
"OPERATORS"
,
" remapdis Distance-weighted average remapping"
,
...
...
@@ -3611,103 +3641,35 @@ static const char *Remapcon2Help[] = {
NULL
};
static
const
char
*
Remap
grid
Help
[]
=
{
static
const
char
*
Remap
laf
Help
[]
=
{
"NAME"
,
" remap
nn, remaplaf - SCRIP grid interpolation
"
,
" remap
laf, genlaf - Largest area fraction remapping
"
,
""
,
"SYNOPSIS"
,
" <operator>,grid ifile ofile"
,
""
,
"DESCRIPTION"
,
" This module contains operators
to remap all input fields to a new horizontal grid
."
,
"
Each
operator
uses a different remapping method. The interpolation is based
"
,
"
on an adapted SCRIP library version.
For a detailed description of the
remapping
"
,
"
methods see SCRIP
."
,
" The search algorithm for th
e conservative
remapping requires that no grid cell occurs more than once. "
,
" This module contains operators
for a largest area fraction remapping of fields between grids in spherical coordinates
."
,
"
The
operator
s in this module uses code from the YAC software package to compute the largest area fraction.
"
,
" For a detailed description of the
interpolation method see YAC.
"
,
"
The interpolation method is completely general and can be used for any grid on a sphere
."
,
" The search algorithm for th
is
remapping
method
requires that no grid cell occurs more than once. "
,
""
,
"OPERATORS"
,
" remapnn Nearest neighbor remapping"
,
" Performs a nearest neighbor remapping on all input fields."
,
" remaplaf Largest area fraction remapping"
,
" Performs a largest area fraction remapping on all input fields."
,
" genlaf Generate largest area fraction remap remap weights"
,
" Generates largest area fraction remap remapping weights for the first input field and"
,
" writes the result to a file. The format of this file is netCDF following the SCRIP convention."
,
" Use the operator remap to apply this remapping weights to a data file with the same source grid."
,
""
,
"PARAMETER"
,
" grid STRING Target grid description file or name"
,
""
,
"ENVIRONMENT"
,
" CDO_REMAP_NORM "
,
" This variable is used to choose the normalization of the conservative interpolation. "
,
" By default CDO_REMAP_NORM is set to 'fracarea'. 'fracarea' uses the sum of the"
,
" non-masked source cell intersected areas to normalize each target cell field value."
,
" This results in a reasonable flux value but the flux is not locally conserved."
,
" The option 'destarea' uses the total target cell area to normalize each target cell"
,
" field value. Local flux conservation is ensured, but unreasonable flux values may result."
,
" REMAP_EXTRAPOLATE"
,
" This variable is used to switch the extrapolation feature 'on' or 'off'."
,
" By default the extrapolation is enabled for remapdis, remapnn and for circular grids."
,
" REMAP_AREA_MIN "
,
" This variable is used to set the minimum destination area fraction. The default"
,
" of this variable is 0.0."
,
" CDO_REMAP_RADIUS "
,
" Remap search radius in degree, default 180 degree."
,
""
,
"NOTE"
,
" For this module the author has converted the original Fortran 90 SCRIP "
,
" software to ANSI C99. If there are any problems send a bug report to CDO and"
,
" not to SCRIP!"
,
NULL
};
static
const
char
*
GenweightsHelp
[]
=
{
"NAME"
,
" gennn, genlaf - Generate SCRIP grid interpolation weights"
,
""
,
"SYNOPSIS"
,
" <operator>,grid ifile ofile"
,
""
,
"DESCRIPTION"
,
" Interpolation between different horizontal grids can be a very time-consuming "
,
" process. Especially if the data are on an unstructured or a large grid. "
,
" In this case the SCRIP interpolation process can be split "
,
" into two parts. Firstly the generation of the interpolation weights, which is "
,
" the most time-consuming part. These interpolation weights can be reused for "
,
" every remapping process with the operator remap. This method should be "
,
" used only if all input fields are on the same grid and a possibly"
,
" mask (missing values) does not change. This module contains operators to "
,
" generate SCRIP interpolation weights of the first input field."
,
" Each operator is using a different interpolation method."
,
""
,
"OPERATORS"
,
" gennn Generate nearest neighbor remap weights"
,
" Generates nearest neighbor remapping weights and writes the result to a file."
,
" genlaf Generate largest area fraction remap weights"
,
" Generates largest area fraction remapping weights and"
,
" writes the result to a file."
,
""
,
"PARAMETER"
,
" grid STRING Target grid description file or name"
,
""
,
"ENVIRONMENT"
,
" CDO_REMAP_NORM "
,
" This variable is used to choose the normalization of the conservative interpolation. "
,
" By default CDO_REMAP_NORM is set to 'fracarea'. 'fracarea' uses the sum of the"
,
" non-masked source cell intersected areas to normalize each target cell field value."
,
" This results in a reasonable flux value but the flux is not locally conserved."
,
" The option 'destarea' uses the total target cell area to normalize each target cell"
,
" field value. Local flux conservation is ensured, but unreasonable flux values may result."
,
" REMAP_EXTRAPOLATE"
,
" This variable is used to switch the extrapolation feature 'on' or 'off'."
,
" By default the extrapolation is enabled for remapdis, remapnn"
,
" and for circular grids."
,
" REMAP_AREA_MIN "
,
" REMAP_AREA_MIN"
,
" This variable is used to set the minimum destination area fraction. The default"
,
" of this variable is 0.0."
,
" CDO_REMAP_RADIUS "
,
" Remap search radius in degree, default 180 degree."
,
""
,
"NOTE"
,
" For this module the author has converted the original Fortran 90 SCRIP software to "
,
" ANSI C99. If there are any problems send a bug report to CDO and not to SCRIP!"
,
NULL
};
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment