SIREN
NEMO 3.6
System and Interface for oceanic RElocatable Nesting
|
SIREN is a software to set up regional configuration with NEMO.
Actually SIREN creates all the input files you need to run a NEMO regional configuration.
SIREN is composed of a set of 5 Fortran programs :
Here after we briefly describe how to use each programs, and so how to create your own regional configuration.
To create your own configuration, you first have to create a coordinates file on your domain of study.
SIREN allows you to create this coordinates file from a wider coordinates file.
The coordinates file created could simply be an extraction, or a refinment of the wide grid.
To create this new cooridnates file, you have to run :
Here after is an example of namelist for create_coord.exe.
In this example, you create a coordinates file named coord_fine.nc.
This new coordinates file is refined from an extraction of coordinates_ORCA025.nc.
Let's get describe this namelist.
First we have the namlog sub-namelist. This sub-namelist set parameters of the log file.
All the parameters of this sub-namelist have default value, so you could let it empty, as done here.
This will create a log file named create_coord.log
The namcfg sub-namelist defines where found SIREN configuration files.
The namcrs sub-namelist set parameters of the wide coordinates file, as path to find it, and NEMO periodicity of the wide grid.
The namvar sub-namelist lists variables to be used.
By default all the variables of the wider coordinates file are used to create the new coordinates file.
The interpolation methods to be used are defined in the configuration variables file (see below). So you do not need to fill this sub-namelist too.
The namnst sub-namelist defines the subdomain to be used as well as refinment factor.
you could define sub domain with coarse grid indices
or with coordinates
you can select area quite every where (excepted too close from the North pole), and use the refinment factor you want.
you can select area crossing the east-west overlap of the global ORCA grid.
you can select east-west cyclic area.
Finally the namout sub-namelist defines the output file.
Then you need a Bathymetry file.
SIREN allows you to create a Bathymetry extracted or refined from a wider Bathymetry grid.
To create this new bathymetry, you have to run :
Here after is an example of namelist for create_bathy.exe.
In this example, you create a bathymetry file named bathy_fine.nc.
This new bathymetry file is refined from an extraction of bathy_meter_ORCA025.nc.
Moreover a minimum value of 5m is imposed to the output Bathymetry.
Let's get describe this namelist.
First as previously, we have the namlog and namcfg sub-namelist (see above for more explanation).
Then the namcrs sub-namelist set parameters of the wide coordinates file.
In the same way, the namfin sub-namelist set parameters of the fine coordinates file.
The namvar sub-namelist lists variables to be used:
The namnst sub-namelist defines the subdomain refinment factor.
Of course those refinment factors have to be convenient with refinment from coarse grid cn_coord0 to fine grid cn_coord1.
Finally, this namout sub-namelist defines the output file.
The Bathymetry you build, may differ from the wider one.
To avoid issue with boundaries forcing fields, you should merge fine and coarse Bathymetry on boundaries.
SIREN allows you to do this.
To create this merged bathymetry, you have to run :
Here after is an example of namelist for merge_bathy.exe.
In this namelist, you find again the namlog, namcfg describe above.
Then the namcrs sub-namelist sets parameters of the wider grid. However this time, this is the coarse/wide grid Bathymetry wich have to be informed.
The namfin sub-namelist defines parameters of the fine grid Bathymetry.
The namnst sub-namelist defines the subdomain refinment factor.
The nambdy sub-namelist defines the subdomain boundaries.
By default SIREN tries to create boundaries for each side. Boundary exist if there is at least one sea point on the second row of each side. So you could let this namelist empty.
Finally, this namout sub-namelist defines the output file.
To run your configuration you need an inital state of the ocean.
You could start from a restart file (with all NEMO variables fields at one time step). Or you could start from "partial" information about ocean state (Temperature and Salinity for example).
SIREN allows you to create both of those initial state.
To create the initial state, you have to run:
Here after is an example of namelist for create_restart.exe.
In this example, you create an initial state split on 81 "processors", and named restart_out.nc.
The initial state is composed of temperature and salinity refined from an extraction of GLORYS fields.
Let's get describe this namelist more accurately.
As previously, we have the namlog and namcfg sub-namelists, as well as the namcrs sub-namelist to set parameters of the wide coordinates file (see above for more explanation).
Then the namfin sub-namelist set parameters of the fine grid coordinates and bathymetry.
The namzgr and namzps sub-namelists define respectively parameters for vertical grid and partial step.
By default, those parameters are defined the same way than in GLORYS (i.e. 75 vertical levels).
So you could let it empty.
the namvar sub-namelist lists variables to be used.
Here we use votemper (temperature) get from GLORYS_gridT.nc file, and vosaline (salinity) get from GLORYS_gridS.nc file.
The namnst sub-namelist defines the subdomain refinment factor, as seen previously.
Finally, this namout sub-namelist defines the output files.
Here we ask for output on 81 processors, with restart_out.nc as file "basename".
So SIREN computes the optimal layout for 81 processors available,
and split restart on output files named restart_out_num.nc, where num is the proc number.
Finally to force your configuration, you may need boundaries conditions.
NEMO read physical boundaries conditions from temperature, salinity, currents, and sea surface height.
To create the boundaries condition with SIREN, you have to run:
Here after is an example of namelist for create_boundary.exe.
In this example, you create boundaries conditions named boundary_out.nc on each side of the domain.
The boundaries contain information about temperature, salinity, currents and sea surface height refined from an extraction of GLORYS fields.
Let's get describe this namelist more accurately.
As previously, we have the namlog and namcfg sub-namelists, as well as the namcrs sub-namelist to set parameters of the wide coordinates file (see above for more explanation).
Then the namfin sub-namelist set parameters of the fine grid coordinates and bathymetry.
The namzgr and namzps sub-namelists define respectively parameters for vertical grid and partial step.
By default, those parameters are defined the same way than in GLORYS (i.e. 75 vertical levels).
So you could let it empty.
the namvar sub-namelist lists variables to be used.
Here we get votemper (temperature) from GLORYS_gridT.nc file, vosaline (salinity) from GLORYS_gridS.nc file, vozocrtx (zonal velocity) from GLORYS_gridU.nc, vomecrty (meridional velocity) from GLORYS_gridV.nc, and sossheig (sea surface height) from GLORYS_grid2D.nc.
The namnst sub-namelist defines the subdomain refinment factor.
The nambdy sub-namelist defines the subdomain boundaries.
By default SIREN tries to create boundaries for each side (Boundary is created if sea point exist on the second row of each side).
So you could let this namelist empty.
Finally, this namout sub-namelist defines the output files.
Here we ask for output with boundary_out.nc as file "basename".
So SIREN creates output files named boundary_out_west.nc, boundary_out_east.nc, boundary_out_north.nc, and boundary_out_south.nc depending if boundary exist or not.
So now you created all the input files you need for your physical configuration, you have to create the "NEMO configuration".
To do so, go to the directory NEMOGCM/CONFIG/, and run:
This creates your configuration "MY_CONFIG" in the directory NEMOGCM/CONFIG.
you could check the cpp_keys used in file cpp_MY_CONFIG.fcm, and re-run makenemo if need be.
Once makenemo has run successfully, the opa executable is available in directory NEMOGCM/CONFIG/MY_CONFIG/EXP00.
Then you just have to put all your input files in this directory, fill the namelist namelist_cfg, and run: