Changeset 5429 for BOL


Ignore:
Timestamp:
Dec 19, 2024, 10:19:22 AM (5 weeks ago)
Author:
fhourdin
Message:

Improving geting files from http://... + README0

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===================================================================
     2LMDZ_Setup is a software suite for installing LMDZ and automatically
     3automatically run a number of configurations.
     4Authors: Frédéric Hourdin, Adriana Sima, Amaury Baral, Laurent Fairhead (and the LMDZ team)
     5
     6Last modification : 2024/12/19
    27===================================================================
    38
    49Complementary information and FAQ (in French) :
    510https://docs.google.com/document/d/1OLZG6e-86NiXuv5-aALxKIh-QPkp4BdCwWtiBFot-6c
     11
     12
     13===================================================================
     140. Target platforms
     15===================================================================
     16Default gfortran/bash installation on local computers.
     17Specific 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
     22Machine configuration dependency is managed by lmdz_env.sh
     23
    624
    725===================================================================
     
    4866===================================================================
    4967----------------------------------------------------------------
    50 
    51 CAREFUL: these scripts MUST be run from $STORE !!!!!
    52 
    53   untar the tutorial_prod.tar file in your $STORE
    54   rename the TEST_PROD directory if you want to;
    55   then run everything from this newly created directory
    56 
    5768     EXPERT :
    5869     If the login groupe and computing allocation groupe are different :
     
    101112
    102113============================================================
    103 III. Known problems
     114III. Repatriation of input data
     115============================================================
     116
     117Installation requires downloading data from
     118from http://http://lmdz.lmd.jussieu.fr/pub/3DInputData
     119Repatriation is managed by a series of functions found in
     120lmdz_env.sh: wget_pub cp_from_pub ln_from_pub get_input_files
     121
     122In my opinion, LMDZ_Setup's approach to data management is to be able to perform a complete
     123installation on any account on any machine, by distributing data from wget http://lmdz....
     124In the new version, you don't duplicate any of the fields you download, and you only download them once to an account.
     125This is very small compared to the amount of data generated.
     126So I think we're very parsimonious in our use of IT resources.
     127Of 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.
     128But that's where libiGCM comes in.
     129
     130
     131============================================================
     132IV. Known problems
    104133============================================================
    105134
    106135Running zoomed or coarse grid simulations
    107136    May cause problems with routing and aerosols
    108     Suggesting to put in DEF/config.def
    109     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============================================================
     141V. Updates (reverse chronological order)
     142============================================================
     143
     1442024-12 (FH) : retravail de l'accès au données sur http://lmdz...
     145
     1462024-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
    1211502023-07 (AS-FH-LF) : mise sous svn du repertoire TEST_PROD, renommé en "LMDZ_config"
    122151
     
    138167
    139168============================================================
    140 V. TBD
     169VI. TBD
    141170============================================================
    142171See documentation (link of the shared google doc in the beginning of this Readme)
    143172
    144173
     174Notes concernant Orchidee
     175-------------------------
     176
     177Plusieurs versions disponibles via la clé veget
     178veget=CMIP6 : version CMIP6
     179veget=XXX   : XXX numéro de relase svn d'orchidee
     180    XXX+:1
     181
     182On rapatrie automatiquement des champs nécessaires pour les dernières versions d'orchidee
     183PFTmap_IPCC_2000.nc cartepente2d_15min.nc routing.nc routing_simple.nc lai2D.nc \
     184alb_bg_modisopt_2D_ESA_v2.nc reftemp.nc \
     185soils_param.nc woodharvest_2000.nc PFTmap_15PFT.v1_2000.nc soil_bulk_and_ph.nc  \
     186
     187Les deriners fichiers sont nécessaires seulement
     188ndep_nhx.nc ndep_noy.nc nfert_cropland.nc nfert_pasture.nc nmanure_cropland.nc nmanure_pasture.nc bnf.nc" ;;
     189
     190
     191
     192Notes concernant la confiugration SPLA
     193--------------------------------------
     194Pour l'instant on copie là-dedans de chez Binta les fichiers a la res zoomNaf;
     195plus tard on y recupererea des fichiers a haute resolution reguliere depuis http:/LMDZ,
     196a regrider ensuite par un script interp_fichiers_spla.sh (comme pour aerosols="clim")
     197Les fichiers (regrides, sauf SOILSPEC.data utilise tel quel) seront mis dans $MAINDIR/INPUT_SPLA (equivalent de INPUT_DUST)
     198The 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
     210A la fin on doit avoir dans SPLA_Init les fichiers initiaux dans INITIAL plus les repertoires PERIOD00MM contenant dust.nc
     211Cela 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  
    99
    1010# <root_dir> will be set by sed by setup.sh here
    11 root_dir=/home/hourdin/TMP/TEST
     11root_dir=/home/hourdin/TMP/TestF
    1212pub_store=1
    1313
     
    177177}
    178178
     179#-----------------------------------------------------------------------------------------------------
     180function 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
    179208get_hostname
    180209echo "Setting up lmdz_env on $hostname"
  • BOL/LMDZ_Setup/script_SIMU

    r5428 r5429  
    226226  fi
    227227
    228   # Rapatriement des fichiers pour SPLA.
    229   # AFAIRE : si le wget marche de toutes les machines, enlever le wget_pub equivalent dans setup.sh
    230   #          et le faire automatiquement dans ln_from_pub
    231228  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
    238230    ln -s dust$mo.nc dust.nc
    239 
    240231    # Le calcul d'emissions de sels marins utilise les vents ERA-10m interpoles sur grille_s (lonv,latu) avec le script era2gcm_uv10m.sh
    241232    # 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
    242234    ventl="u10m.nc v10m.nc"
    243235    for file in $ventl ; do ${GET} $ERA10mDIR/${year}/${month}/$file . ; done
     
    258250
    259251if [ $VEGET = y ] ; then
     252
    260253    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
    271255    \cp -f DEF/orchidee*.def .
    272256
    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
    276259    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
    284263       ln -sf alb_bg_modisopt_2D_ESA_v2.nc alb_bg.nc
    285 
    286264       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
    290267       sed -e 's/^SECHIBA_restart_in.*./SECHIBA_restart_in=NONE/' \
    291268           -e 's/^STOMATE_RESTART_FILEIN.*./STOMATE_RESTART_FILEIN=NONE/' \
    292269           -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
    300279    fi
    301280
  • BOL/LMDZ_Setup/setup.sh

    r5428 r5429  
    475475}
    476476
     477#----------------------------------------------------------------------
    477478function fetch_simu_init_files() {
     479#----------------------------------------------------------------------
    478480  #####################################################################
    479481  echo "Recuperation eventuelle de certains fichiers sur http:lmdz.lmd.jussieu.fr/pub"
    480482  #####################################################################
    481483
    482   #-------------------------------------------------------------------
    483484  #  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
    495487  # 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#----------------------------------------------------------------------
    541495function run_sim_or_init() {
     496#----------------------------------------------------------------------
    542497  cd "$local"
    543498
Note: See TracChangeset for help on using the changeset viewer.