- Timestamp:
- 2020-09-14T17:40:34+02:00 (4 years ago)
- Location:
- NEMO/branches/2019/dev_r11351_fldread_with_XIOS
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11351_fldread_with_XIOS
- Property svn:externals
-
old new 3 3 ^/utils/build/mk@HEAD mk 4 4 ^/utils/tools@HEAD tools 5 ^/vendors/AGRIF/dev @HEADext/AGRIF5 ^/vendors/AGRIF/dev_r12970_AGRIF_CMEMS ext/AGRIF 6 6 ^/vendors/FCM@HEAD ext/FCM 7 7 ^/vendors/IOIPSL@HEAD ext/IOIPSL 8 9 # SETTE 10 ^/utils/CI/sette@13382 sette
-
- Property svn:externals
-
NEMO/branches/2019/dev_r11351_fldread_with_XIOS/cfgs/AGRIF_DEMO/README.rst
r10460 r13463 2 2 Embedded zooms 3 3 ************** 4 5 .. todo:: 6 7 4 8 5 9 .. contents:: … … 9 13 ======== 10 14 11 AGRIF (Adaptive Grid Refinement In Fortran) is a library that allows the seamless space and time refinement over12 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. 13 17 Refinement factors can be odd or even (usually lower than 5 to maintain stability). 14 Interaction between grid is "two-ways" in the sense that the parent grid feeds the child grid open boundaries and 15 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. 16 22 These pages provide guidelines how to use AGRIF in NEMO. 17 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_. 18 24 19 25 Compilation 20 26 =========== 21 27 22 Activating AGRIF requires to append the cpp key ``key_agrif`` at compilation time: 28 Activating AGRIF requires to append the cpp key ``key_agrif`` at compilation time: 23 29 24 30 .. code-block:: sh 25 31 26 ./makenemoadd_key 'key_agrif'32 ./makenemo [...] add_key 'key_agrif' 27 33 28 Although this is transparent to users, the way the code is processed during compilation is different from29 the standard case:30 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 31 37 saved arrays may be switched in memory space from one domain to an other. 32 38 … … 34 40 ================================ 35 41 36 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. 37 43 This is where the grid hierarchy is defined. 38 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 39 45 40 1 41 34 63 34 63 3 3 3 42 0 46 .. literalinclude:: ../../../tests/ICE_AGRIF/EXPREF/AGRIF_FixedGrids.in 43 47 44 48 The first line indicates the number of zooms (1). 45 49 The second line contains the starting and ending indices in both directions on the root grid 46 ( imin=34 imax=63 jmin=34 jmax=63) followed by the space and time refinement factors (3 3 3).50 (``imin=34 imax=63 jmin=34 jmax=63``) followed by the space and time refinement factors (3 3 3). 47 51 The last line is the number of child grid nested in the refined region (0). 48 52 A more complex example with telescoping grids can be found below and 49 in the ``AGRIF_DEMO`` reference configuration directory.53 in the :file:`AGRIF_DEMO` reference configuration directory. 50 54 51 [Add some plots here with grid staggering and positioning ?] 55 .. todo:: 52 56 53 When creating the nested domain, one must keep in mind that the child domain is shifted toward north-east and 54 depends on the number of ghost cells as illustrated by the (attempted) drawing below for nbghostcells=1 and 55 nbghostcells=3. 56 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. 57 64 58 65 .. image:: _static/agrif_grid_position.jpg … … 62 69 boundary data exchange and update being only performed between root and child grids. 63 70 Use of east-west periodic or north-fold boundary conditions is not allowed in child grids either. 64 Defining for instance a circumpolar zoom in a global model is therefore not possible. 71 Defining for instance a circumpolar zoom in a global model is therefore not possible. 65 72 66 73 Preprocessing 67 74 ============= 68 75 69 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 70 78 (mesh file, restart, climatological and forcing files). 71 79 The key is to ensure volume matching near the child grid interface, 72 a step done by invoking the ``Agrif_create_bathy.exe`` program.73 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. 74 82 These correspond to the namelists used to create ``AGRIF_DEMO`` inputs. 75 83 … … 78 86 79 87 Each child grid expects to read its own namelist so that different numerical choices can be made 80 (these should be stored in the form ``1_namelist_cfg``, ``2_namelist_cfg``, etc... according to their rank in81 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). 82 90 Consistent time steps and number of steps with the chosen time refinement have to be provided. 83 91 Specific to AGRIF is the following block: 84 92 85 .. code-block:: fortran 86 87 !----------------------------------------------------------------------- 88 &namagrif ! AGRIF zoom ("key_agrif") 89 !----------------------------------------------------------------------- 90 ln_spc_dyn = .true. ! use 0 as special value for dynamics 91 rn_sponge_tra = 2880. ! coefficient for tracer sponge layer [m2/s] 92 rn_sponge_dyn = 2880. ! coefficient for dynamics sponge layer [m2/s] 93 ln_chk_bathy = .false. ! =T check the parent bathymetry 94 / 93 .. literalinclude:: ../../namelists/namagrif 94 :language: fortran 95 95 96 96 where sponge layer coefficients have to be chosen according to the child grid mesh size. 97 97 The sponge area is hard coded in NEMO and applies on the following grid points: 98 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``) 99 99 100 References 101 ========== 100 .. rubric:: References 102 101 103 102 .. bibliography:: zooms.bib 104 105 106 107 103 :all: 104 :style: unsrt 105 :labelprefix: A 106 :keyprefix: a-
Note: See TracChangeset
for help on using the changeset viewer.