- Timestamp:
- Dec 19, 2024, 10:19:22 AM (5 weeks ago)
- Location:
- BOL/LMDZ_Setup
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
BOL/LMDZ_Setup/README0_HowTo
r4615 r5429 1 Last update : 2023-07-05 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 2 7 =================================================================== 3 8 4 9 Complementary information and FAQ (in French) : 5 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 6 24 7 25 =================================================================== … … 48 66 =================================================================== 49 67 ---------------------------------------------------------------- 50 51 CAREFUL: these scripts MUST be run from $STORE !!!!!52 53 untar the tutorial_prod.tar file in your $STORE54 rename the TEST_PROD directory if you want to;55 then run everything from this newly created directory56 57 68 EXPERT : 58 69 If the login groupe and computing allocation groupe are different : … … 101 112 102 113 ============================================================ 103 III. Known problems 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 104 133 ============================================================ 105 134 106 135 Running zoomed or coarse grid simulations 107 136 May cause problems with routing and aerosols 108 Suggesting to put in DEF/config.def109 ok_cdnc=n 110 ok_ade=n 111 ok_aie=n 112 flag_aerosol=0 113 and in DEF/orchidee*.def 114 RIVER_ROUTING=n : because of this, it is set to n by default 115 Be carefull, depending on the version of orchidee used, the job will 116 choose the corresponding version of DEF/orchidee_6.*.def 117 118 ============================================================ 119 IV. Updates (reverse chronological order) 120 ============================================================ 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 121 150 2023-07 (AS-FH-LF) : mise sous svn du repertoire TEST_PROD, renommé en "LMDZ_config" 122 151 … … 138 167 139 168 ============================================================ 140 V . TBD169 VI. TBD 141 170 ============================================================ 142 171 See documentation (link of the shared google doc in the beginning of this Readme) 143 172 144 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 -
BOL/LMDZ_Setup/lmdz_env.sh
r5426 r5429 9 9 10 10 # <root_dir> will be set by sed by setup.sh here 11 root_dir=/home/hourdin/TMP/T EST11 root_dir=/home/hourdin/TMP/TestF 12 12 pub_store=1 13 13 … … 177 177 } 178 178 179 #----------------------------------------------------------------------------------------------------- 180 function get_input_files() { 181 #----------------------------------------------------------------------------------------------------- 182 local method=$1 183 local target=$2 184 case $target in 185 186 Orchidee) local files="PFTmap_IPCC_2000.nc cartepente2d_15min.nc routing.nc routing_simple.nc lai2D.nc \ 187 alb_bg_modisopt_2D_ESA_v2.nc reftemp.nc \ 188 soils_param.nc woodharvest_2000.nc PFTmap_15PFT.v1_2000.nc soil_bulk_and_ph.nc \ 189 ndep_nhx.nc ndep_noy.nc nfert_cropland.nc nfert_pasture.nc nmanure_cropland.nc nmanure_pasture.nc bnf.nc" ;; 190 191 AerChem) local files="aerosols1850_from_inca.nc aerosols9999_from_inca.nc" ;; 192 193 SPLA_WA/emissions) local files="donnees_lisa.nc SOILSPEC.data \ 194 cly.dat $( for i in $(seq 1 12 ) ; do echo dust$i.nc ; done ) wth.dat \ 195 carbon_emissions.nc sulphur_emissions_antro.nc sulphur_emissions_nat.nc \ 196 sulphur_emissions_volc.nc" ;; 197 198 *) echo target $target non available in get_input_files ; exit 1 ;; 199 esac 200 201 if [[ $method != wget_pub && $method != ln_from_pub ]] ; then 202 echo method $method not available in get_input_files ; exit 1 203 fi 204 for file in $files ; do $method 3DInputData/$target $file ; done 205 206 } 207 179 208 get_hostname 180 209 echo "Setting up lmdz_env on $hostname" -
BOL/LMDZ_Setup/script_SIMU
r5428 r5429 226 226 fi 227 227 228 # Rapatriement des fichiers pour SPLA.229 # AFAIRE : si le wget marche de toutes les machines, enlever le wget_pub equivalent dans setup.sh230 # et le faire automatiquement dans ln_from_pub231 228 if [[ $aerosols = "spla" ]]; then 232 for file in donnees_lisa.nc SOILSPEC.data \ 233 cly.dat $( for i in $(seq 1 12 ) ; do echo dust$i.nc ; done ) wth.dat \ 234 carbon_emissions.nc sulphur_emissions_antro.nc sulphur_emissions_nat.nc \ 235 sulphur_emissions_volc.nc ; do 236 ln_from_pub 3DInputData/SPLA_WA/emissions $file 237 done 229 get_input_files ln_from_pub SPLA_WA/emissions 238 230 ln -s dust$mo.nc dust.nc 239 240 231 # Le calcul d'emissions de sels marins utilise les vents ERA-10m interpoles sur grille_s (lonv,latu) avec le script era2gcm_uv10m.sh 241 232 # NB : GET=ln -s ; ERA10mDIR contient lui-meme le lien ERA10m vers le repertoire des vents interpoles $REA_uv10m (REA=ERA5, ERAI ou OPERA) 233 echo WORK IN PROGRESS FOR SPLA ; exit 1 242 234 ventl="u10m.nc v10m.nc" 243 235 for file in $ventl ; do ${GET} $ERA10mDIR/${year}/${month}/$file . ; done … … 258 250 259 251 if [ $VEGET = y ] ; then 252 260 253 set +e ; for t in stomate sechiba ; do cp $SIMUDIR/start_$t.$ym.nc ${t}_rest_in.nc ; done ; set -e 261 if [ "`grep RIVER_ROUTING orchidee.def |grep -i y`" ] ; then 262 set +e 263 for file in routing_simple.nc routing.nc ; do 264 ln_from_pub 3DInputData/Orchideee routing.nc 265 done 266 cp $SIMUDIR/start_routing.$ym.nc routing_start.nc 267 set -e 268 fi 269 270 #For Orchidee trunk (post-CMIP6), orchidee_pft.def must be copied in addition to orchidee.def 254 #For Orchidee trunk (post-CMIP6), orchidee_pft.def must be copied in addition to orchidee.def 271 255 \cp -f DEF/orchidee*.def . 272 256 273 # Test sur sechiba_rest_in.nc, 274 # supposant que les restarts pour sechiba, stomate, et routing le cas echeant, 275 # sont soit tous dispo, soit tous absents 257 # If no sechiba restart is found, the restart files for sechiba, stomate, 258 # and routing are created on line in the simulation, requiring Orchidee input files 276 259 if [ ! -f sechiba_rest_in.nc ] ; then 277 echo '#########################################################' 278 echo "Autoinitialisation d'orchidee au besoin" 279 echo '#########################################################' 280 for file in cartepente2d_15min.nc \ 281 lai2D.nc soils_param.nc soil_bulk_and_ph.nc alb_bg_modisopt_2D_ESA_v2.nc reftemp.nc ; do 282 ln_from_pub 3DInputData/Orchidee $file 283 done 260 261 get_input_files ln_from_pub Orchidee # linking all orchidee input files 262 284 263 ln -sf alb_bg_modisopt_2D_ESA_v2.nc alb_bg.nc 285 286 264 echo ATTENTION : ON UTILISE LES FICHIERS DE L ANNEE 2000 287 ln_from_pub 3DInputData/Orchidee PFTmap_15PFT.v1_2000.nc ; ln -s PFTmap_15PFT.v1_2000.nc PFTmap.nc 288 ln_from_pub 3DInputData/Orchidee woodharvest_2000.nc ; ln -s woodharvest_2000.nc woodharvest.nc 289 265 ln -s PFTmap_15PFT.v1_2000.nc PFTmap.nc 266 ln -s woodharvest_2000.nc woodharvest.nc 290 267 sed -e 's/^SECHIBA_restart_in.*./SECHIBA_restart_in=NONE/' \ 291 268 -e 's/^STOMATE_RESTART_FILEIN.*./STOMATE_RESTART_FILEIN=NONE/' \ 292 269 -i orchidee.def 293 294 if [ $veget = 7994 ] ; then 295 for file in ndep_nhx.nc ndep_noy.nc nfert_cropland.nc nfert_pasture.nc nmanure_cropland.nc nmanure_pasture.nc bnf.nc ; do 296 ln_from_pub 3DInputData/Orchidee $file 297 done 298 fi 299 270 fi 271 272 # Input files for routing are always needed 273 if [ "`grep RIVER_ROUTING orchidee.def |grep -i y`" ] ; then 274 set +e 275 ln_from_pub 3DInputData/Orchideee routing.nc 276 ln_from_pub 3DInputData/Orchideee routing_simple.nc 277 cp $SIMUDIR/start_routing.$ym.nc routing_start.nc 278 set -e 300 279 fi 301 280 -
BOL/LMDZ_Setup/setup.sh
r5428 r5429 475 475 } 476 476 477 #---------------------------------------------------------------------- 477 478 function fetch_simu_init_files() { 479 #---------------------------------------------------------------------- 478 480 ##################################################################### 479 481 echo "Recuperation eventuelle de certains fichiers sur http:lmdz.lmd.jussieu.fr/pub" 480 482 ##################################################################### 481 483 482 #-------------------------------------------------------------------483 484 # ORCHIDEE input files 484 #------------------------------------------------------------------- 485 # Files previously in NITROGEN_for_ORtrunk.tar and downloaded only for veget = 7994 486 for file in PFTmap_IPCC_2000.nc cartepente2d_15min.nc routing.nc routing_simple.nc lai2D.nc \ 487 soils_param.nc woodharvest_2000.nc PFTmap_15PFT.v1_2000.nc soil_bulk_and_ph.nc \ 488 ndep_nhx.nc ndep_noy.nc nfert_cropland.nc nfert_pasture.nc nmanure_cropland.nc nmanure_pasture.nc bnf.nc \ 489 ; do 490 wget_pub 3DInputData/Orchidee $file 491 done 492 cd - > /dev/null 493 494 #------------------------------------------------------------------- 485 get_input_files wget_pub Orchidee 486 495 487 # Files for aerosols and chemistry 496 #------------------------------------------------------------------- 497 if [[ $aerosols = "clim" ]]; then 498 for file in aerosols1850_from_inca.nc aerosols9999_from_inca.nc; do 499 wget_pub 3DInputData/AerChem $file 500 done 501 cd - > /dev/null 502 fi 503 504 # For SPLA 505 #------------------- 506 # Pour l'instant on copie là-dedans de chez Binta les fichiers a la res zoomNaf; 507 # plus tard on y recupererea des fichiers a haute resolution reguliere depuis http:/LMDZ, 508 # a regrider ensuite par un script interp_fichiers_spla.sh (comme pour aerosols="clim") 509 # Les fichiers (regrides, sauf SOILSPEC.data utilise tel quel) seront mis dans $MAINDIR/INPUT_SPLA (equivalent de INPUT_DUST) 510 # The Path below is for JEANZAY. See with the team how to adapt to your cluster. 511 512 if [[ $aerosols = "spla" ]]; then 513 #for file in donnees_lisa.nc SOILSPEC.data \ # For Chimere dust emissions 514 # cly.dat $( for i in $(seq 1 12 ) ; do echo dust$i.nc ; done ) wth.dat \ # For Inca dust emissions 515 # carbon_emissions.nc sulphur_emissions_antro.nc sulphur_emissions_nat.nc \ # For non dust emissions 516 for file in donnees_lisa.nc SOILSPEC.data \ 517 cly.dat $( for i in $(seq 1 12 ) ; do echo dust$i.nc ; done ) wth.dat \ 518 carbon_emissions.nc sulphur_emissions_antro.nc sulphur_emissions_nat.nc \ 519 sulphur_emissions_volc.nc ; do 520 wget_pub 3DInputData/emissions $file 521 done 522 523 ### 524 #Cas particulier des fichiers mensuels dust.nc :A DECIDER : 525 #C'est entre le cas des aerosols.clim= 1 seul fichier, annuel, 526 # et le cas des vents guidage, pré-interpolés avec era2gcm pour toute la periode, dans MAINDIR/GUIDE. 527 # 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. 528 # 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 529 530 #A la fin on doit avoir dans SPLA_Init les fichiers initiaux dans INITIAL plus les repertoires PERIOD00MM contenant dust.nc 531 #Cela doit se retrouver dans script_SIMU qui les copie dans le repertoire de run sur $SCRATCH 532 fi 533 #------------------------------------------------------------------- 534 # Fichiers Init 535 #------------------------------------------------------------------- 536 for file in alb_bg_modisopt_2D_ESA_v2.nc reftemp.nc ; do 537 wget_pub 3DInputData/Orchidee $file 538 done 539 } 540 488 if [[ $aerosols = "clim" ]]; then get_input_files wget_pub AerChem ; fi 489 490 # Files for SPLA 491 if [[ $aerosols = "spla" ]]; then get_input_files wget_pub SPLA_WA/emissions ; fi 492 } 493 494 #---------------------------------------------------------------------- 541 495 function run_sim_or_init() { 496 #---------------------------------------------------------------------- 542 497 cd "$local" 543 498
Note: See TracChangeset
for help on using the changeset viewer.