| 1 | =================================================================== |
|---|
| 2 | LMDZ_Setup is a software suite for installing LMDZ and automatically |
|---|
| 3 | automatically run a number of configurations. |
|---|
| 4 | Authors: Frédéric Hourdin, Adriana Sima, Amaury Baral, Laurent Fairhead (and the LMDZ team) |
|---|
| 5 | |
|---|
| 6 | Last modification : 2024/12/19 |
|---|
| 7 | =================================================================== |
|---|
| 8 | |
|---|
| 9 | Complementary information and FAQ (in French) : |
|---|
| 10 | https://docs.google.com/document/d/1OLZG6e-86NiXuv5-aALxKIh-QPkp4BdCwWtiBFot-6c |
|---|
| 11 | |
|---|
| 12 | |
|---|
| 13 | =================================================================== |
|---|
| 14 | 0. Target platforms |
|---|
| 15 | =================================================================== |
|---|
| 16 | Default gfortran/bash installation on local computers. |
|---|
| 17 | Specific installation on certain computing centers: |
|---|
| 18 | spirit: IPSL cluster |
|---|
| 19 | adastra: Cines supercomputer |
|---|
| 20 | jean-zay: idris supercomputer |
|---|
| 21 | irene: TGCC supercomputer WORK TO BE DONE |
|---|
| 22 | Machine configuration dependency is managed by lmdz_env.sh |
|---|
| 23 | |
|---|
| 24 | |
|---|
| 25 | =================================================================== |
|---|
| 26 | I. What this working environment does and does not |
|---|
| 27 | =================================================================== |
|---|
| 28 | |
|---|
| 29 | This tutorial can only be used on jean-zay computer at idris so far. |
|---|
| 30 | However, extension to ciclad or irene will be done soon. |
|---|
| 31 | |
|---|
| 32 | It proposes a light automatic setup of LMDZ long chained climate simulations |
|---|
| 33 | including installation of the model itself. |
|---|
| 34 | |
|---|
| 35 | It consists in running LMDZ coupled to Orchidee for land surface (optional) |
|---|
| 36 | but with imposed sea surface temperature. |
|---|
| 37 | |
|---|
| 38 | The basic default configuration makes use of the IPSL-CM6A grid configuration |
|---|
| 39 | and tuning, and runs a multi annual simulation on "climatological" |
|---|
| 40 | amip sea surface temperature (with a mean annual cycle) using |
|---|
| 41 | a calendar with 360 days. |
|---|
| 42 | |
|---|
| 43 | Optionally : the configuration includes the ability to use interannually |
|---|
| 44 | varying SST and to activate "nudgning" by reanalysis. |
|---|
| 45 | In both cases, the calendar is then a real one. |
|---|
| 46 | When nudging is activated, the simulation must be run on a monthly |
|---|
| 47 | basis, while otherwise, it can be either monthly or yearly. |
|---|
| 48 | |
|---|
| 49 | Since the tutorial automatically generates its own initial files, it |
|---|
| 50 | can be run with zoom configurations by only changing the number |
|---|
| 51 | of grid points ("resol" in main.sh) and the DEF/gcm.def file (see bellow). |
|---|
| 52 | |
|---|
| 53 | Aerosols can be read for the year 2000 (weighted average over 1999-2001 cf Lurton et al 2020), |
|---|
| 54 | and instantaneous forcing with respect to 1850 can be computed as well. |
|---|
| 55 | NEW (end 2020) : |
|---|
| 56 | tutorial_prod can also run LMDZ coupled with the SPLA model |
|---|
| 57 | (SimPLe Aerosol, activated with option aerosols=spla in setup.sh). |
|---|
| 58 | Emissions of dust and sea salt are then computed interactively. |
|---|
| 59 | 2021-05 : tutorial_prod OK, code LMDZ-SPLA OK, |
|---|
| 60 | regridding SPLA input files : work in progress |
|---|
| 61 | |
|---|
| 62 | A configuration with isotopes is also available since 2023-04. |
|---|
| 63 | |
|---|
| 64 | =================================================================== |
|---|
| 65 | II. Files and scripts |
|---|
| 66 | =================================================================== |
|---|
| 67 | ---------------------------------------------------------------- |
|---|
| 68 | EXPERT : |
|---|
| 69 | If the login groupe and computing allocation groupe are different : |
|---|
| 70 | choose on which STORE space you work (login vs computing allocation); |
|---|
| 71 | edit lmdz_env.sh, and set "groupe", "SCRATCHD" etc. accordingly. |
|---|
| 72 | If you want to install the package in a dedicated folder instead of the root of $STORE: |
|---|
| 73 | set STORED=$STORE/your_folder in lmdz_env.sh |
|---|
| 74 | ---------------------------------------------------------------- |
|---|
| 75 | |
|---|
| 76 | main.sh : a script written to pass options to the main script setup.sh |
|---|
| 77 | |
|---|
| 78 | setup.sh : sets up one (series of) simulation(s) by editing the "job" script_SIMU |
|---|
| 79 | When run with -init 1 options, creates INIT and LIMIT directories |
|---|
| 80 | Run ./setup.sh -h for options |
|---|
| 81 | RECOMMENDATION: do not run it directly, but use main.sh to drive it |
|---|
| 82 | |
|---|
| 83 | script_SIMU : script that is the basis for the job to run the simulations |
|---|
| 84 | Automatically edited by setup.sh |
|---|
| 85 | |
|---|
| 86 | reb.sh : to rebuild splitted outputfiles (parallelism with IOISPL) |
|---|
| 87 | automatically run by script_SIMU |
|---|
| 88 | |
|---|
| 89 | era2gcm_tuto.sh : to interpolate reanalysis onto the GCM grid, for nudging. |
|---|
| 90 | To be run manually after the first use of main.sh |
|---|
| 91 | |
|---|
| 92 | era2gcm_uv10m.nc : for option "aerosols=spla" only : |
|---|
| 93 | to interpolate reanalysis 10m-winds onto the GCM grid, for sea-salt (and dust) emissions. |
|---|
| 94 | To be run manually after the first use of main.sh. |
|---|
| 95 | |
|---|
| 96 | season.sh : computing seasonal means and daily time series |
|---|
| 97 | |
|---|
| 98 | interp_aerosols.sh : interpolating aerosols on the GCM grid. |
|---|
| 99 | Automatically run by setup.sh |
|---|
| 100 | |
|---|
| 101 | post_season.sh : post processing a series of simulations with season.sh |
|---|
| 102 | |
|---|
| 103 | test_ERAfiles_JeanZay.sh : script to test the availability of ERA* files sur Jean-Zay |
|---|
| 104 | In case of nudging, one may use it before running era2gcm.sh |
|---|
| 105 | |
|---|
| 106 | DEF: .def files for simulations |
|---|
| 107 | Some of them are changed by setup.sh or script_SIMU depending on chosen options |
|---|
| 108 | Some others need to be chosen and customized BEFORE RUNNING the scripts (main.sh or setup.sh): |
|---|
| 109 | DEF/config.def (versions *.def_* available): output files, frequencies, levels (see lines phys_out_file*) |
|---|
| 110 | DEF/gcm.def (versions *.def_* available): grid (and grid-related) parameters |
|---|
| 111 | DEF/guide.def : nudging parameters |
|---|
| 112 | |
|---|
| 113 | ============================================================ |
|---|
| 114 | III. Downloading input data |
|---|
| 115 | ============================================================ |
|---|
| 116 | |
|---|
| 117 | Installation requires downloading data from |
|---|
| 118 | from http://http://lmdz.lmd.jussieu.fr/pub/3DInputData |
|---|
| 119 | Downloading is managed by a series of functions found in |
|---|
| 120 | lmdz_env.sh: wget_pub cp_from_pub ln_from_pub get_input_files |
|---|
| 121 | |
|---|
| 122 | One specificity of LMDZ_Setup is to enable installation on any account on any machine, |
|---|
| 123 | downloading data from wget. |
|---|
| 124 | All data are gathered on a directory $LMDZpub so that the |
|---|
| 125 | downloading is done once for all for a given account. |
|---|
| 126 | LMDZsub can be changed on in lmdz_env.sh |
|---|
| 127 | |
|---|
| 128 | This is very small compared to the amount of data generated. |
|---|
| 129 | So I think we're very parsimonious in our use of IT resources. |
|---|
| 130 | The counterpart is that LMDZ_Setup doesn't manage a lot of different configurations |
|---|
| 131 | in terms of boundary conditions, forcing, etc. |
|---|
| 132 | libiGCM installations should be privileged then. |
|---|
| 133 | |
|---|
| 134 | |
|---|
| 135 | ============================================================ |
|---|
| 136 | IV. Known problems |
|---|
| 137 | ============================================================ |
|---|
| 138 | |
|---|
| 139 | Running zoomed or coarse grid simulations |
|---|
| 140 | May cause problems with routing and aerosols |
|---|
| 141 | Suggesting to run without aerosols, aerosols="n", in this case |
|---|
| 142 | |
|---|
| 143 | |
|---|
| 144 | ============================================================ |
|---|
| 145 | V. Updates (reverse chronological order) |
|---|
| 146 | ============================================================ |
|---|
| 147 | |
|---|
| 148 | 2025-01 (FH) : retravail de l'accès au données sur http://lmdz... |
|---|
| 149 | reactivation options sequential/debug. |
|---|
| 150 | Configuration SPLA muti machines |
|---|
| 151 | |
|---|
| 152 | 2024-11 (AB) : Travail de portage multi-machine par Amaury Barral. |
|---|
| 153 | Précédemment sur jean-zay uniquement. |
|---|
| 154 | Porté sur adastra et machines locales. |
|---|
| 155 | |
|---|
| 156 | 2023-07 (AS-FH-LF) : mise sous svn du repertoire TEST_PROD, renommé en "LMDZ_config" |
|---|
| 157 | |
|---|
| 158 | 2023-06 (AS) : Ajout de l'option "veget=7994", pour ORCHIDEE trunk correspondant à la config libIGCM LMDZOR_6.4work |
|---|
| 159 | Le routage (méthode = simple) est désactivé par défaut ; |
|---|
| 160 | il peut être activé comme décrit dans la section "ORCHIDEE-routage". |
|---|
| 161 | Le routage n’a pas été testé avec zoom. |
|---|
| 162 | |
|---|
| 163 | 2023-05 (AS) : optimisation du functionnement de l'option isotopes : tout géré par phys=lmdiso |
|---|
| 164 | |
|---|
| 165 | 2023-04 (S Nguyen) : introducing the option of running with isotopes) |
|---|
| 166 | |
|---|
| 167 | 2021-10 (AS): introducing the option of using the new snow scheme INLANDSIS (setup.sh) |
|---|
| 168 | Option not active yet, E Vignon will take care of that. |
|---|
| 169 | |
|---|
| 170 | 2020 (AS): introducing the possibility to run with SPLA aerosol model |
|---|
| 171 | |
|---|
| 172 | 24/03/2020 (FH): corrections for use with AMIP SSTs and monthly freq |
|---|
| 173 | |
|---|
| 174 | ============================================================ |
|---|
| 175 | VI. TBD |
|---|
| 176 | ============================================================ |
|---|
| 177 | See documentation (link of the shared google doc in the beginning of this Readme) |
|---|
| 178 | |
|---|
| 179 | |
|---|
| 180 | Notes concernant Orchidee |
|---|
| 181 | ------------------------- |
|---|
| 182 | |
|---|
| 183 | Plusieurs versions disponibles via la clé veget |
|---|
| 184 | veget=CMIP6 : version CMIP6 |
|---|
| 185 | veget=XXX : XXX numéro de relase svn d'orchidee |
|---|
| 186 | XXX+:1 |
|---|
| 187 | |
|---|
| 188 | On rapatrie automatiquement des champs nécessaires pour les dernières versions d'orchidee |
|---|
| 189 | PFTmap_IPCC_2000.nc cartepente2d_15min.nc routing.nc routing_simple.nc lai2D.nc \ |
|---|
| 190 | alb_bg_modisopt_2D_ESA_v2.nc reftemp.nc \ |
|---|
| 191 | soils_param.nc woodharvest_2000.nc PFTmap_15PFT.v1_2000.nc soil_bulk_and_ph.nc \ |
|---|
| 192 | |
|---|
| 193 | Les deriners fichiers sont nécessaires seulement |
|---|
| 194 | ndep_nhx.nc ndep_noy.nc nfert_cropland.nc nfert_pasture.nc nmanure_cropland.nc nmanure_pasture.nc bnf.nc" ;; |
|---|
| 195 | |
|---|
| 196 | |
|---|
| 197 | |
|---|
| 198 | Notes concernant la confiugration SPLA |
|---|
| 199 | -------------------------------------- |
|---|
| 200 | Pour l'instant on copie là-dedans de chez Binta les fichiers a la res zoomNaf; |
|---|
| 201 | plus tard on y recupererea des fichiers a haute resolution reguliere depuis http:/LMDZ, |
|---|
| 202 | a regrider ensuite par un script interp_fichiers_spla.sh (comme pour aerosols="clim") |
|---|
| 203 | Les fichiers (regrides, sauf SOILSPEC.data utilise tel quel) seront mis dans $MAINDIR/INPUT_SPLA (equivalent de INPUT_DUST) |
|---|
| 204 | The Path below is for JEANZAY. See with the team how to adapt to your cluster. |
|---|
| 205 | |
|---|
| 206 | #for file in donnees_lisa.nc SOILSPEC.data \ # For Chimere dust emissions |
|---|
| 207 | # cly.dat $( for i in $(seq 1 12 ) ; do echo dust$i.nc ; done ) wth.dat \ # For Inca dust emissions |
|---|
| 208 | # carbon_emissions.nc sulphur_emissions_antro.nc sulphur_emissions_nat.nc \ # For non dust emissions |
|---|
| 209 | |
|---|
| 210 | #Cas particulier des fichiers mensuels dust.nc :A DECIDER : |
|---|
| 211 | #C'est entre le cas des aerosols.clim= 1 seul fichier, annuel, |
|---|
| 212 | # et le cas des vents guidage, pré-interpolés avec era2gcm pour toute la periode, dans MAINDIR/GUIDE. |
|---|
| 213 | # On pourrait (a)demander de precalculer dust.nc aussi, dans MAINDIR/INPUT_SPLA - avec un script à adapter de Jeronimo. Rien a mettre dans SPLA_Init alors. |
|---|
| 214 | # Ou (b) fournir dans SPLA_Init les 12 mois d'un dust.nc climato (an 2006 pour nous ici) à la res EC, et faire juste le regrid vers MAINDIR/INPUT_SPLA |
|---|
| 215 | |
|---|
| 216 | A la fin on doit avoir dans SPLA_Init les fichiers initiaux dans INITIAL plus les repertoires PERIOD00MM contenant dust.nc |
|---|
| 217 | Cela doit se retrouver dans script_SIMU qui les copie dans le repertoire de run sur $SCRATCH |
|---|
| 218 | |
|---|