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. Repatriation of input data |
---|
115 | ============================================================ |
---|
116 | |
---|
117 | Installation requires downloading data from |
---|
118 | from http://http://lmdz.lmd.jussieu.fr/pub/3DInputData |
---|
119 | Repatriation 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 | In my opinion, LMDZ_Setup's approach to data management is to be able to perform a complete |
---|
123 | installation on any account on any machine, by distributing data from wget http://lmdz.... |
---|
124 | In the new version, you don't duplicate any of the fields you download, and you only download them once to an account. |
---|
125 | This is very small compared to the amount of data generated. |
---|
126 | So I think we're very parsimonious in our use of IT resources. |
---|
127 | Of course, this has to do with the fact that we don't manage a lot of different configurations in terms of boundary conditions, forcing, etc. |
---|
128 | But that's where libiGCM comes in. |
---|
129 | |
---|
130 | |
---|
131 | ============================================================ |
---|
132 | IV. Known problems |
---|
133 | ============================================================ |
---|
134 | |
---|
135 | Running zoomed or coarse grid simulations |
---|
136 | May cause problems with routing and aerosols |
---|
137 | Suggesting to run without aerosols, aerosols="n", in this case |
---|
138 | |
---|
139 | |
---|
140 | ============================================================ |
---|
141 | V. Updates (reverse chronological order) |
---|
142 | ============================================================ |
---|
143 | |
---|
144 | 2024-12 (FH) : retravail de l'accès au données sur http://lmdz... |
---|
145 | |
---|
146 | 2024-11 : Travail de portage multi-machine par Amaury Barral. |
---|
147 | Précédemment sur jean-zay uniquement. |
---|
148 | Porté sur adastra et machines locales. |
---|
149 | |
---|
150 | 2023-07 (AS-FH-LF) : mise sous svn du repertoire TEST_PROD, renommé en "LMDZ_config" |
---|
151 | |
---|
152 | 2023-06 (AS) : Ajout de l'option "veget=7994", pour ORCHIDEE trunk correspondant à la config libIGCM LMDZOR_6.4work |
---|
153 | Le routage (méthode = simple) est désactivé par défaut ; |
---|
154 | il peut être activé comme décrit dans la section "ORCHIDEE-routage". |
---|
155 | Le routage n’a pas été testé avec zoom. |
---|
156 | |
---|
157 | 2023-05 (AS) : optimisation du functionnement de l'option isotopes : tout géré par phys=lmdiso |
---|
158 | |
---|
159 | 2023-04 (S Nguyen) : introducing the option of running with isotopes) |
---|
160 | |
---|
161 | 2021-10 (AS): introducing the option of using the new snow scheme INLANDSIS (setup.sh) |
---|
162 | Option not active yet, E Vignon will take care of that. |
---|
163 | |
---|
164 | 2020 (AS): introducing the possibility to run with SPLA aerosol model |
---|
165 | |
---|
166 | 24/03/2020 (FH): corrections for use with AMIP SSTs and monthly freq |
---|
167 | |
---|
168 | ============================================================ |
---|
169 | VI. TBD |
---|
170 | ============================================================ |
---|
171 | See documentation (link of the shared google doc in the beginning of this Readme) |
---|
172 | |
---|
173 | |
---|
174 | Notes concernant Orchidee |
---|
175 | ------------------------- |
---|
176 | |
---|
177 | Plusieurs versions disponibles via la clé veget |
---|
178 | veget=CMIP6 : version CMIP6 |
---|
179 | veget=XXX : XXX numéro de relase svn d'orchidee |
---|
180 | XXX+:1 |
---|
181 | |
---|
182 | On rapatrie automatiquement des champs nécessaires pour les dernières versions d'orchidee |
---|
183 | PFTmap_IPCC_2000.nc cartepente2d_15min.nc routing.nc routing_simple.nc lai2D.nc \ |
---|
184 | alb_bg_modisopt_2D_ESA_v2.nc reftemp.nc \ |
---|
185 | soils_param.nc woodharvest_2000.nc PFTmap_15PFT.v1_2000.nc soil_bulk_and_ph.nc \ |
---|
186 | |
---|
187 | Les deriners fichiers sont nécessaires seulement |
---|
188 | ndep_nhx.nc ndep_noy.nc nfert_cropland.nc nfert_pasture.nc nmanure_cropland.nc nmanure_pasture.nc bnf.nc" ;; |
---|
189 | |
---|
190 | |
---|
191 | |
---|
192 | Notes concernant la confiugration SPLA |
---|
193 | -------------------------------------- |
---|
194 | Pour l'instant on copie là-dedans de chez Binta les fichiers a la res zoomNaf; |
---|
195 | plus tard on y recupererea des fichiers a haute resolution reguliere depuis http:/LMDZ, |
---|
196 | a regrider ensuite par un script interp_fichiers_spla.sh (comme pour aerosols="clim") |
---|
197 | Les fichiers (regrides, sauf SOILSPEC.data utilise tel quel) seront mis dans $MAINDIR/INPUT_SPLA (equivalent de INPUT_DUST) |
---|
198 | The Path below is for JEANZAY. See with the team how to adapt to your cluster. |
---|
199 | |
---|
200 | #for file in donnees_lisa.nc SOILSPEC.data \ # For Chimere dust emissions |
---|
201 | # cly.dat $( for i in $(seq 1 12 ) ; do echo dust$i.nc ; done ) wth.dat \ # For Inca dust emissions |
---|
202 | # carbon_emissions.nc sulphur_emissions_antro.nc sulphur_emissions_nat.nc \ # For non dust emissions |
---|
203 | |
---|
204 | #Cas particulier des fichiers mensuels dust.nc :A DECIDER : |
---|
205 | #C'est entre le cas des aerosols.clim= 1 seul fichier, annuel, |
---|
206 | # et le cas des vents guidage, pré-interpolés avec era2gcm pour toute la periode, dans MAINDIR/GUIDE. |
---|
207 | # 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. |
---|
208 | # 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 |
---|
209 | |
---|
210 | A la fin on doit avoir dans SPLA_Init les fichiers initiaux dans INITIAL plus les repertoires PERIOD00MM contenant dust.nc |
---|
211 | Cela doit se retrouver dans script_SIMU qui les copie dans le repertoire de run sur $SCRATCH |
---|
212 | |
---|