1. Scripts
It could be useful to get a rough idea of the structure of the tests base, in order to be able to run only selected cases during the validation process.
- The script script_all.sh is the main script that runs all the others. It successively calls :
- script_pgd.sh, script_prep.sh, script_sea.sh, script_water.sh, script_flake.sh, script_isba.sh, script_teb.sh, script_csts.sh, script_offline.sh, script_cas_part.sh.
- script_pgd.sh itself successively calls :
script_pgd_grid.sh, script_pgd_physio.sh, script_pgd_ecoclimap.sh.
=> to run only one of these main categories, it’s possible to comment the other calls in script_all.sh.
- script_pgd.sh, script_prep.sh, script_sea.sh, script_water.sh, script_flake.sh, script_isba.sh, script_teb.sh, script_csts.sh, script_offline.sh, script_cas_part.sh.
- Main modifications of namelist OPTIONS.nam_000 are done directly in previous scripts. But, for some cases that need large transformations (NAM_DATA_... in PGD step, NAM_PREP_... in PREP step), external scripts lying on command “sed” are written:
- stored in TESTS/PGD :
- make_eco_tiles.sh, make_eco_unif.sh => NAM_FRAC & NAM_COVER
- make_isba_unif.sh, make_isba_mireille.sh, make_isba_greg.sh, make_isba_adrien_all.sh, make_isba_adrien_vgt.sh, make_isba_adrien_lai.sh, make_isba_adrien_veg.sh, make_isba_adrien_z0.sh, make_isba_adrien_h_tree.sh, maks_isba_adrien_rsmin.sh, maks_isba_adrien_dg.sh, makd_isba_adrien_diff_rootfrac.sh, make_isba_adrien_dif_rootdepth.sh, make_isba_adrien_diff_root_ext.sh => NAM_DATA_ISBA
- make_teb_unif1.sh, make_teb_unif2.sh, make_teb_unif3.sh, make_teb_greg.sh, make_teb_cecile.sh => NAM_DATA_TEB
- make_bem_unif1.sh, make_bem_unif2.sh => NAM_DATA_BEM
- make_garden_unif1.sh, make_garden_unif2.sh, make_greenroof_unif1.sh, make_greenroof_unif2.sh => NAM_DATA_TEB_GARDEN & NAM_DATA_TEB_GREENROOF
- stored in TESTS/PREP:
- make_prep_unif.sh => NAM_PREP_SURF_ATM
- make_prep_isba_unif.sh, make_prep_isba_tg_file.sh, make_prep_isba_wg_file.sh, make_prep_isba_data.sh, make_prep_isba_data_netcdf.sh, make_prep_isba_snow_unif.sh, make_prep_isba_snow_ideal.sh => NAM_PREP_ISBA & NAM_PREP_ISBA_SNOW
- make_prep_teb_unif.sh, make_prep_teb_ts_file.sh, make_prep_teb_ws_file.sh, make_prep_teb_snow_unif.sh => NAM_PREP_TEB & NAM_PREP_TEB_SNOW
- make_prep_gd_gr_unif.sh, make_prep_gd_gr_tg_file.sh, make_prep_gd_gr_wg_file.sh, make_prep_gd_gr_data.sh, make_prep_gd_gr_snow_unif.sh => NAM_PREP_TEB_GARDEN & NAM_PREP_TEB_GREENROOF & NAM_PREP_GARDEN_SNOW & NAM_PREP_GREENROOF_SNOW
- make_prep_flake_unif.sh => NAM_PREP_FLAKE
- stored in TESTS/PGD :
- Each test case is given a specific name, inside the scripts, and this name is used for and in the output files, to identify the case.
- Some common scripts are used for the comparison of results, for all test cases :
script_exec.sh, script_exec_omp_pgd.sh, script_exec_parall.sh, script_exec_restart.sh, script_exec_restart_parall.sh.- script_exec.sh is the basis execution and comparison script :
- it runs pgd, prep, offline for the new version
- it moves output netcdf files into RES_NEW directory
- it adapts current namelist OPTIONS.nam for the old version
- it runs pgd, prep, offline for the old version
- it moves ouput netcdf files into RES_OLD directory
- it goes into TESTS/PYTHON directory to run comp.py that compares files present in RES_NEW and RES_OLD directories
- script_exec_omp_pgd.sh allows to test the OPEN-MP loops present in PGD step.
- script_exec_parall.sh compares RES_NEW and RES_OLD in simple and 6 different parallel cases (YALG_MPI = LIN, ADJ, TILL, TILA, OPEN-MP, OPEN-MP + MPI)
- script_exec_restart.sh and script_exec_restart_parall.sh do the same thing as script_exec.sh and script_exec_parall.sh but in a restart case.
- script_exec.sh is the basis execution and comparison script :
- Three additional common scripts are needed :
script_base.sh, script_restart.sh, script_to_old.sh.- Script_to_old.sh allows to adapt namelists to the old case as namelists are introduced in the new one.
- script_restart.sh and script_base.sh allow to replace PGD and PREP files by saved ones when doing successive restart or PREP with input pgd and prep files.