SIREN
NEMO 3.6
System and Interface for oceanic RElocatable Nesting
|
This program creates restart file. More...
Functions/Subroutines | |
program | create_restart |
type(tvar) function | create_restart_matrix (td_var, td_coord, id_nlevel, id_xghost) |
This function create variable, filled with matrix value. More... | |
subroutine | create_restart_mask (td_var, td_mask) |
This subroutine use mask to filled land point with _FillValue. More... | |
subroutine | create_restart_interp (td_var, id_rho, id_offset, id_iext, id_jext) |
This subroutine interpolate variable. More... | |
subroutine | create_restart_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_restart_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 restart file.
Variables could be extracted from fine grid file, interpolated from coarse grid file or restart file. Variables could also be manually written.
Then they are split over new layout.
to create restart file:
create_restart.nam contains 9 namelists:
logger namelist (namlog):
config namelist (namcfg):
_coarse grid namelist (namcrs):
fine grid namelist (namfin):
vertical grid namelist (namzgr):
partial step namelist (namzps):
variable namelist (namvar):
cn_varfile : list of variable, and associated file
cn_varfile is the path and filename of the file where find variable.
Examples:
to get all variable from one file:
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:
requests must be separated by ';'.
order of requests does not matter.
informations about available method could be find in interp, extrap and filter.
Example: 'votemper: int=linear; flt=hann; ext=dist_weight', 'vosaline: int=cubic'
nesting namelist (namnst):
output namelist (namout):
program create_restart | ( | ) |
subroutine create_restart::create_restart_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_restart::create_restart_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 |
subroutine create_restart::create_restart_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) |
subroutine create_restart::create_restart_mask | ( | type(tvar), intent(inout) | td_var, |
type(tvar), dimension(:), intent(in) | td_mask | ||
) |
This subroutine use mask to filled land point with _FillValue.
[in,out] | td_var | variable structure |
[in] | td_mask | mask variable structure |
type(tvar) function create_restart::create_restart_matrix | ( | type(tvar), intent(in) | td_var, |
type(tmpp), intent(in) | td_coord, | ||
integer(i4), intent(in) | id_nlevel, | ||
integer(i4), dimension(:,:), intent(in) | id_xghost | ||
) |
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 associated value of the matrix.
[in] | td_var | variable structure |
[in] | td_coord | coordinate file structure |
[in] | id_nlevel | number of vertical level |
[in] | id_xghost | ghost cell array |