-
Notifications
You must be signed in to change notification settings - Fork 1
4. Launch a simulation with AGRIF
- Go to the root of nemo directory (we call it here NEMOROOT/) and compile a first time without AGRIF
./makenemo -r AMM12 -n eNEATL36_BIZoo -j 12 -k 0
=> It creates a new configuration in NEMOROOT/cfg/eNEATL36_BIZoo
- Add the key_agrif in the NEMOROOT/cfg/eNEATL36_BIZoo/cpp_eNEATL36_BIZoo.fcm cpp file
- change the line "eNEATL36_BIZoo OCE" by "eNEATL36_BIZoo OCE NST" in the work_cfg.txt file in NEMOROOT/cfg
- clean the config, and recompile:
./makenemo -r eNEATL36_BIZoo -j 12 -k 0 clean
./makenemo -r eNEATL36_BIZoo -j 12 -k 0
Some input files are shared between the parent and to the child(s), and some are not and thus must be different. If a file path is not specified in the namelists, it must be placed directly in the run directory.
All input files related to the child domain must start with the prefix associated with the nest, i.e "1_" for the first nest, "2_" for the second and so on. However, in every child namelist, they must be written without the prefix (e.g : "domain_cfg" instead of "1_domain_cfg"). Thus, the parent and the child namelist(s) can be absolutely identical, but the files read for the parent domain and the child domain will be different.
The files specific to agrif that must be given are:
- The AGRIF_FixedGrids.in file
The files that must be given (and are thus different) for both the parent and the child grid are:
- The NEMO namelists (e.g: namelist_cfg and 1_namelist_cfg)
- The domain_cfg.nc files (domain_cfg.nc and 1_domain_cfg.nc)
- The 2D forcing files (atmosphere, chlorophyl, model initialisation etc...) if the files are provided directly on the model grid:
For example, if we want to use a chlorophyl file (nn_chldta = 1) over the parent and the child domain, we can write in both parent and child namelists:
The files CHL_eNEATL36.nc and 1_CHL_eNEATL36.nc will be read other the parent domain.
- The weights, if the 2D forcing files are not directly provided on the model grid:
For example, here we provide the IFS wind fields to the model, and we can write in both parent and child namelists:
Here, we only need one forcing file per day for both parent and child domain (ECMWF_BULKU10M_GAUSS1280_y????m??d??.nc), but we need two different weight files for the parent & the child domain (weights_IFS_2_eNEATL36_AGRIF_LARGE_bicub.nc and 1_weights_IFS_2_eNEATL36_AGRIF_LARGE_bicub.nc respectively)
- The XIOS namelists, at least the context_nemo.xml file (e.g: context_nemo.xml and 1_context_nemo.xml)
Then, some files are specific to the parent configuration:
- The open boundary forcing files
- The tidal forcing files
-
The namelists for the simulation are available here : https://github.com/immerse-project/eNEATL36-AGRIF_Demonstator/tree/main/NAMELISTS/RUN
-
The namelists for XIOS are available here : https://github.com/immerse-project/eNEATL36-AGRIF_Demonstator/tree/main/NAMELISTS/XML
./mpirun -np $NPROC_NEMO ./nemo.exe ; -np $NPROC_XIOS ./xios_server.exe
- You can find the run scripts to perform a simulation on the meteo france supercomputer (belenos machine) here : https://github.com/immerse-project/eNEATL36-AGRIF_Demonstator/tree/main/SCRIPTS/RUN
1 : Copy the 3 scripts (NEMO_4_2_AGRIF_RUN_INI.sub, NEMO_4_2_AGRIF_RUN_RESTART.sub and NEMO_4_2_AGRIF_RUN.sub.model) in the run directory
2 : Change paths (and modules eventually) in NEMO_4_2_AGRIF_RUN_INI.sub
3 : submit INI job sbatch NEMO_4_2_AGRIF_RUN_INI.sub