source: utils/tools/SIREN/src/docsrc/2_quickstart.md @ 12080

Last change on this file since 12080 was 12080, checked in by jpaul, 10 months ago

update nemo trunk

File size: 26.7 KB
Line 
1# How To Use (Quick Start)
2
3@tableofcontents
4
5SIREN is a software to set up regional configuration with
6 [NEMO](http://www.nemo-ocean.eu).<br/>
7Actually SIREN creates all the input files you need to run a NEMO regional configuration.<br/>
8 
9SIREN is composed of a set of Fortran programs :
10<ul>
11 <li>create_coord.f90 to create regional grid coordinates.</li>
12 <li>create_bathy.f90 to create regional grid bathymetry.</li>
13 <li>merge_bathy.f90 to merge regional grid bathymetry with wider grid bathymetry
14 at boundaries.
15 @note the goal of this step is to avoid break in Bathymetry.
16 This break may cause inconsistency between forcing fields  at boundary and regional fields.
17 </li>
18 <li>create_meshmask.f90 to create meshmask or domain_cfg file(s) which contain(s) all the ocean domain informations.</li>
19 <li>create_layout.f90 to create/compute the domain layout of your configuration.</li>
20 <li>create_restart.f90 to create initial state file from coarse grid restart
21 or standard outputs.
22 @note this program could also be used to refined other input fields from a wider
23 configuations (as runoff, chlorophyll etc...)
24 </li>
25 <li>create_boundary.F90 to create boundaries conditions from wider configurations
26 output fields.
27 </li>
28</ul>
29
30@warning SIREN can not:
31<ul>
32<li>create global configuration.</li>
33<li>create configuarion around or close to North pole.</li>
34<li>change number of vertical level.</li>
35</ul>
36
37Here after we briefly describe how to use each programs,
38and so how to create your own regional configuration.
39@note As demonstrator for a first start a set of GLORYS files (global reanalysis on *ORCA025* grid), as well as examples of namelists are available [here](https://cloud.mercator-ocean.fr/public.php?service=files&t=acf44730538cdda0da548ffc5f99fb55).
40
41<!-- ######################################################################  -->
42# Create coordinates file # {#coord}
43
44To create your own configuration, you first have to create a coordinates file on your domain of study.<br/>
45SIREN allows you to create this coordinates file from a wider coordinates file.<br/>
46The coordinates file created could simply be an extraction, or a refinment of
47the wide grid.<br/>
48
49To create this new cooridnates file, you have to run :
50~~~~~~~~~~~~~~~~~~
51./SIREN/create_coord.exe create_coord.nam
52~~~~~~~~~~~~~~~~~~
53
54Here after is an example of namelist for *create_coord.exe*.<br/>
55In this example, you create a coordinates file named *coord_fine.nc*.<br/>
56This new coordinates file is refined from an extraction of *coordinates_ORCA025.nc*.
57~~~~~~~~~~~
58&namlog
59/
60
61&namcfg
62   cn_varcfg = "PATH/NEMOGCM/TOOLS/SIREN/cfg/variable.cfg"
63   cn_dimcfg = "PATH/NEMOGCM/TOOLS/SIREN/cfg/dimension.cfg"
64   cn_dumcfg = "PATH/NEMOGCM/TOOLS/SIREN/cfg/dummy.cfg"
65/
66
67&namsrc
68   cn_coord0 = "PATH/coordinates_ORCA025.nc"
69   in_perio0 = 4
70/
71
72&namvar
73/
74
75&namnst
76   in_imin0 = 1070
77   in_imax0 = 1072
78   in_jmin0 = 607
79   in_jmax0 = 609
80
81   in_rhoi = 2
82   in_rhoj = 3
83/
84
85&namout
86   cn_fileout = "PATH/coord_fine.nc"
87/
88~~~~~~~~~~~
89
90@note you could define sub domain with coarse grid indices or with coordinates.
91
92Let's get describe this namelist.<br/>
93First we have the **namlog** sub-namelist. This sub-namelist set parameters of the log
94file.<br/>
95All the parameters of this sub-namelist have default value, so you could let it
96empty, as done here.<br/> This will create a log file named *create_coord.log*
97
98## namcfg
99The **namcfg** sub-namelist defines where found SIREN configuration files.<br/>
100- The variable configuration file defines standard name, default interpolation method,
101axis,... to be used for some known variables.<br/>
102Obviously, you could add other variables to those already list, in this file.
103- The dimension configuration file defines dimensions allowed.
104- The dummy configuration file defines useless dimension or variable. these dimension(s) or variable(s) will not be processed.
105
106@note You could find the generic version of those configuration files in the directory *SIREN/cfg*.
107
108## namsrc
109The **namsrc** sub-namelist set parameters of the coarse/source
110coordinates file name, path to find it, and the NEMO periodicity of the grid.<br/>
111
112@note the NEMO periodicity could be choose between 0 to 6:
113<dl>
114<dt>in_perio=0</dt>
115<dd>standard regional model</dd>
116<dt>in_perio=1</dt>
117<dd>east-west cyclic model</dd>
118<dt>in_perio=2</dt>
119<dd>model with symmetric boundary condition across the equator</dd>
120<dt>in_perio=3</dt>
121<dd>regional model with North fold boundary and T-point pivot</dd>
122<dt>in_perio=4</dt>
123<dd>global model with a T-point pivot.<br/>
124example: ORCA2, ORCA025, ORCA12</dd>
125<dt>in_perio=5</dt>
126<dd>regional model with North fold boundary and F-point pivot</dd>
127<dt>in_perio=6</dt>
128<dd>global model with a F-point pivot<br/>
129example: ORCA05</dd>
130</dd>
131</dl>
132@sa For more information see @ref md_src_docsrc_6_perio
133
134## namvar
135The **namvar** sub-namelist lists variables to be used.<br/>
136By default all the variables of the coarse/source coordinates file are used to create
137the new coordinates file.<br/>
138The interpolation methods to be used are defined in the configuration variables file (see
139above). So you do not need to fill this sub-namelist too.
140
141## namnst
142The **namnst** sub-namelist defines the subdomain to be used as well as refinment factor.<br/>
143
144<ul>
145<li> you could define sub domain with coarse grid indices</li>
146
147~~~~~~~~~~~
148&namnst
149   in_imin0 = 1070
150   in_imax0 = 1072
151   in_jmin0 = 607
152   in_jmax0 = 609
153/
154~~~~~~~~~~~
155
156<li>or with coordinates</li>
157
158~~~~~~~~~~~
159&namnst
160   rn_lonmin0 = -97.9
161   rn_lonmax0 = -62.3
162   rn_latmin0 =   7.7
163   rn_latmax0 =  30.8
164/
165~~~~~~~~~~~
166
167<li>you can select area quite every where (excepted too close from the North
168pole), and use the refinment factor you want.</li>
169
170~~~~~~~~~~~
171&namnst
172   in_imin0 = 1070
173   in_imax0 = 1072
174   in_jmin0 = 607
175   in_jmax0 = 609
176
177   in_rhoi = 2
178   in_rhoj = 3
179/
180~~~~~~~~~~~
181@image html grid_zoom_60.png
182<center>@image latex grid_zoom_40.png
183</center>
184<!-- @note ghost cells all around the grid are not shown here. -->
185
186<li>you can select area crossing the east-west overlap of the global ORCA grid.</li>
187
188~~~~~~~~~~~
189&namnst         
190   in_imin0 = 1402
191   in_imax0 = 62
192   in_jmin0 = 490
193   in_jmax0 = 570
194
195   in_rhoi = 5
196   in_rhoj = 5
197/               
198~~~~~~~~~~~
199@image html grid_glob_over_30.png
200<center>@image latex grid_glob_over_20.png
201</center>
202<!-- @note in blue, the east-west overlap band of ORCA grid. -->
203
204<li>you can select east-west cyclic area.</li>
205
206~~~~~~~~~~~
207&namnst
208   in_imin0 = 0
209   in_imax0 = 0
210   in_jmin0 = 390
211   in_jmax0 = 450
212
213   in_rhoi = 1
214   in_rhoj = 1
215/
216~~~~~~~~~~~
217@image html grid_glob_band_30.png
218<center>@image latex grid_glob_band_20.png
219</center>
220
221</ul>
222
223Finally the **namout** sub-namelist defines the output file.<br/>
224
225@note All the output files created by SIREN include information about NEMO
226periodicity, as well as source file, indices and refinment used.
227
228@sa For more information and options to create coordinates, see create_coord.f90
229
230<!-- ######################################################################  -->
231# Create bathymetry file # {#bathy}
232
233Then you need a Bathymetry file.<br/>
234SIREN allows you to create a Bathymetry extracted or refined from a wider
235Bathymetry grid.<br/>
236
237To create this new bathymetry, you have to run :
238~~~~~~~~~~~~~~~~~~
239./SIREN/create_bathy.exe create_bathy.nam
240~~~~~~~~~~~~~~~~~~
241
242Here after is an example of namelist for *create_bathy.exe*.<br/>
243In this example, you create a bathymetry file named *bathy_fine.nc*.<br/>
244This new bathymetry file is refined from an extraction of *bathy_meter_ORCA025.nc*.<br/>
245Moreover a minimum value of 5m is imposed to the output Bathymetry.
246~~~~~~~~~~~~~~~~~~
247&namlog
248/
249
250&namcfg
251   cn_varcfg = "PATH/NEMOGCM/TOOLS/SIREN/cfg/variable.cfg"
252   cn_dimcfg = "PATH/NEMOGCM/TOOLS/SIREN/cfg/dimension.cfg"
253/
254
255&namsrc
256   cn_coord0 = "PATH/coordinates_ORCA025.nc"
257   in_perio0 = 4
258/
259
260&namtgt
261   cn_coord1 = "PATH/coord_fine.nc"
262/
263
264&namvar
265   cn_varfile = "Bathymetry:PATH/bathy_meter_ORCA025.nc"
266   cn_varinfo = "Bathymetry: min=5"
267/
268
269&namnst
270   in_rhoi = 2
271   in_rhoj = 3
272/
273
274&namout
275   cn_fileout = "PATH/bathy_fine.nc"     
276/
277~~~~~~~~~~~~~~~~~~
278
279Let's get describe this namelist.<br/>
280
281## namlog, namcfg
282First as previously, we have the **namlog** and **namcfg** sub-namelist (see above for more
283explanation).<br/>
284
285## namsrc
286Then the **namsrc** sub-namelist set parameters of the source/wide
287coordinates file.<br/>
288@note in all SIREN namelist: <br/>
289**0** referred to the coarse/wide grid.<br/>
290**1** referred to the fine grid.
291
292## namtgt
293In the same way, the **namtgt** sub-namelist  set parameters of the target/fine
294coordinates file.<br/>
295@note in this namelist example, there is no need to set the variable *in_perio1* to define the NEMO
296periodicity of the fine grid. Indeed, if this variable is not inform, SIREN tries to read it
297in the global attributes of the file. So if you created the fine coordinates with SIREN, you do not have to
298fill it. In other case, you should add it to the namelist.
299
300## namvar
301The **namvar** sub-namelist lists variables to be used:
302<dl>
303   <dt>cn_varfile</dt>
304      <dd> defines the variable name ("Bathymetry" here) and the input file associated with.
305            @warning The domain of the input Bathymetry have to be larger than the output domain.
306         @note
307         <ul>
308            <li>if the input file is at coarse grid resolution (same than *cn_coord0*), the ouptut Bathymetry will be refined on fine grid.</li>
309            <li>if the input file is a wider bathymetry (already at fine grid resolution), the output Bathymetry will be extracted from this one.</li>
310         </ul>
311      </dd>
312   <dt>cn_varinfo</dt>
313      <dd> defines user's requests for a variable.
314         @note Default interpolation method for the Bathymetry, is *cubic* interpolation.<br/>
315         So you may want to specify a minimum value to avoid negative value, or to change interpolation method.<br/>
316         example: <ul><li>cn_varinfo="Bathymetry: min=1"'</li>
317                      <li>cn_varinfo="Bathymetry: int=linear"</li></ul>
318      </dd>
319</dl>
320
321## namnst
322The **namnst** sub-namelist defines the subdomain refinment factor.<br/>
323Of course those refinment factors have to be convenient with refinment
324from coarse grid *cn_coord0* to fine grid *cn_coord1*.
325@note subdomain indices are automatically deduced from fine and coarse grid
326coordinates.
327
328## namout
329Finally, this **namout** sub-namelist defines the output file.<br/>
330
331@note All the output files create by SIREN include information about
332source file, indices, refinment and interpolation method used.
333
334@sa For more information and options to create bathymetry, see
335create_bathy.f90
336
337<!-- ######################################################################  -->
338# Merge bathymetry file # {#merge}
339
340The Bathymetry you build, may differ from the wider one.<br/>
341To avoid issue with boundaries forcing fields, you should merge fine and coarse Bathymetry on boundaries.<br/>
342SIREN allows you to do this.<br/>
343
344To create this merged bathymetry, you have to run :
345~~~~~~~~~~~~~~~~~~
346./SIREN/merge_bathy.exe merge_bathy.nam
347~~~~~~~~~~~~~~~~~~
348
349Here after is an example of namelist for *merge_bathy.exe*.<br/>
350~~~~~~~~~~~~~~~~~~
351&namlog
352/
353
354&namcfg
355   cn_varcfg = "PATH/NEMOGCM/TOOLS/SIREN/cfg/variable.cfg"
356   cn_dimcfg = "PATH/NEMOGCM/TOOLS/SIREN/cfg/dimension.cfg"
357/
358
359&namsrc
360   cn_bathy0 = "PATH/bathy_meter_ORCA025.nc"
361   in_perio0 = 4
362/
363
364&namtgt
365   cn_bathy1 = "PATH/bathy_fine.nc"
366/
367
368&namnst
369   in_rhoi = 3
370   in_rhoj = 3
371/
372
373&nambdy
374/
375
376&namout
377   cn_fileout = "PATH/bathy_merged.nc"     
378/
379~~~~~~~~~~~~~~~~~~
380
381## namlog, namcfg
382In this namelist, you find again the **namlog**, **namcfg** describe above.
383
384## namsrc
385Then the **namsrc** sub-namelist sets parameters of the source/wide grid.
386However this time, this is the source/wide grid Bathymetry wich have to be informed.
387
388## namtgt
389The **namtgt** sub-namelist defines parameters of the target/fine grid Bathymetry.
390@note here again you could add the *in_perio1* parameter if need be i.e. if your
391fine grid Bathymetry was not created by SIREN.
392
393## namnst
394The **namnst** sub-namelist defines the subdomain refinment factor.
395
396## nambdy
397The **nambdy** sub-namelist defines the subdomain boundaries.<br/>
398By 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.
399@sa For more information about boundaries, see @ref boundary
400
401## namout
402Finally, this **namout** sub-namelist defines the output file.<br/>
403
404@sa For more information and options to merge bathymetry, see
405merge_bathy.f90
406
407<!-- ######################################################################  -->
408# Create meshmask (ocean domain informations) # {#meshmask}
409
410
411Depending on the vertical grid you choose to use, NEMO may not see the bathymetry exactly as you defined it just before. To get the ocean domain informations as seen by NEMO, SIREN allows you to create the meshmask file(s) which contain(s) all those informations.<br/>
412Morevoer SIREN allows you to create the *domain_cfg* file which is the new input file for NEMO (release 3.7 and upper).<br/>
413
414To create the meshmask file(s), you have to run :
415~~~~~~~~~~~~~~~~~~
416./SIREN/create_meshmask.exe create_meshmask.nam
417~~~~~~~~~~~~~~~~~~
418
419Here after is an example of namelist for *create_meshmask.exe*.<br/>
420In this example, you create one meshmask file named *mesh_mask.nc*.<br/>
421It uses coordinates file *coord_fine.nc* to define horizontal grid.
422and defines z-coordinate with partial steps.
423The minimum depth of the final Bathymetry is 10m.
424~~~~~~~~~~~
425&namlog
426/
427
428&namcfg
429   cn_varcfg = "PATH/NEMOGCM/TOOLS/SIREN/cfg/variable.cfg"
430   cn_dimcfg = "PATH/NEMOGCM/TOOLS/SIREN/cfg/dimension.cfg"
431/
432
433&namsrc
434   cn_bathy = "PATH/bathy_merged.nc"
435   cn_coord = "PATH/coord_fine.nc"
436   in_perio = 4
437/
438
439&namhgr
440   in_mshhgr = 0
441/
442
443&namzgr
444   ln_zps   = .TRUE.
445   in_nlevel= 75
446/
447
448&namdmin
449   dn_hmin=10.
450/
451
452&namzco
453   dn_ppsur   = -3958.951371276829
454   dn_ppa0    =   103.953009600000
455   dn_ppa1    =     2.415951269000
456   dn_ppkth   =    15.351013700000
457   dn_ppacr   =     7.000000000000
458   dn_ppdzmin = 6.
459   dn_pphmax  = 5750.
460   ln_dbletanh= .TRUE.
461   dn_ppa2    =   100.760928500000
462   dn_ppkth2  =    48.029893720000
463   dn_ppacr2  =    13.000000000000
464/
465
466&namzps
467   dn_e3zps_min = 25.
468   dn_e3zps_rat = 0.2
469/
470
471&namsco
472/
473
474&namlbc
475/
476
477&namwd
478/
479
480&namgrd
481/
482
483&namout
484   in_msh = 1
485/
486~~~~~~~~~~~
487
488Let's get describe this namelist more accurately.<br/>
489
490## namlog, namcfg
491As previously, we have the **namlog** and **namcfg** describe above.<br/>
492
493## namsrc
494The **namsrc** sub-namelist defines the Bathymetry to be used.
495Mainly SIREN need Bathymetry to create meshmask.
496Here we also read coordinates directly on a file.
497@note
498 1. here again you could add the *in_perio* parameter if need be i.e. if your
499Bathymetry was not created by SIREN.
500 2. by default SIREN suppress closed sea/lake from the ORCA domain.
501
502## namhgr
503The **namhgr** sub-namelist defines the horizontal grid.
504the type of horizontal mesh is choose between :<ul>
505<li> in_mshhgr=0 : curvilinear coordinate on the sphere read in coordinate.nc</li>
506<li> in_mshhgr=1 : geographical mesh on the sphere with regular grid-spacing</li>
507<li> in_mshhgr=2 : f-plane with regular grid-spacing</li>
508<li> in_mshhgr=3 : beta-plane with regular grid-spacing</li>
509<li> in_mshhgr=4 : Mercator grid with T/U point at the equator</li>
510<li> in_mshhgr=5 : beta-plane with regular grid-spacing and rotated domain (GYRE configuration)</li>
511</ul>
512
513## namzgr
514The **namzgr** sub-namelist allows to choose the type of vertical grid (z-coordinate full steps, partial steps, sigma or hybrid coordinates) and the number of level.
515
516## namdmin
517The **namdmin** sub-namelist defines the minimum ocean depth. It could be defines in meter (>0) or in number of level (<0).
518
519## namzco
520The **namzco** sub-namelist defines parameters to compute z-coordinate vertical grid (**needed for all type of vertical grid**)
521<!-- By default, those parameters are defined the same way than in GLORYS (i.e. 75 vertical levels).<br/> -->
522
523## namzps
524The **namzps** sub-namelist defines extra parameters needed to define z-coordinates partial steps.
525
526## namsco
527The **namsco** sub-namelist defines extra parameters needed to define sigma or hybrid coordinates (not needed here).
528
529<!--The **namcla** sub-namelist defines cross land advection for exchanges through some straits only used for ORCA2 (see namgrd).-->
530
531## namlbc
532The **namlbc** sub-namelist defines lateral boundary conditions at the coast. It is needed to modify the fmask.
533
534## namwd
535The **namwd** sub-namelist defines the wetting and drying parameters if activated (see namzgr sub-namelist)
536
537## namgrd
538The **namgrd** sub-namelist allows to use configuration 1D or to choose vertical scale factors (e3.=dk or old definition).
539
540## namout
541Finally, this **namout** sub-namelist defines the number output file(s).<br/>
542@note To create the domain_cfg file, you should put **in_msh=0**.
543
544@sa For more information about how to create meshmask, see create_meshmask.f90
545
546<!-- ######################################################################  -->
547# Create layout (domain layout) # {#layout}
548
549To run faster your configuration you may need to run it on multiprocessor. To do so you first need to know on which domain layout and so on how many processor you could do it.
550.<br/>
551
552To create/compute the domain layout, you have to run :
553~~~~~~~~~~~~~~~~~~
554./SIREN/create_layout.exe create_layout.nam
555~~~~~~~~~~~~~~~~~~
556
557Here after is an example of namelist for *create_layout.exe*.<br/>
558In this example, you compute the domain layout on 40 processors.<br/>
559~~~~~~~~~~~
560&namlog
561/
562
563&namcfg
564   cn_varcfg = "PATH/NEMOGCM/TOOLS/SIREN/cfg/variable.cfg"
565   cn_dimcfg = "PATH/NEMOGCM/TOOLS/SIREN/cfg/dimension.cfg"
566/
567
568&namvar
569   cn_varfile = "Bathymetry:PATH/bathy_merged.nc"
570/
571
572&namout
573   in_nproc = 40
574/
575~~~~~~~~~~~
576
577Let's get describe this namelist more accurately.<br/>
578
579## namlog, namcfg
580As previously, we have the **namlog** and **namcfg** describe above.<br/>
581
582## namvar
583The **namvar** sub-namelist lists variables to be used.
584Mainly SIREN need Bathymetry to compute the domain layout, or at least the mask of your domain.
585
586## namout
587The **namout** sub-namelist defines the number of processor you want to work on.
588
589@sa For more information and options to create layout, see create_layout.f90
590
591<!-- ######################################################################  -->
592# Create initial state # {#restart}
593
594To run your configuration you need an inital state of the ocean.<br/>
595You could start from a restart file (with all NEMO variables fields at one
596time step). Or you could start from "partial" information about ocean state (Temperature and Salinity for example).
597
598SIREN allows you to create both of those initial state.<br/>
599To create the initial state, you have to run:<br/>
600~~~~~~~~~~~~~~~~~~
601./SIREN/create_restart.exe create_restart.nam
602~~~~~~~~~~~~~~~~~~
603
604Here after is an example of namelist for *create_restart.exe*.<br/>
605In this example, you create an initial state split on 81 "processors", and named restart_out.nc.<br/>
606The initial state is composed of temperature and salinity refined from an extraction of GLORYS fields.
607~~~~~~~~~~~~~~~~~~
608&namlog
609/
610
611&namcfg
612   cn_varcfg = "PATH/NEMOGCM/TOOLS/SIREN/cfg/variable.cfg"
613   cn_dimcfg = "PATH/NEMOGCM/TOOLS/SIREN/cfg/dimension.cfg"
614/
615
616&namsrc
617   cn_coord0 = "PATH/coordinates_ORCA025.nc"
618   in_perio0 = 4
619/
620
621&namtgt
622   cn_coord1 = "PATH/coord_fine.nc"
623   cn_bathy1 = "PATH/bathy_merged.nc"
624/
625
626&namzgr
627/
628
629&namzps
630/
631
632&namvar
633   cn_varfile = "votemper:GLORYS_gridT.nc",
634                "vosaline:GLORYS_gridS.nc"
635/
636
637&namnst
638   in_rhoi = 3
639   in_rhoj = 3
640/
641
642&namout
643   cn_fileout = "PATH/restart_out.nc"     
644   in_nproc = 81
645/
646~~~~~~~~~~~~~~~~~~
647Let's get describe this namelist more accurately.<br/>
648
649## namlog, namcfg
650As previously, we have the **namlog** and **namcfg** sub-namelists, as well as
651
652## namsrc
653the **namsrc** sub-namelist to set parameters of the source/wide coordinates file (see above for more
654explanation).<br/>
655
656## namtgt
657Then the **namtgt** sub-namelist set parameters of the target/fine
658grid coordinates and bathymetry.<br/>
659
660## namzgr, namzps
661The **namzgr** and **namzps** sub-namelists define respectively parameters for vertical grid
662and partial step.<br>
663By default, those parameters are defined the same way than in GLORYS (i.e. 75 vertical levels).<br/>
664So you could let it empty.
665@note If you use forcing fields other than GLORYS, you have to be sure it uses the same vertical grid. In other case, you need to get information about the parametrisation use, and to put it in those sub-namelist (see create_restart.f90).
666
667## namvar
668the **namvar** sub-namelist lists variables to be used.<br/>
669Here we use *votemper* (temperature) get from *GLORYS_gridT.nc* file, and *vosaline*
670(salinity) get from *GLORYS_gridS.nc* file.
671@note To get all variables of a restart file. You have to use:
672~~~~~~~~~~~~~~~~~~
673cn_varfile = "all:PATH/restart.dimg"
674~~~~~~~~~~~~~~~~~~
675
676## namnst
677The **namnst** sub-namelist defines the subdomain refinment factor, as seen previously.<br/>
678
679## namout
680Finally, this **namout** sub-namelist defines the output files.<br/>
681Here we ask for output on 81 processors, with *restart_out.nc* as file "basename".<br/>
682So SIREN computes the optimal layout for 81 processors
683available,<br/>
684and split restart on output files named *restart_out_num.nc*, where *num* is the proc number.
685
686@note SIREN could also create the other fields you may need for
687your configuration.<br/>
688To do so, you just have to run *create_restart.exe* with other variable(s) from other input file(s).<br/>
689For example, to get runoff fields, you could use:
690~~~~~~~~~~~~~~~~~~
691cn_varfile = "sorunoff:PATH/runoff_GLORYS.nc"
692...
693cn_fileout = "PATH/runoff_out.nc"
694~~~~~~~~~~~~~~~~~~
695
696@sa For more information and options to create initial state or other fields, see
697create_restart.f90
698
699<!-- ######################################################################  -->
700# Create boundaries conditions # {#boundary}
701
702Finally to force your configuration, you may need boundaries conditions.<br/>
703NEMO read physical boundaries conditions from temperature, salinity, currents, and sea
704surface height.
705
706To create the boundaries condition with SIREN, you have to run:<br/>
707~~~~~~~~~~~~~~~~~~
708./SIREN/create_boundary.exe create_boundary.nam
709~~~~~~~~~~~~~~~~~~
710
711Here after is an example of namelist for *create_boundary.exe*.<br/>
712In this example, you create boundaries conditions named *boundary_out.nc* on
713each side of the domain.<br/>
714The boundaries contain information about temperature, salinity, currents and sea surface height refined from an extraction of GLORYS fields.
715~~~~~~~~~~~~~~~~~~
716&namlog
717/
718
719&namcfg
720   cn_varcfg = "PATH/NEMOGCM/TOOLS/SIREN/cfg/variable.cfg"
721   cn_dimcfg = "PATH/NEMOGCM/TOOLS/SIREN/cfg/dimension.cfg"
722/
723
724&namsrc
725   cn_coord0 = "PATH/coordinates_ORCA025.nc"
726   in_perio0 = 4
727/
728
729&namtgt
730   cn_coord1 = "PATH/coord_fine.nc"
731   cn_bathy1 = "PATH/bathy_fine.nc"
732/
733
734&namzgr
735/
736
737&namzps
738/
739
740&namvar
741   cn_varfile="votemper:GLORYS_gridT.nc",
742              "vosaline:GLORYS_gridS.nc",
743              "vozocrtx:GLORYS_gridU.nc",
744              "vomecrty:GLORYS_gridV.nc",
745              "sossheig:GLORYS_grid2D.nc"
746/
747
748&namnst
749   in_rhoi = 3
750   in_rhoj = 3
751/
752
753&nambdy
754/
755
756&namout
757   cn_fileout = "PATH/boundary_out.nc"     
758/
759~~~~~~~~~~~~~~~~~~
760
761Let's get describe this namelist more accurately.<br/>
762
763## namlog, namcfg
764As previously, we have the **namlog** and **namcfg** sub-namelists, as well as
765
766## namsrc
767the **namcrs** sub-namelist to set parameters of the source/wide coordinates file (see above for more
768explanation).<br/>
769
770## namtgt
771Then the **namtgt** sub-namelist set parameters of the target/fine
772grid coordinates and bathymetry.<br/>
773
774## namzgr, namzps
775The **namzgr** and **namzps** sub-namelists define respectively parameters for vertical grid
776and partial step.<br>
777By default, those parameters are defined the same way than in GLORYS (i.e. 75 vertical levels).<br/>
778So you could let it empty.
779@note If you use forcing fields other than GLORYS, you have to be sure it uses the same vertical grid. In other case, you need to get information about the parametrisation use, and to put it in those sub-namelist (see create_boundary.F90).
780
781## namvar
782the **namvar** sub-namelist lists variables to be used.<br/>
783Here we get *votemper* (temperature) from *GLORYS_gridT.nc* file, *vosaline*
784(salinity) from *GLORYS_gridS.nc* file, *vozocrtx* (zonal velocity) from
785*GLORYS_gridU.nc*, *vomecrty* (meridional velocity) from *GLORYS_gridV.nc*, and sossheig (sea surface
786height) from *GLORYS_grid2D.nc*.
787
788## namnst
789The **namnst** sub-namelist defines the subdomain refinment factor.<br/>
790
791## nambdy
792The **nambdy** sub-namelist defines the subdomain boundaries.<br/>
793By default SIREN tries to create boundaries for each side (Boundary is created if sea point exist on the second row of each side).<br/>
794So you could let this namelist empty.
795
796@note SIREN allows you to place boundaries away from the side of the domain.
797To do so you have to define your boundary.<br/>
798That means you have to give on fine
799grid the index of the boundary (how far from the border your boundary is),
800the width of your boundary, and finally first and last point of your boundary (the length of your boundary).<br/>
801So to define a north boundary, you have to add in the sub-namelist *nambdy*, the parameter:
802~~~~~~~~~~~~~~~~~~
803cn_north="index,first:last(width)"
804~~~~~~~~~~~~~~~~~~
805
806## namout
807Finally, this **namout** sub-namelist defines the output files.<br/>
808Here we ask for output with *boundary_out.nc* as file "basename".<br/>
809So SIREN creates output files named *boundary_out_west.nc*,
810*boundary_out_east.nc*, *boundary_out_north.nc*, and *boundary_out_south.nc*
811depending if boundary exist or not.
812
813@sa For more information and options to create boundaries condition, see
814create_boundary.F90
815
816# Create and run NEMO configuration # {#NEMOconf}
817
818So now you created all the input files you need for your physical configuration, you have to create the "NEMO configuration".<br/>
819To do so, go to the directory *NEMOGCM/CONFIG/*, and run:
820~~~~~~~~~~~~~~~~~~
821./makenemo -n MY_CONFIG -d "OPA_SRC"
822~~~~~~~~~~~~~~~~~~
823This creates your configuration "MY_CONFIG" in the directory *NEMOGCM/CONFIG*.<br/>
824you could check the cpp_keys used in file *cpp_MY_CONFIG.fcm*, and re-run *makenemo*
825if need be.
826
827Once *makenemo* has run successfully, the *opa* executable is available in
828directory *NEMOGCM/CONFIG/MY_CONFIG/EXP00*.<br/>
829Then you just have to put all your input files in this directory, fill the namelist *namelist_cfg*, and run:
830~~~~~~~~~~~~~~~~~~
831mpirun ./opa
832~~~~~~~~~~~~~~~~~~
833
834@note no surface forcing here.
835weighted function needed to do interpolation on the fly, could be created by WEIGHT tools already inside NEMO.
836
837@sa For more information about how to create NEMO configuration see [NEMO Quick Start Guide](http://www.nemo-ocean.eu/Using-NEMO/User-Guides/Basics/NEMO-Quick-Start-Guide).
838
839 <HR>
840   <b>
841   - @ref index
842   - @ref md_src_docsrc_1_install
843   - @ref md_src_docsrc_2_quickstart
844   - @ref md_src_docsrc_3_support_bug
845   - @ref md_src_docsrc_4_codingRules
846   - @ref md_src_docsrc_5_changeLog
847   - @ref todo
848   </b>
Note: See TracBrowser for help on using the repository browser.