Changeset 11753 for NEMO/trunk
- Timestamp:
- 2019-10-21T16:21:17+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/cfgs/AGRIF_DEMO/README.rst
r11734 r11753 13 13 ======== 14 14 15 AGRIF (Adaptive Grid Refinement In Fortran) is a library that allows the seamless space and time refinement over16 rectangular regions in NEMO.15 AGRIF (Adaptive Grid Refinement In Fortran) is a library that 16 allows the seamless space and time refinement over rectangular regions in NEMO. 17 17 Refinement factors can be odd or even (usually lower than 5 to maintain stability). 18 Interaction between grid is "two-ways" in the sense that the parent grid feeds the child grid open boundaries and 19 the child grid provides volume averages of prognostic variables once a given number of time step is completed. 18 Interaction between grid is "two-ways" in the sense that 19 the parent grid feeds the child grid open boundaries and 20 the child grid provides volume averages of prognostic variables once 21 a given number of time step is completed. 20 22 These pages provide guidelines how to use AGRIF in NEMO. 21 For a more technical description of the library itself, please refer to http://agrif.imag.fr.23 For a more technical description of the library itself, please refer to AGRIF_. 22 24 23 25 Compilation … … 28 30 .. code-block:: sh 29 31 30 ./makenemoadd_key 'key_agrif'32 ./makenemo [...] add_key 'key_agrif' 31 33 32 Although this is transparent to users, the way the code is processed during compilation is different from33 the standard case:34 a preprocessing stage (the so called "conv"program) translates the actual code so that34 Although this is transparent to users, 35 the way the code is processed during compilation is different from the standard case: 36 a preprocessing stage (the so called ``conv`` program) translates the actual code so that 35 37 saved arrays may be switched in memory space from one domain to an other. 36 38 … … 38 40 ================================ 39 41 40 An additional text file ``AGRIF_FixedGrids.in`` is required at run time.42 An additional text file :file:`AGRIF_FixedGrids.in` is required at run time. 41 43 This is where the grid hierarchy is defined. 42 An example of such a file, here taken from the ``ICEDYN`` test case, is given below ::44 An example of such a file, here taken from the ``ICEDYN`` test case, is given below 43 45 44 1 45 34 63 34 63 3 3 3 46 0 46 .. literalinclude:: ../../../tests/ICE_AGRIF/EXPREF/AGRIF_FixedGrids.in 47 47 48 48 The first line indicates the number of zooms (1). … … 51 51 The last line is the number of child grid nested in the refined region (0). 52 52 A more complex example with telescoping grids can be found below and 53 in the ``AGRIF_DEMO`` reference configuration directory.53 in the :file:`AGRIF_DEMO` reference configuration directory. 54 54 55 [Add some plots here with grid staggering and positioning ?] 55 .. todo:: 56 56 57 When creating the nested domain, one must keep in mind that the child domain is shifted toward north-east and 58 depends on the number of ghost cells as illustrated by the (attempted) drawing below for nbghostcells=1 and 59 nbghostcells=3. 60 The grid refinement is 3 and nxfin is the number of child grid points in i-direction. 57 Add some plots here with grid staggering and positioning? 58 59 When creating the nested domain, one must keep in mind that 60 the child domain is shifted toward north-east and 61 depends on the number of ghost cells as illustrated by 62 the *attempted* drawing below for ``nbghostcells=1`` and ``nbghostcells=3``. 63 The grid refinement is 3 and ``nxfin`` is the number of child grid points in i-direction. 61 64 62 65 .. image:: _static/agrif_grid_position.jpg … … 71 74 ============= 72 75 73 Knowing the refinement factors and area, a ``NESTING`` pre-processing tool may help to create needed input files 76 Knowing the refinement factors and area, 77 a ``NESTING`` pre-processing tool may help to create needed input files 74 78 (mesh file, restart, climatological and forcing files). 75 79 The key is to ensure volume matching near the child grid interface, 76 a step done by invoking the ``Agrif_create_bathy.exe`` program.77 You may use the namelists provided in the ``NESTING`` directory as a guide.80 a step done by invoking the :file:`Agrif_create_bathy.exe` program. 81 You may use the namelists provided in the :file:`NESTING` directory as a guide. 78 82 These correspond to the namelists used to create ``AGRIF_DEMO`` inputs. 79 83 … … 82 86 83 87 Each child grid expects to read its own namelist so that different numerical choices can be made 84 (these should be stored in the form ``1_namelist_cfg``, ``2_namelist_cfg``, etc... according to their rank in85 the grid hierarchy).88 (these should be stored in the form :file:`1_namelist_cfg`, :file:`2_namelist_cfg`, etc... 89 according to their rank in the grid hierarchy). 86 90 Consistent time steps and number of steps with the chosen time refinement have to be provided. 87 91 Specific to AGRIF is the following block: 88 92 89 .. code-block:: fortran 90 91 !----------------------------------------------------------------------- 92 &namagrif ! AGRIF zoom ("key_agrif") 93 !----------------------------------------------------------------------- 94 ln_spc_dyn = .true. ! use 0 as special value for dynamics 95 rn_sponge_tra = 2880. ! coefficient for tracer sponge layer [m2/s] 96 rn_sponge_dyn = 2880. ! coefficient for dynamics sponge layer [m2/s] 97 ln_chk_bathy = .false. ! =T check the parent bathymetry 98 / 93 .. literalinclude:: ../../namelists/namagrif 94 :language: fortran 99 95 100 96 where sponge layer coefficients have to be chosen according to the child grid mesh size. 101 97 The sponge area is hard coded in NEMO and applies on the following grid points: 102 2 x refinement factor (from i=1+nbghostcells+1 to i=1+nbghostcells+sponge_area)98 2 x refinement factor (from ``i=1+nbghostcells+1`` to ``i=1+nbghostcells+sponge_area``) 103 99 104 100 .. rubric:: References
Note: See TracChangeset
for help on using the changeset viewer.