Changeset 616
- Timestamp:
- Apr 3, 2026, 2:32:27 PM (7 days ago)
- Location:
- trunk
- Files:
-
- 2 added
- 3 edited
-
models/ARPCLIMAT/param_test (added)
-
models/ARPCLIMAT/serie_ARPCLIMAT.sh (modified) (8 diffs)
-
models/ARPCLIMAT/setup_ARPCLIMAT.sh (modified) (1 diff)
-
setup.sh (modified) (4 diffs)
-
src/Rlibs_3.6.1.txt (added)
Legend:
- Unmodified
- Added
- Removed
-
trunk/models/ARPCLIMAT/serie_ARPCLIMAT.sh
r198 r616 2 2 3 3 #set -ex 4 5 ##### TO DO ####### 6 # - selections des variables d'interet du 1D et conversion au format commun 7 # - reecrir proprement ce script sous forme de fonction 8 4 9 5 10 if [ $# != 2 ] ; then … … 10 15 fi 11 16 12 DIRMUSC=$REP_MUSC 13 WORKDIR=`pwd` 14 15 model=ARPCLIMAT 16 #model=AROME 17 18 #case=ARMCU 19 #subcase=REF 20 #case=AYOTTE 21 #subcase=24SC 17 ##### lecture des arguments 22 18 tmp=$1 23 19 case="$(sed 's/\/.*//' <<< "$tmp")" … … 26 22 nwave=$2 27 23 24 25 ##### specificitées du modèle 26 ##### => copier le fonctionnement de LMDZ avec un passage 27 ##### de ces specificités en option quand c'est pertinant 28 model=ARPCLIMAT 29 #model=AROME 30 31 ##### Quelques "declarations" dont certaines seront éventuellement 32 ##### automatisées 33 DIRMUSC=/home/gmgec/mrgc/coulondecorzensm/MUSC/V2.5.4 34 35 nlev=91 #grille verticale 36 timestep=300 # ?? 37 GROUP=V642 # doit équibaloir à groupe 38 simuREF=CMIP6 # ?? 39 namref=$DIRMUSC/namelist/ARPCLIMAT/nam.atm.tl127l91r.CMIP6.v642.LPBLEoff 40 41 namsfx=$DIRMUSC/namelist/SURFEX/nam.sfx.tl127.CMIP6.v631 42 43 GROUPREF=V642 44 EXPREF=arp642.stab_CMIP6.LPBLEoff 45 configref=$DIRMUSC/config/config_${EXPREF}.py 46 47 48 #MASTER=/home/common/pack/arp631/bin/MASTER 49 #PGD=/home/common/pack/arp631/bin/PGD 50 #PREP=/home/common/pack/arp631/bin/PRE 51 52 53 54 55 56 ###### Debut du code ##### 57 WORKDIR=`pwd` 58 59 ## Chemins specifiques à htexplo 28 60 PARAM=$WORKDIR/WAVE${nwave}/Par1D_Wave${nwave}.asc 29 30 61 repout=$WORKDIR/WAVE${nwave}/${case}/${subcase} 31 62 DIRNAMELIST=$WORKDIR/WAVE$nwave/namelist 32 63 DIRCONFIG=$WORKDIR/WAVE$nwave/config 33 64 65 ## Chemins spécifiques à MUSC 66 DIROUTMUSC=${DIRMUSC}/simulations/${GROUPREF}/${EXPREF} 34 67 35 68 # A few variables in the environment to specify the simulation configuration (model component) 36 69 # Please edit param_ARPCLIMAT 37 70 38 . ./param_ARPCLIMAT71 #. ./param_ARPCLIMAT 39 72 40 73 # Type of cleaning : no, nc, lfa, nclfa, all … … 51 84 echo 'nlev = '$nlev 52 85 echo 'timestep = '$timestep 53 echo ' cycle = '$cycle86 echo 'GROUP = '$GROUP 54 87 echo 'simuref = '$simuREF 55 88 echo 'namref = '$namref … … 85 118 86 119 # Preparation des fichiers de config 87 python prep_config_tunning.py $nl $name $case $subcase $nwave $model $simuREF $cycle $MASTER $PGD $PREP $namsfx 120 python prep_config_tuning.py $nwave $nl $name $configref $GROUP 121 #$nl $name $case $subcase $nwave $model $simuREF $GROUP $MASTER $PGD $PREP $namsfx 88 122 mv config_* $DIRCONFIG 89 123 … … 120 154 rm -f $WORKDIR/err.log 121 155 122 for i in `seq -f "%03g" 1 ${nl}` 156 install_dir=$WORKDIR/../../../install_shared 157 source $install_dir/base_env.profile 158 source $DIRMUSC/setenv 37 ### A generaliser avec l'install automatique de MUSC 159 160 for i in `seq -w 001 ${nl}` 123 161 #for i in `seq -f "%03g" 1 2` 124 162 do 125 if [ $model == 'ARPCLIMAT' ]; then 126 ln -s $DIRMUSC/SURFEX/${cycle}/${simuREF} $DIRMUSC/SURFEX/${cycle}/${simuREF}.${name}-${nwave}-$i 127 fi 128 run_MUSC_cases.py $DIRCONFIG/config_${cycle}_${simuREF}.${name}-${nwave}-$i.py $case $subcase 163 SIMID=${EXPREF}.${name}-${nwave}-$i 164 DIRSIMMUSC=${DIRMUSC}/simulations/${GROUP}/${SIMID}/${case}/${subcase} 165 echo SIMID $SIMID 166 echo DIRSIMMUSC $DIRSIMMUSC 167 if [ $model == 'ARPCLIMAT' ]; then 168 ln -s $DIRMUSC/SURFEX/${GROUP}/${simuREF} $DIRMUSC/SURFEX/${GROUP}/${simuREF}.${name}-${nwave}-$i 169 fi 170 #python MUSC.py -config $DIRCONFIG/config_${GROUP}_${simuREF}.${name}-${nwave}-$i.py -case $case -subcase $subcase 171 #echo python MUSC.py -config $DIRCONFIG/config_${EXPREF}.${name}-${nwave}-$i.py -case $case -subcase $subcase --run-only 172 echo python MUSC.py -config $DIRCONFIG/config_${SIMID}.py -case $case -subcase $subcase 173 python MUSC.py -config $DIRCONFIG/config_${SIMID}.py -case $case -subcase $subcase 174 #run_MUSC_cases.py $DIRCONFIG/config_${GROUP}_${simuREF}.${name}-${nwave}-$i.py $case $subcase 129 175 # Pour être cohérent avec le calcul fait sur les LES 130 cdo houravg $ DIRMUSC/simulations/${cycle}/${simuREF}.${name}-${nwave}-$i/L${nlev}_${timestep}s/$case/$subcase/Output/netcdf/Out_klevel.nc $repout/${name}-${nwave}-$i.nc || echo $i >> $WORKDIR/err.log131 if [ $model == 'ARPCLIMAT' ]; then 132 rm -f $DIRMUSC/SURFEX/${ cycle}/${simuREF}.${name}-${nwave}-$i176 cdo houravg ${DIRSIMMUSC}/Output/netcdf/Out_klevel.nc $repout/${name}-${nwave}-$i.nc || echo $i >> $WORKDIR/err.log 177 if [ $model == 'ARPCLIMAT' ]; then 178 rm -f $DIRMUSC/SURFEX/${GROUP}/${simuREF}.${name}-${nwave}-$i 133 179 fi 134 180 if [ $clean == 'nc' ]; then 135 rm -rf $DIRMUSC/simulations/${ cycle}/${simuREF}.${name}-${nwave}-$i/L${nlev}_${timestep}s/$case/$subcase/Output/netcdf/*.nc181 rm -rf $DIRMUSC/simulations/${GROUP}/${simuREF}.${name}-${nwave}-$i/L${nlev}_${timestep}s/$case/$subcase/Output/netcdf/*.nc 136 182 fi 137 183 if [ $clean == 'lfa' ]; then 138 rm -rf $DIRMUSC/simulations/${ cycle}/${simuREF}.${name}-${nwave}-$i/L${nlev}_${timestep}s/$case/$subcase/Output/LFAf/*.lfa184 rm -rf $DIRMUSC/simulations/${GROUP}/${simuREF}.${name}-${nwave}-$i/L${nlev}_${timestep}s/$case/$subcase/Output/LFAf/*.lfa 139 185 fi 140 186 if [ $clean == 'nclfa' ]; then 141 rm -rf $DIRMUSC/simulations/${ cycle}/${simuREF}.${name}-${nwave}-$i/L${nlev}_${timestep}s/$case/$subcase/Output/netcdf/*.nc142 rm -rf $DIRMUSC/simulations/${ cycle}/${simuREF}.${name}-${nwave}-$i/L${nlev}_${timestep}s/$case/$subcase/Output/LFAf/*.lfa187 rm -rf $DIRMUSC/simulations/${GROUP}/${simuREF}.${name}-${nwave}-$i/L${nlev}_${timestep}s/$case/$subcase/Output/netcdf/*.nc 188 rm -rf $DIRMUSC/simulations/${GROUP}/${simuREF}.${name}-${nwave}-$i/L${nlev}_${timestep}s/$case/$subcase/Output/LFAf/*.lfa 143 189 fi 144 190 if [ $clean == 'all' ]; then 145 rm -rf $DIRMUSC/simulations/${ cycle}/${simuREF}.${name}-${nwave}-$i191 rm -rf $DIRMUSC/simulations/${GROUP}/${simuREF}.${name}-${nwave}-$i 146 192 fi 147 193 done … … 185 231 do 186 232 if [ $model == 'ARPCLIMAT' ]; then 187 ln -s $DIRMUSC/SURFEX/${ cycle}/${simuREF} $DIRMUSC/SURFEX/${cycle}/${simuREF}.${name}-${nwave}-$i188 fi 189 run_MUSC_cases.py $DIRCONFIG/config_${ cycle}_${simuREF}.${name}-${nwave}-$i.py $case $subcase233 ln -s $DIRMUSC/SURFEX/${GROUP}/${simuREF} $DIRMUSC/SURFEX/${GROUP}/${simuREF}.${name}-${nwave}-$i 234 fi 235 run_MUSC_cases.py $DIRCONFIG/config_${GROUP}_${simuREF}.${name}-${nwave}-$i.py $case $subcase 190 236 # Pour être cohérent avec le calcul fait sur les LES 191 cdo houravg $DIRMUSC/simulations/${ cycle}/${simuREF}.${name}-${nwave}-$i/L${nlev}_${timestep}s/$case/$subcase/Output/netcdf/Out_klevel.nc $repout/tmp_${name}-${nwave}-$i.nc || echo $i >> $WORKDIR/$ERROUT237 cdo houravg $DIRMUSC/simulations/${GROUP}/${simuREF}.${name}-${nwave}-$i/L${nlev}_${timestep}s/$case/$subcase/Output/netcdf/Out_klevel.nc $repout/tmp_${name}-${nwave}-$i.nc || echo $i >> $WORKDIR/$ERROUT 192 238 cd $repout 193 239 ncks -v wpvp_conv,wpthp_conv,wpthp_pbl,wpup_conv,wpup_pbl,wpqp_conv,wpqp_pbl -d levh,1,91 tmp_${name}-${nwave}-$i.nc ${name}-${nwave}-$i.nc 194 240 195 241 if [ $model == 'ARPCLIMAT' ]; then 196 rm -f $DIRMUSC/SURFEX/${ cycle}/${simuREF}.${name}-${nwave}-$i242 rm -f $DIRMUSC/SURFEX/${GROUP}/${simuREF}.${name}-${nwave}-$i 197 243 fi 198 244 done … … 203 249 204 250 cd $WORKDIR 251 source $install_dir/base_env.profile 252 source $install_dir/env.sh -
trunk/models/ARPCLIMAT/setup_ARPCLIMAT.sh
r99 r616 1 # Pour l'instant, ARPEGE ne tourne que sur belenos, où il y a le binaire déjà compilé 2 # Commencer par ecrire des scripts pour ARPEGE uniquement sur belenos 3 # On verra la suite après 4 # Ici il faut 5 # - Prevoir l'install automatique de MUSC 6 # - gérer les chemins des binaires 7 # - écrire le model info ===> Enfait je me demande si ça va pas plus dans le serie_ARPCLIMAT.sh ça 1 8 2 9 10 DIRMUSC=/home/gmgec/mrgc/coulondecorzensm/MUSC/V2.5.4 11 12 GROUP=V642 ### Je sais pas ce que c'est 13 14 namref=$DIRMUSC/namelist/ARPCLIMAT/nam.atm.tl127l91r.CMIP6.v642.LPBLEoff 15 16 GROUPREF=V642 #### Ca non plus 17 EXPREF=arp642.stab_CMIP6.LPBLEoff 18 configref=$DIRMUSC/config/config_${EXPREF}.py 19 20 21 model=ARPCLIMAT #### j'imagine que ça peut tourner avec d'autres modeles meteo france 22 23 24 25 ####### OLD ####### 3 26 # To be modified if namelists and binaries are not at the default location 4 27 #PREP=/home/common/pack/arp603_export.01.GFORTRAN610.cx/bin/PREP 5 cat << EOF > models/ARPCLIMAT/param_ARPCLIMAT6 nlev=917 timestep=3008 cycle=arp6319 simuREF=CMIP610 namref=$REP_MUSC/namelist/ARPCLIMAT/nam.atm.tl127l91r.CMIP6.v63111 12 namsfx=$REP_MUSC/namelist/SURFEX/nam.sfx.tl127.CMIP6.v63113 14 MASTER=/home/common/pack/arp631/bin/MASTER15 PGD=/home/common/pack/arp631/bin/PGD16 PREP=/home/common/pack/arp631/bin/PREP17 # MASTER=/Users/romainroehrig/rootpack/arp603_export.01.MPIGNU640.x/bin/MASTERODB18 # PGD=/Users/romainroehrig/rootpack/arp603_export.01.MPIGNU640.x/bin/PGD19 # PREP=/Users/romainroehrig/rootpack/arp603_export.01.MPIGNU640.x/bin/PREP20 EOF28 #cat << EOF > models/ARPCLIMAT/param_ARPCLIMAT 29 #nlev=91 30 #timestep=300 31 #cycle=arp631 32 #simuREF=CMIP6 33 #namref=$REP_MUSC/namelist/ARPCLIMAT/nam.atm.tl127l91r.CMIP6.v631 34 # 35 #namsfx=$REP_MUSC/namelist/SURFEX/nam.sfx.tl127.CMIP6.v631 36 # 37 #MASTER=/home/common/pack/arp631/bin/MASTER 38 #PGD=/home/common/pack/arp631/bin/PGD 39 #PREP=/home/common/pack/arp631/bin/PREP 40 ##MASTER=/Users/romainroehrig/rootpack/arp603_export.01.MPIGNU640.x/bin/MASTERODB 41 ##PGD=/Users/romainroehrig/rootpack/arp603_export.01.MPIGNU640.x/bin/PGD 42 ##PREP=/Users/romainroehrig/rootpack/arp603_export.01.MPIGNU640.x/bin/PREP 43 #EOF -
trunk/setup.sh
r615 r616 151 151 ;; 152 152 "beleno") cat > env.sh <<eod 153 # this config uses software R and pdfjam installed by villefranquen154 # relevant paths are added to PATH and LD_LIBRARY_PATH153 # Using intel compiler for belenos 154 # Just miss pdfjam 155 155 set +u # <module load> can trigger -u 156 156 # module purge tries to unalias condam but the alias does not exist so it raises an error 157 157 # so I create a false condam alias so that it can be unaliased... 158 158 alias condam="ls" 159 module purge 160 module load gcc/14.1.0 161 module load openmpi/gnu/4.1.2.1 162 module load python/3.10.12 163 export PATH=/opt/softs/libraries/GCC_5.3.0/cdo-1.7.0/bin/:\$PATH 164 export LD_LIBRARY_PATH=/opt/softs/gcc/14.1.0/lib64/:/opt/softs/anaconda3/envs/Python310/lib:\$LD_LIBRARY_PATH 165 export MPLBACKEND='Agg' # non-interactive plots 159 module () 160 { 161 eval \`/usr/bin/modulecmd bash \$*\` 162 } 163 module purge > /dev/null 2>&1 164 module load intel > /dev/null 2>&1 165 module load nco > /dev/null 2>&1 166 module load eccodes > /dev/null 2>&1 167 module load cdo > /dev/null 2>&1 168 module load python/3.7.6 > /dev/null 2>&1 169 module load R/3.6.1 > /dev/null 2>&1 170 export PATH="/opt/softs/anaconda3/bin:\$PATH" 171 export LD_LIBRARY_PATH=/opt/softs/anaconda3/lib/:\$LD_LIBRARY_PATH 166 172 export TAR=/usr/bin/tar # for R package install 167 173 eod … … 238 244 # Testing availability of various programs 239 245 #----------------------------------------------------------------------- 240 for exe in R Rscript cdo ncks $python pdfjam ; do 246 if [[ ${hostname:0:6} = "beleno" ]] ; then listprog="R Rscript cdo ncks $python" ; else listprog="R Rscript cdo ncks $python" pdfjam ;fi 247 #for exe in R Rscript cdo ncks $python pdfjam ; do 248 for exe in $listprog ; do 241 249 if [[ $(which "$exe") = "" ]] ; then echo "STOP: Can't find program <$exe>" ; exit 1 ; fi 242 250 done … … 316 324 if [[ $ExeterUQ = "ExeterUQ_MOGP" ]]; then 317 325 # Install additional required packages 318 pip install patsy matplotlib netcdf4 "pandas==2.3.1"seaborn326 pip install patsy matplotlib netcdf4 pandas seaborn 319 327 # Try pypi, otherwise git commit 320 328 if ! pip install "mogp-emulator==$mogp_commit"; then … … 353 361 # This is particularly a pain when we want to support machines with different versions of R installed. 354 362 # The list and order of packages below is an attempt to circumvent that, but I hope we can find a cleaner way in the future.... 355 if ! eval "$htune_dir/src/CheckInstallPackages.sh" Rcpp lattice Matrix reticulateinvgamma GenSA far dotCall64 spam fields lhs maps mco ncdf4 shape tensor withr loo MASS pracma mvtnorm flexclust tmvtnorm tictoc ars HI coda MfUSampler ; then363 if ! eval "$htune_dir/src/CheckInstallPackages.sh" Rcpp lattice reticulate Matrix invgamma GenSA far dotCall64 spam fields lhs maps mco ncdf4 shape tensor withr loo MASS pracma mvtnorm flexclust tmvtnorm tictoc ars HI coda MfUSampler ; then 356 364 echo "STOP: Problem encountered when installing R packages"; exit 1 357 365 fi
Note: See TracChangeset
for help on using the changeset viewer.
