SIREN
NEMO 3.6
System and Interface for oceanic RElocatable Nesting
|
This program creates fine grid bathymetry file. More...
Functions/Subroutines | |
program | create_bathy |
type(tvar) function | create_bathy_matrix (td_var, td_coord) |
This function create variable, filled with matrix value. More... | |
type(tvar) function | create_bathy_extract (td_var, td_mpp, td_coord) |
This function extract variable from file over coordinate domain and return variable structure. More... | |
type(tvar) function | create_bathy_get_var (td_var, td_mpp, id_imin, id_jmin, id_imax, id_jmax, id_offset, id_rho) |
This function get coarse grid variable, interpolate variable, and return variable structure over fine grid. More... | |
subroutine | create_bathy_interp (td_var, id_rho, id_offset, id_iext, id_jext) |
This subroutine interpolate variable. More... | |
subroutine | create_bathy_check_depth (td_mpp, td_depth) |
This subroutine get depth variable value in an open mpp structure and check if agree with already input depth variable. More... | |
subroutine | create_bathy_check_time (td_mpp, td_time) |
This subroutine get date and time in an open mpp structure and check if agree with date and time already read. More... | |
This program creates fine grid bathymetry file.
Bathymetry could be extracted from fine grid Bathymetry file, interpolated from coarse grid Bathymetry file, or manually written.
to create fine grid bathymetry file:
create_bathy.nam contains 7 namelists:
logger namelist (namlog):
config namelist (namcfg):
coarse grid namelist (namcrs):
fine grid namelist (namfin):
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:
unf = unit scale factor (linked to new units)
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: 'Bathymetry: flt=2*hamming(2,3); min=0'
nesting namelist (namnst):
output namelist (namout):
program create_bathy | ( | ) |
subroutine create_bathy::create_bathy_check_depth | ( | type(tmpp), intent(in) | td_mpp, |
type(tvar), intent(inout) | td_depth | ||
) |
This subroutine get depth variable value in an open mpp structure and check if agree with already input depth variable.
[in] | td_mpp | mpp structure |
[in,out] | td_depth | depth variable structure |
subroutine create_bathy::create_bathy_check_time | ( | type(tmpp), intent(in) | td_mpp, |
type(tvar), intent(inout) | td_time | ||
) |
This subroutine get date and time in an open mpp structure and check if agree with date and time already read.
[in] | td_mpp | mpp structure |
[in,out] | td_time | time variable structure |
type(tvar) function create_bathy::create_bathy_extract | ( | type(tvar), intent(in) | td_var, |
type(tmpp), intent(in) | td_mpp, | ||
type(tmpp), intent(in) | td_coord | ||
) |
This function extract variable from file over coordinate domain and return variable structure.
[in] | td_var | variable structure |
[in] | td_mpp | mpp file structure |
[in] | td_coord | coordinate file structure |
type(tvar) function create_bathy::create_bathy_get_var | ( | type(tvar), intent(in) | td_var, |
type(tmpp), intent(in) | td_mpp, | ||
integer(i4), intent(in) | id_imin, | ||
integer(i4), intent(in) | id_jmin, | ||
integer(i4), intent(in) | id_imax, | ||
integer(i4), intent(in) | id_jmax, | ||
integer(i4), dimension(:,:), intent(in) | id_offset, | ||
integer(i4), dimension(:), intent(in) | id_rho | ||
) |
This function get coarse grid variable, interpolate variable, and return variable structure over fine grid.
[in] | td_var | variable structure |
[in] | td_mpp | mpp file structure |
[in] | id_imin | i-direction lower left corner indice |
[in] | id_imax | i-direction upper right corner indice |
[in] | id_jmin | j-direction lower left corner indice |
[in] | id_jmax | j-direction upper right corner indice |
[in] | id_offset | offset between fine grid and coarse grid |
[in] | id_rho | array of refinement factor |
subroutine create_bathy::create_bathy_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.
[in,out] | td_var | variable structure |
[in] | id_rho | array of refinment factor |
[in] | id_offset | array of offset between fine and coarse grid |
[in] | id_iext | i-direction size of extra bands (default=im_minext) |
[in] | id_jext | j-direction size of extra bands (default=im_minext) |
type(tvar) function create_bathy::create_bathy_matrix | ( | type(tvar), intent(in) | td_var, |
type(tmpp), intent(in) | td_coord | ||
) |
This function create variable, filled with matrix value.
A variable is create with the same name that the input variable, and with dimension of the coordinate file.
Then the variable array of value is split into equal subdomain. Each subdomain is filled with the corresponding value of the matrix.
[in] | td_var | variable structure |
[in] | td_coord | coordinate file structure |