Changeset 5550


Ignore:
Timestamp:
Feb 19, 2025, 11:26:20 AM (41 hours ago)
Author:
fhourdin
Message:

LMDZ_Setup post processing

Location:
BOL/LMDZ_Setup
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • BOL/LMDZ_Setup/lmdz_env.sh

    r5541 r5550  
    99
    1010# <root_dir> will be set by sed by setup.sh here
     11pwd
     12
    1113root_dir=.
     14check_loc=1
     15
     16echo root_dir $root_dir
     17if [[ ! -d $root_dir ]]; then
     18  echo "STOP in $PWD/lmdz_env.sh: root_dir $root_dir not found, either you are running on an unsupported cluster, or the initialisation failed midway"; exit 1
     19fi
     20pwd
     21echo root_dir $root_dir
     22if [[ ! -f $root_dir/lmdz_env.sh ]]; then
     23  echo "STOP in $PWD/lmdz_env.sh: lmdz_env.sh not found on root_dir $root_dir, either you are running on an unsupported cluster, or the initialisation failed midway"; exit 1
     24fi
     25if [[ ! -f $root_dir/.lmdz_setup_root_dir  && $check_loc = 1 ]]; then
     26  echo "STOP in $PWD/lmdz_env.sh: file .lmdz_setup_root_dir not found in root_dir $root_dir"; exit 1
     27fi
     28
     29
    1230pub_store=1
    1331PARALLEL=1
     
    232250set_env
    233251
    234 if [[ ! (-d $root_dir && -f $root_dir/.lmdz_setup_root_dir && -f $root_dir/lmdz_env.sh) ]]; then
    235   echo "STOP: root_dir $root_dir not found, either you are running on an unsupported cluster, or the initialisation failed midway"; exit 1
    236 fi
     252export ARCH=$ARCH
     253export SIMRUNBASEDIR=$SIMRUNBASEDIR
     254export LMDZD=$LMDZD
     255export LMDZ_INIT=$LMDZ_INIT
     256export NB_MPI_MAX=$NB_MPI_MAX
     257export NB_OMP_MAX=$NB_OMP_MAX
     258export NB_CORE_PER_NODE_MAX=$NB_CORE_PER_NODE_MAX
     259export N_HYPERTHREADING=$N_HYPERTHREADING
     260export MPICMD=$MPICMD
     261export RUNBASHCMD=$RUNBASHCMD
  • BOL/LMDZ_Setup/post_season.sh

    r4615 r5550  
     1#!/bin/bash
    12
    2 sims="NPv6.1"
     3sims="NPv6.3"
    34for s in $sims ; do ./seasonal.sh $s ; done
    45
  • BOL/LMDZ_Setup/seasonal.sh

    r4615 r5550  
    22
    33#set -vx
     4local_d=$PWD
    45
    5 module load cdo
     6if [ ! -f lmdz_env.sh ] ; then echo This script requires lmdz_env.sh script for configuration ; exit 1 ; fi
     7# . lmdz_env.sh $local_d
     8. lmdz_env.sh
    69
    710sim=$1
     
    912PRE=FH$MAINDIR
    1013echo $PRE
    11 STORED=$STORE
    12 WORKD=$WORK
     14STORED=$root_dir
     15WORKD=$SIMRUNBASEDIR
     16POST=$SIMRUNBASEDIR/$MAINDIR/POST/$sim
     17OUT_D=$WORKD/$MAINDIR/$sim/Analyse
    1318
    1419se=1
    1520cosp=0
    1621da=0
     22cmor=1
     23
     24liste_suf=""
     25if [ $se = 1 ] ; then liste_suf="$liste_suf mth" ; fi
     26if [ $cosp = 1 ] ; then liste_suf="$liste_suf mthCOSP" ; fi
     27if [ $da = 1 ] ; then liste_suf="$liste_suf day" ; fi
    1728
    1829if [ ! -d $sim ] ; then echo la simulation $sim n existe pas ; exit ; fi
     
    2031
    2132yri=2001
    22 yrf=2003
     33yrf=2004
    2334
    2435yr=$yri
     
    3142listeday=""
    3243while [ $yr -le $yrf ] ; do
    33   for suf in day mth ; do
     44  for suf in $liste_suf ; do
    3445       echo Utilisation de hist$suf.${yr}.nc
    3546       if [ ! -f hist$suf.${yr}.nc ] ; then
     
    4960
    5061varse="pourc_ter,pourc_oce,pourc_lic,pourc_sic,bils,cldt,flat,LWdnSFC,LWdnSFCclr,LWupSFC,ovap,precip,q2m,rh2m,rhum,sens,slp,SWdnSFC,SWdnSFCclr,SWdnTOA,SWupSFC,SWupSFCclr,SWupTOA,SWupTOAclr,t2m,taux_oce,tauy_oce,temp,topl,topl0,tsol,tsol_oce,vitu,vitv,vitw,wind10m,z500,snow,pr_lsc_i,pr_lsc_l,geop,phis,prw,cldl,cldm,cldh,cldt,w500,tops,tops0,sols,sols0,soll,soll0"
     62varse="pourc_ter,pourc_oce,pourc_lic,pourc_sic,bils,cldt,flat,LWdnSFC,LWdnSFCclr,LWupSFC,ovap,precip,q2m,rh2m,rhum,sens,slp,SWdnSFC,SWdnSFCclr,SWdnTOA,SWupSFC,SWupSFCclr,SWupTOA,SWupTOAclr,t2m,temp,topl,topl0,tsol,vitu,vitv,vitw,wind10m,snow,pr_lsc_i,pr_lsc_l,geop,phis,prw,cldl,cldm,cldh,cldt,tops,tops0,sols,sols0,soll,soll0"
     63# variables enlevees taux_oce, tauy_oce, tsol_oce, z500
    5164
    5265vars1d="bils cldh cldl cldm cldq cldt evap flat pluc plul precip prw psol q2m q700 sens sicf slp soll sols SWdnSFC max min t2m t700 topl tops tsol u10m u700 u850 v10m v700 w700 wind10max wind10m"
     
    7588
    7689
    77 POST=$SCRATCH/$MAINDIR/POST/$sim
    7890mkdir -p $POST
     91echo Running seasonal.sh on $POST
    7992cd $POST
    8093
     
    90103#SBATCH --error=se_$sim%j   
    91104
    92 module purge
    93 module load intel-compilers/19.0.4
    94 module load nco
    95 module load cdo
     105. $local_d/lmdz_env.sh
    96106
    97107cd $POST
    98108ulimit -s unlimited
    99109MAINDIR=$MAINDIR
     110OUT_D=$OUT_D
    100111sim=$sim
    101112
    102 mkdir -p $WORKD/$MAINDIR/$sim/Analyse/SE $WORKD/$MAINDIR/$sim/Analyse/TS_DA
     113mkdir -p $OUT_D/SE $OUT_D/TS_DA
    103114
    104115if [ $se = 1 ] ; then
    105116   for mth in $listemth ; do
    106       ln -s $STORED/$MAINDIR/$sim/\$mth
     117      ln -s $STORED/$sim/\$mth
    107118   done
    108119   ncrcat -v $varse $listemth -O tmp.nc
     
    110121   if [ ! -f \$out ] ; then
    111122       cdo ymonmean tmp.nc \$out
    112        mv \$out $WORKD/$MAINDIR/$sim/Analyse/SE/\$out
    113        cd $WORKD ; mfthredds -d $MAINDIR/$sim/Analyse/SE $MAINDIR/$sim/Analyse/SE/\$out ; cd -
     123   fi
     124   if [ $cmor = 1 ] ; then
     125       for var in $( echo $varse | sed -e 's/,/ /g' ) ; do
     126          ncks -v \$var \$out -O $OUT_D/SE/\$var.nc
     127       done
     128   else
     129       mv \$out $OUT_D/SE/\$out
    114130   fi
    115131fi
     
    117133if [ $cosp = 1 ] ; then
    118134   for cosp in $listecosp ; do
    119       ln -s $STORED/$MAINDIR/$sim/\$cosp
     135      ln -s $STORED/$sim/\$cosp
    120136   done
    121137   ncrcat -v $varcosp $listecosp -O tmp.nc
     
    123139   if [ ! -f \$out ] ; then
    124140       cdo ymonmean tmp.nc \$out
    125        mv \$out $WORKD/$MAINDIR/$sim/Analyse/SE/\$out
    126        cd $WORKD ; mfthredds -d $MAINDIR/$sim/Analyse/SE $MAINDIR/$sim/Analyse/SE/\$out ; cd -
     141       mv \$out $OUT_D/SE/\$out
    127142   fi
    128143fi
     
    131146if [ $da = 1 ] ; then
    132147for day in $listeday ; do
    133    if [ ! -f \$day ] ; then ln -s $STORED/$MAINDIR/$sim/\$day ; fi
     148   if [ ! -f \$day ] ; then ln -s $STORED/$sim/\$day ; fi
    134149done
    135150for var in $vars1d ; do
     
    138153     echo ncrcat -v \$var $listeday \$out
    139154     ncrcat -v \$var $listeday \$out
    140      mv \$out $WORKD/$MAINDIR/$sim/Analyse/TS_DA/\$out
    141        cd $WORKD ; mfthredds -d $MAINDIR/$sim/Analyse/TS_DA $MAINDIR/$sim/Analyse/TS_DA/\$out ; cd -
     155     mv \$out $OUT_D/TS_DA/\$out
    142156   fi
    143157done
     
    146160
    147161
    148 sbatch post_$sim
     162submitcmd post_$sim
Note: See TracChangeset for help on using the changeset viewer.