Commit 05e6f56a authored by Uwe Schulzweida's avatar Uwe Schulzweida
Browse files

added Remapcon2 docu

parent f154b6ea
......@@ -448,19 +448,17 @@ Operator catalog:
Remapycon genycon Generate 1st order conservative remap weights
Remapcon remapcon First order conservative remapping
Remapcon gencon Generate 1st order conservative remap weights
Remapcon2 remapcon2 Second order conservative remapping
Remapcon2 gencon2 Generate 2nd order conservative remap weights
Remapgrid remapbil Bilinear interpolation
Remapgrid remapbic Bicubic interpolation
Remapgrid remapdis Distance-weighted average remapping
Remapgrid remapnn Nearest neighbor remapping
Remapgrid remapcon First order conservative remapping
Remapgrid remapcon2 Second order conservative remapping
Remapgrid remaplaf Largest area fraction remapping
Genweights genbil Generate bilinear interpolation weights
Genweights genbic Generate bicubic interpolation weights
Genweights gendis Generate distance-weighted average remap weights
Genweights gennn Generate nearest neighbor remap weights
Genweights gencon Generate 1st order conservative remap weights
Genweights gencon2 Generate 2nd order conservative remap weights
Genweights genlaf Generate largest area fraction remap weights
Remap remap SCRIP grid remapping
Remapeta remapeta Remap vertical hybrid level
......
......@@ -94,6 +94,7 @@ EOFs EOFs
Eofcoeff EOFs
Remapycon Interpolation
Remapcon Interpolation
Remapcon2 Interpolation
Remapgrid Interpolation
Genweights Interpolation
Remap Interpolation
......
......@@ -5,7 +5,7 @@
@Section = Interpolation
@Class = Interpolation
@Arguments = ifile ofile
@Operators = genbil genbic gendis gennn gencon gencon2 genlaf
@Operators = genbil genbic gendis gennn genlaf
@BeginDescription
Interpolation between different horizontal grids can be a very time-consuming
......@@ -69,28 +69,6 @@ Generates nearest neighbor remapping weights and writes the result to a file.
@EndOperator
@BeginOperator_gencon
@Title = Generate 1st order conservative remap weights
@Parameter = grid
@BeginDescription
Generates first order conservative remapping weights and
writes the result to a file.
@EndDescription
@EndOperator
@BeginOperator_gencon2
@Title = Generate 2nd order conservative remap weights
@Parameter = grid
@BeginDescription
Generates second order conservative remapping weights and
writes the result to a file.
@EndDescription
@EndOperator
@BeginOperator_genlaf
@Title = Generate largest area fraction remap weights
@Parameter = grid
......
@BeginModule
@NewPage
@Name = Remapcon
@Title = First order conservative remapping
@Name = Remapcon2
@Title = Second order conservative remapping
@Section = Interpolation
@Class = Interpolation
@Arguments = ifile ofile
@Operators = remapcon gencon
@Operators = remapcon2 gencon2
@BeginDescription
This module contains operators for a first order conservative remapping of fields between grids in spherical coordinates.
This module contains operators for a second order conservative remapping 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 @cite{SCRIP}.
The interpolation method is completely general and can be used for any grid on a sphere.
......@@ -17,23 +17,23 @@ The search algorithm for the conservative remapping requires that no grid cell o
@EndModule
@BeginOperator_remapcon
@Name = remapcon
@Title = First order conservative remapping
@BeginOperator_remapcon2
@Name = remapcon2
@Title = Second order conservative remapping
@Parameter = grid
@BeginDescription
Performs a first order conservative remapping on all input fields.
Performs a second order conservative remapping on all input fields.
@EndDescription
@EndOperator
@BeginOperator_gencon
@Title = Generate 1st order conservative remap weights
@Parameter = grid
@BeginOperator_gencon2
@Title = Generate 2nd order conservative remap weights
@Parameter = grid2
@BeginDescription
Generates first order conservative remapping weights for the first input field and
Generates second order conservative 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
......@@ -62,14 +62,13 @@ of this variable is 0.0.
@BeginNote
The SCRIP conservative remapping method doesn't work correctly for some grid combinations.
Please use @mod{remapycon} or @mod{genycon} in case of problems.
@EndNote
@BeginExample
Say @file{ifile} contains fields on a quadrilateral curvilinear grid.
To remap all fields conservative to a Gaussian N32 grid, type:
To remap all fields conservative (2nd order) to a Gaussian N32 grid, type:
@BeginVerbatim
cdo remapcon,n32 ifile ofile
cdo remapcon2,n32 ifile ofile
@EndVerbatim
@EndExample
......@@ -5,7 +5,7 @@
@Section = Interpolation
@Class = Interpolation
@Arguments = ifile ofile
@Operators = remapbil remapbic remapdis remapnn remapcon remapcon2 remaplaf
@Operators = remapbil remapbic remapdis remapnn remaplaf
@BeginDescription
This module contains operators to remap all input fields to a new horizontal grid.
......@@ -64,28 +64,6 @@ Performs a nearest neighbor remapping on all input fields.
@EndOperator
@BeginOperator_remapcon
@Name = remapcon
@Title = First order conservative remapping
@Parameter = grid
@BeginDescription
Performs a first order conservative remapping on all input fields.
@EndDescription
@EndOperator
@BeginOperator_remapcon2
@Name = remapcon2
@Title = Second order conservative remapping
@Parameter = grid
@BeginDescription
Performs a second order conservative remapping on all input fields.
@EndDescription
@EndOperator
@BeginOperator_remaplaf
@Name = remaplaf
@Title = Largest area fraction remapping
......
......@@ -375,8 +375,9 @@ void *Maggraph(void *argument);
#define RemapOperators {"remap"}
#define RemapyconOperators {"remapycon", "genycon"}
#define RemapconOperators {"remapcon", "gencon"}
#define RemapgridOperators {"remapbil", "remapbic", "remapdis", "remapnn", "remaplaf", "remapcon2", "remapsum"}
#define GenweightsOperators {"genbil", "genbic", "gendis", "gennn", "genlaf", "gencon2"}
#define Remapcon2Operators {"remapcon2", "gencon2"}
#define RemapgridOperators {"remapbil", "remapbic", "remapdis", "remapnn", "remaplaf", "remapsum"}
#define GenweightsOperators {"genbil", "genbic", "gendis", "gennn", "genlaf"}
#define RemapetaOperators {"remapeta", "remapeta_s", "remapeta_z"}
#define ReplaceOperators {"replace"}
#define ReplacevaluesOperators {"setvals", "setrtoc", "setrtoc2"}
......@@ -648,6 +649,7 @@ static modules_t Modules[] =
{ Remap, RemapHelp, RemapOperators, 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, RemapgridHelp, RemapgridOperators, CDI_REAL, 1, 1 },
{ Remap, GenweightsHelp, GenweightsOperators, CDI_REAL, 1, 1 },
{ Remapeta, RemapetaHelp, RemapetaOperators, CDI_REAL, 1, 1 },
......
......@@ -3470,10 +3470,52 @@ static const char *RemapconHelp[] = {
NULL
};
static const char *Remapcon2Help[] = {
"NAME",
" remapcon2, gencon2 - Second order conservative remapping",
"",
"SYNOPSIS",
" remapcon2,grid ifile ofile",
" gencon2,grid2 ifile ofile",
"",
"DESCRIPTION",
" This module contains operators for a second order conservative remapping 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.",
" The interpolation method is completely general and can be used for any grid on a sphere.",
" The search algorithm for the conservative remapping requires that no grid cell occurs more than once. ",
"",
"OPERATORS",
" remapcon2 Second order conservative remapping",
" Performs a second order conservative remapping on all input fields.",
" gencon2 Generate 2nd order conservative remap weights",
" Generates second order conservative 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_AREA_MIN",
" This variable is used to set the minimum destination area fraction. The default",
" of this variable is 0.0.",
"",
"NOTE",
" The SCRIP conservative remapping method doesn't work correctly for some grid combinations.",
NULL
};
static const char *RemapgridHelp[] = {
"NAME",
" remapbil, remapbic, remapdis, remapnn, remapcon, remapcon2, remaplaf - ",
" SCRIP grid interpolation",
" remapbil, remapbic, remapdis, remapnn, remaplaf - SCRIP grid interpolation",
"",
"SYNOPSIS",
" <operator>,grid ifile ofile",
......@@ -3486,23 +3528,19 @@ static const char *RemapgridHelp[] = {
" The search algorithm for the conservative remapping requires that no grid cell occurs more than once. ",
"",
"OPERATORS",
" remapbil Bilinear interpolation",
" Performs a bilinear interpolation on all input fields.",
" This interpolation method only works on quadrilateral curvilinear grids.",
" remapbic Bicubic interpolation",
" Performs a bicubic interpolation on all input fields.",
" This interpolation method only works on quadrilateral curvilinear grids.",
" remapdis Distance-weighted average remapping",
" Performs a distance-weighted average remapping of the four nearest neighbor ",
" values on all input fields.",
" remapnn Nearest neighbor remapping",
" Performs a nearest neighbor remapping on all input fields.",
" remapcon First order conservative remapping",
" Performs a first order conservative remapping on all input fields.",
" remapcon2 Second order conservative remapping",
" Performs a second order conservative remapping on all input fields.",
" remaplaf Largest area fraction remapping",
" Performs a largest area fraction remapping on all input fields.",
" remapbil Bilinear interpolation",
" Performs a bilinear interpolation on all input fields.",
" This interpolation method only works on quadrilateral curvilinear grids.",
" remapbic Bicubic interpolation",
" Performs a bicubic interpolation on all input fields.",
" This interpolation method only works on quadrilateral curvilinear grids.",
" remapdis Distance-weighted average remapping",
" Performs a distance-weighted average remapping of the four nearest neighbor ",
" values on all input fields.",
" 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.",
"",
"PARAMETER",
" grid STRING Target grid description file or name",
......@@ -3533,7 +3571,7 @@ static const char *RemapgridHelp[] = {
static const char *GenweightsHelp[] = {
"NAME",
" genbil, genbic, gendis, gennn, gencon, gencon2, genlaf - ",
" genbil, genbic, gendis, gennn, genlaf - ",
" Generate SCRIP grid interpolation weights",
"",
"SYNOPSIS",
......@@ -3552,26 +3590,20 @@ static const char *GenweightsHelp[] = {
" Each operator is using a different interpolation method.",
"",
"OPERATORS",
" genbil Generate bilinear interpolation weights",
" Generates bilinear interpolation weights and writes the result to a file. ",
" This interpolation method only works on quadrilateral curvilinear grids.",
" genbic Generate bicubic interpolation weights",
" Generates bicubic interpolation weights and writes the result to a file.",
" This interpolation method only works on quadrilateral curvilinear grids.",
" gendis Generate distance-weighted average remap weights",
" Generates distance-weighted average remapping weights of the four",
" nearest neighbor values and writes the result to a file.",
" gennn Generate nearest neighbor remap weights",
" Generates nearest neighbor remapping weights and writes the result to a file.",
" gencon Generate 1st order conservative remap weights",
" Generates first order conservative remapping weights and",
" writes the result to a file.",
" gencon2 Generate 2nd order conservative remap weights",
" Generates second order conservative 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.",
" genbil Generate bilinear interpolation weights",
" Generates bilinear interpolation weights and writes the result to a file. ",
" This interpolation method only works on quadrilateral curvilinear grids.",
" genbic Generate bicubic interpolation weights",
" Generates bicubic interpolation weights and writes the result to a file.",
" This interpolation method only works on quadrilateral curvilinear grids.",
" gendis Generate distance-weighted average remap weights",
" Generates distance-weighted average remapping weights of the four",
" nearest neighbor values and writes the result to a file.",
" 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",
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment