SIREN
NEMO 3.6
System and Interface for oceanic RElocatable Nesting
|
This program creates fine grid coordinate file. More...
Functions/Subroutines | |
program | create_coord |
integer(i4) function, dimension(2, 2, ip_npoint) | create_coord_get_offset (id_rho) |
This function compute offset over Arakawa grid points, given refinement factor. More... | |
subroutine | create_coord_interp (td_var, id_rho, id_offset, id_iext, id_jext) |
This subroutine interpolate variable, given refinment factor. More... | |
This program creates fine grid coordinate file.
All variables from the input coordinates coarse grid file, are extracted and interpolated to create fine grid coordinates files.
to create fine grid coordinates files:
create_coord.nam contains 6 namelists:
logger namelist (namlog):
config namelist (namcfg):
coarse grid namelist (namcrs):
variable namelist (namvar):
cn_varinfo : list of variable and extra information about request(s) to be used.
each elements of cn_varinfo is a string character (separated by ',').
it is composed of the variable name follow by ':', then request(s) to be used on this variable.
request could be:
ext = extrapolation method
requests must be separated by ';' .
order of requests does not matter.
informations about available method could be find in interp, extrap and filter modules.
Example: 'glamt: int=linear; ext=dist_weight', 'e1t: int=cubic/rhoi'
nesting namelist (namnst):
you could define sub domain with coarse grid indices or with coordinates.
program create_coord | ( | ) |
integer(i4) function, dimension(2,2,ip_npoint) create_coord::create_coord_get_offset | ( | integer(i4), dimension(:), intent(in) | id_rho | ) |
This function compute offset over Arakawa grid points, given refinement factor.
[in] | id_rho | array of refinement factor |
subroutine create_coord::create_coord_interp | ( | type(tvar), intent(inout) | td_var, |
integer(i4), dimension(:), intent(in) | id_rho, | ||
integer(i4), dimension(:,:), intent(in) | id_offset, | ||
integer(i4), intent(in), optional | id_iext, | ||
integer(i4), intent(in), optional | id_jext | ||
) |
This subroutine interpolate variable, given refinment factor.
Optionaly, you could specify number of points to be extrapolated in i- and j-direction.
variable mask is first computed (using _FillValue) and interpolated.
variable is then extrapolated, and interpolated.
Finally interpolated mask is applied on refined variable.
[in,out] | td_var | variable strcuture |
[in] | id_rho | array of refinement factor |
[in] | id_offset | offset between fine grid and coarse grid |
[in] | id_iext | number of points to be extrapolated in i-direction |
[in] | id_jext | number of points to be extrapolated in j-direction |