#-Q- sxnec ################## #-Q- sxnec ## SXNEC IDRIS ## #-Q- sxnec ################## #-Q- sxnec #@$-r :XXX:XXX:XXX: # job name #-Q- sxnec #@$-me # send a mail when execution ends #-Q- sxnec #@$-eo # glue standard error and output #-Q- sxnec #@$-lT 1:00:00 # total time limit #-Q- sxnec #@$-lt 1:00:00 # processor time limit #-Q- sxnec #@$-lM 3Gb # memory limit #-Q- sxnec #@$-o sortie_XXXXXXX.1 # output file name #-Q- sxnec #@$-jo # sum up performances #-Q- sx6nec ################## #-Q- sx6nec ## SX6NEC CEA ## #-Q- sx6nec ################## #-Q- sx6nec #PBS -N :XXX:XXX:XXX: # job name #-Q- sx6nec #PBS -j o # glue standard error and output #-Q- sx6nec #PBS -o sortie_XXXXXXX.1 # output file name #-Q- sx6nec #PBS -S /usr/bin/ksh # shell type #-Q- sx6nec #PBS -l memsz_job=3gb # memory limit #-Q- sx6nec #PBS -l cputim_job=1:00:00 # time limit #-Q- fjvpp #################### #-Q- fjvpp ## FJVPP 5000 CEA ## #-Q- fjvpp #################### #-Q- fjvpp #@$-r :XXX:XXX:XXX: # job name #-Q- fjvpp #@$-me # send a mail when execution ends #-Q- fjvpp #@$-eo # glue standard error and output #-Q- fjvpp #@$-lT 1:00:00 # total time limit #-Q- fjvpp #@$-lt 1:00:00 # processor time limit #-Q- fjvpp #@$-lM 3Gb # memory limit #-Q- fjvpp #@$-o RRRRRRR/sortie_XXXXXXX.1 # output file name #-Q- fjvpp #@$-ko # output listing on the disk #-Q- fjvpp #@$-s /bin/ksh # shell type # # ######################################################################## ## ## Execution script for ORCHIDEE OFFLINE ## $Header: /home/ssipsl/CVSREP/ORCHIDEE_OL/EXP00/AA_job,v 1.5 2004/11/29 16:46:35 ssipsl Exp $ ## ## Rachid BENSHILA & Patricia CADULE ## Original ressources : ## Lancement Coupleur : Oasis team ## Lancement ORCA : Olivier Marti ## Lancement LMDZ : Laurent Fairhead ## Systeme de relances : Olivier Marti ## Atlas : Sebastien Denvil ## And inspiration from Gerhard Krinner ######################################################################### ##-- print the commands before and after their interpretation by ##-- the shell date set -vx ## #=============================================# # BEGINNING OF USER MODIFICATIONS # #=============================================# ######################################################################### ## ## 1. Current Modifications ## ######################################################################### ## ###-- Experience name # CEXPER=XXXXXXX # ###-- Forcing File (omitting .nc) # F_FILE=WG_cru # ###-- Run.def (omitting .def) # F_RUN=orchidee # ###-- Simulation length # units=Y # time unit duree_nostomate=0 # orchidee duree_offlineini=0 # teststomate duree_inistomate=0 # orchidee with stomate n_iter=0 # iteration duree_sechiba=0 # orchidee duree_stomate=0 # teststomate duree_carbonsol=0 # forcesoil duree_final=1 # orchidee # ###-- Postprocessing # OK_DIAG=n # ###-- Vegetation flags # ok_co2=y ok_stomate=n ok_dgvm=n # ###-- Restart if necessary (absolute pathname) # no_restart=y RESTART_SECH= RESTART_STOM= RESTART_DRI= # ###-- Some current flags # OK_WEATHER=y resolution_LON=1 resolution_LAT=1 limit_west=-180 limit_east=180 limit_north=90 limit_south=-90 sechistlev=5 sechistdt=2592000 stohistlev_sto=2 stohistlev_sec=10 stohistdt_sto=60 stohistdt_sec=15 sechiba_hist=sechiba_history.nc stomate_hist=stomate_history.nc moteur_dem=driver_start.nc moteur_redem=driver_restart.nc sechiba_dem=sechiba_start.nc sechiba_redem=sechiba_restart.nc stomate_dem=stomate_start.nc stomate_redem=stomate_restart.nc # ######################################################################### ## ## 2. Advanced modifications ## ######################################################################### ## ###-- Forcing and other files are stored together in this repository, you can specify yours # #-Q- sxnec R_STOCKAGE="gaya:/u/rech/ces/rces803/FORCAGE_OL" #-Q- sx6nec R_STOCKAGE="/dmnfs/p86bensh/FORCAGE_OL" #-Q- fjvpp R_STOCKAGE="/G/nymphea0/dmnfs/p86bensh/FORCAGE_OL" #-- Original files : //dods.idris.fr/rpsl003 # ###-- Flags you should not touch # OK_SITE=n # ###-- Execution repository # MODIPSL=MMMMMMM R_EXE=${MODIPSL}/bin R_UTILITAIRES=${MODIPSL}/modeles/ORCHIDEE_OL/Utilitaire JOB=${CEXPER} # ###-- A flag to add a level in your output repository ###-- for example for different experiences with the same Job # #FLAG= # ###-- Flag you should not touch (automatically set) # OK_SITE=n # #=============================================# # END OF USER MODIFICATIONS # #=============================================# ######################################################################### ## ## 3. Repositories definition ## ######################################################################### ###-- Data repository for input/output # R_DONNEES=/tmp/DATA/${CEXPER} #-Q- sxnec R_DONNEES=${WORKDIR}/DATA/${CEXPER} #-Q- sx6nec R_DONNEES=${SCRATCHDIR}/DATA/${CEXPER} #-Q- fjvpp R_DONNEES=${SCRATCHDIR}/DATA/${CEXPER} R_FICHIERS=SORTIES_CPL_IPSL/${CEXPER} # R_ENTREE_ORCHIDEE_OL=${R_DONNEES}/Entree/ORCHIDEE_OL R_SORTIE_ORCHIDEE_OL=${R_DONNEES}/Sortie/ORCHIDEE_OL R_FIC_ORCHIDEE_OL=${R_FICHIERS}/ORCHIDEE_OL # R_FIC_MORE=${R_FICHIERS}/More R_FIC_OUT=${R_FICHIERS}/Out R_FIC_EXE=${R_FICHIERS}/Exe R_FIC_MORE_U=${R_FIC_MORE}/Util # if [ ! -d ${R_DONNEES} ]; then mkdir -p ${R_ENTREE_ORCHIDEE_OL} mkdir -p ${R_SORTIE_ORCHIDEE_OL} fi # #-Q- sxnec mkdir -p ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG} #-Q- sx6nec mkdir -p ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG} ###-- Some shell functions #- function to change the run.def remplace() { sed "/$1/D" run.def > r2 cat <>r2 $1=$2 END mv r2 run.def } #- commands for files transfers PUT="echo PUT" GET="echo GET" #-Q- sxnec PUT=mfput #-Q- sx6nec PUT=putfer #-Q- fjvpp PUT=putcosmos #-Q- sxnec GET=mfget #-Q- sx6nec GET=getfer #-Q- fjvpp GET=getcosmos #-Q- sxnec RSH='rsh rhodes exec /bin/ksh' #-Q- sx6nec RSH='rsh mercure exec /bin/ksh' #-Q- fjvpp RSH='remsh ixia exec /bin/ksh' # demigr="echo demigr" #-Q- fjvpp demigr="/usr/local/bin/dmget" #-Q- sxnec demigr="/usr/local/bin/mfget" #-Q- sx6nec demigr="dmget" MKDIR="mkdir" #-Q- fjvpp MKDIR="/usr/X11R6/bin/mkdirhier" #- creation de repertoire sur le serveur fichier sur Fujitsu seulement #-Q- fjvpp RMKDIR="mkdir -p ${DMFDIR}/" #-Q- fjvpp ${RMKDIR}/${R_FIC_ORCHIDEE_OL} #-Q- fjvpp DPUT () { ( [ -d "AAAAAAA/$2" ] || ${RMKDIR}/$2 ) & ( ${PUT} $1 $2/$3 ) } #-Q- sxnec DPUT () { ( ${PUT} $1 $2/$3 ) } #-Q- sx6nec RMKDIR="mkdir -p AAAAAAA" #-Q- sx6nec DPUT () { ( [ -d "AAAAAAA/$2" ] || ${RMKDIR}/$2 ) && ( ${PUT} $1 AAAAAAA/$2/$3 ) } #-Q- fjvpp DGET () { ( ${GET} $2/$1 $3/$1 ) } #-Q- sxnec DGET () { ( ${GET} $2/$1 $3/$1 ) } #-Q- sx6nec DGET () { ( ${GET} $2/$1 $3/$1 ) } #-Q- fjvpp ${RMKDIR}/${R_FIC_ORCHIDEE_OL} #-Q- fjvpp ${RMKDIR}/${R_FIC_EXE} #-Q- fjvpp ${RMKDIR}/${R_FIC_MORE} #-Q- fjvpp ${RMKDIR}/${R_FIC_MORE}"/"${FLAG} #-Q- fjvpp ${RMKDIR}/${R_FIC_OUT} #-Q- fjvpp ${RMKDIR}/${R_FIC_OUT"/"${FLAG}} #-Q- fjvpp ${RMKDIR}/${R_FIC_MORE_U} # ###-- Work space (temporary) TMP=/tmp/${CEXPER} #-Q- sxnec TMP=${TMPDIR}/${CEXPER} #-Q- sx6nec ${MKDIR} ${SCRATCHDIR}/${CEXPER} #-Q- sx6nec TMP=${SCRATCHDIR}/${CEXPER}/${FLAG} #-Q- fjvpp ${MKDIR} ${SCRATCHDIR}/${CEXPER} #-Q- fjvpp TMP=${SCRATCHDIR}/${CEXPER}/${FLAG} # #-- Ceation if needed [ -d ${TMP} ] || ${MKDIR} ${TMP} # ######################################################################### ## ## 4. Get initial files ## ######################################################################### ## #-- Check if they are present #-- #-Q- sxnec Rapatrie () { [ -f $1/$2 ] || ( rcp ${R_STOCKAGE}/$2 $1 ;) } #-Q- sx6nec Rapatrie () { [ -f $1/$2 ] || ( getfer ${R_STOCKAGE}/$2 $1 ;) } #-Q- fjvpp Rapatrie () { [ -f $1/$2 ] || ( cp ${R_STOCKAGE}/$2 $1 ;) } # Rapatrie ${R_ENTREE_ORCHIDEE_OL} carteveg5km.nc || exit 1 Rapatrie ${R_ENTREE_ORCHIDEE_OL} irrigated.nc Rapatrie ${R_ENTREE_ORCHIDEE_OL} routing.nc || exit 1 Rapatrie ${R_ENTREE_ORCHIDEE_OL} soils_param.nc || exit 1 Rapatrie ${R_ENTREE_ORCHIDEE_OL} reftemp.nc || exit 1 Rapatrie ${R_ENTREE_ORCHIDEE_OL} lai2D.nc || exit 1 # ## #-- We get the restart files if needed if [ "${no_restart}" = "n" ] then #-Q- sxnec rcp $RESTART_SECH ${R_ENTREE_ORCHIDEE_OL}/$sechiba_dem #-Q- sxnec rcp $RESTART_STOM ${R_ENTREE_ORCHIDEE_OL}/$stomate_dem #-Q- sxnec rcp RESTART_DRI ${R_ENTREE_ORCHIDEE_OL}/$moteur_dem #-Q- sx6nec getfer $RESTART_SECH ${R_ENTREE_ORCHIDEE_OL}/$sechiba_dem #-Q- sx6nec getfer $RESTART_STOM ${R_ENTREE_ORCHIDEE_OL}/$stomate_dem #-Q- sx6nec getfer $RESTART_DRI ${R_ENTREE_ORCHIDEE_OL}/$moteur_dem #-Q- fjvpp cp $RESTART_SECH ${R_ENTREE_ORCHIDEE_OL}/$sechiba_dem #-Q- fjvpp cp $RESTART_STOM ${R_ENTREE_ORCHIDEE_OL}/$stomate_dem #-Q- fjvpp cp $RESTART_DRI ${R_ENTREE_ORCHIDEE_OL}/$moteur_dem fi ######################################################################### ## ## 5. Initialisations from the forcing file ## ######################################################################### ## Rapatrie ${R_ENTREE_ORCHIDEE_OL} ${F_FILE}.nc || exit 1 #-- If it is not a weather generator, we ask for the dates if [ -z "${JOUR_DEBUT_EXP}" ] && [ -z "${MOIS_DEBUT_EXP}" ] && [ -z "${AN_DEBUT_EXP}" ] && [ -z "${JOURS}" ] && [ -z "${MOIS}" } ] && [ -z "${ANS}" ] && [ -z "${JOUR_FINAL_EXP}" ] && [ -z "${MOIS_FINAL_EXP}" ] && [ -z "${AN_FINAL_EXP}" ] && [ "${OK_WEATHER}" = "n" ] then [ -f ${R_UTILITAIRES}/recup_date.py ] && cp ${R_UTILITAIRES}/recup_date.py . #-Q- sxnec rcp rhodes:${R_UTILITAIRES}/recup_date.py . chmod +rx recup_date.py [ -f ${R_UTILITAIRES}/calend365.py ] && cp ${R_UTILITAIRES}/calend365.py . #-Q- sxnec rcp rhodes:${R_UTILITAIRES}/calend365.py . chmod +rx calend365.py [ -f ${R_UTILITAIRES}/sortie_date.py ] && cp ${R_UTILITAIRES}/sortie_date.py . #-Q- sxnec rcp rhodes:${R_UTILITAIRES}/sortie_date.py . chmod +rx sortie_date.py DPUT recup_date.py ${R_FIC_MORE_U} recup_date.py DPUT calend365.py ${R_FIC_MORE_U} calend365.py DPUT sortie_date.py ${R_FIC_MORE_U} sortie_date.py ${RSH}< fic.date #-Q- sxnec . /home/rech/ces/rces803/cdat.login_ksh #-Q- sxnec /home_b/rech/ces/rces599/PYTHON/CDAT/bin/python sortie_date.py ${R_STOCKAGE}/${F_FILE}.nc > fic.date #-Q- sx6nec export PATH=/workdir/p25jype/CDAT/versions/CDAT_4.0b1_16_ia64/bin:$PATH #-Q- sx6nec/workdir/p25jype/CDAT/versions/CDAT_4.0b1_16_ia64/bin/python sortie_date.py$ {R_STOCKAGE}/${F_FILE}.nc > fic.date EOL R_EXPER=${QSUB_WORKDIR:-${PWD}} DGET fic.date ${R_FIC_MORE_U} ${R_EXPER} AN_DEBUT_EXP=`awk '{print $1}' ${R_EXPER}/fic.date` MOIS_DEBUT_EXP=`awk '{print $2}' ${R_EXPER}/fic.date` JOUR_DEBUT_EXP=`awk '{print $3}' ${R_EXPER}/fic.date` STEP_SEC=`awk '{print $4}' ${R_EXPER}/fic.date` TSTEP=`awk '{print $5}' ${R_EXPER}/fic.date` D_JOB_JOUR=`awk '{print $6}' ${R_EXPER}/fic.date` AN_FINAL_EXP=`awk '{print $7}' ${R_EXPER}/fic.date` MOIS_FINAL_EXP=`awk '{print $8}' ${R_EXPER}/fic.date` JOUR_FINAL_EXP=`awk '{print $9}' ${R_EXPER}/fic.date` fi DATE_DEBUT_EXP=$( printf "%04s%02s%02s\n" ${AN_DEBUT_EXP} ${MOIS_DEBUT_EXP} ${JOUR_DEBUT_EXP} ) DATE_FINAL_EXP=$( printf "%04s%02s%02s\n" ${AN_FINAL_EXP} ${MOIS_FINAL_EXP} ${JOUR_FINAL_EXP} ) # DATES is empty but could be used for future run DATES= if [ "${OK_SITE}" = "y" ] then DATES=${DATE_DEBUT_EXP}_${DATE_FINAL_EXP}_ fi ######################################################################### ## ## 6. Pre-Processing ## ######################################################################### # ============================================================================== # Copy the atlas files if necessary # ============================================================================== if [ "${OK_DIAG}" = "y" ] then #-Q- sxnec rcp rhodes:${R_UTILITAIRES}/AA_atlas . #-Q- sx6nec cp ${R_UTILITAIRES}/AA_atlas . #-Q- fjvpp cp ${R_UTILITAIRES}/AA_atlas . #-Q- sxnec sed -e "s,^#-Q- sxnec *,," AA_atlas | grep -v '^#-Q- ' > Job_atlas #-Q- sx6nec sed -e "s,^#-Q- sx6nec *,," AA_atlas | grep -v '^#-Q- ' > Job_atlas #-Q- fjvpp sed -e "s,^#-Q- fjvpp *,," AA_atlas | grep -v '^#-Q- ' > Job_atlas rm -f AA_atlas DPUT Job_atlas ${R_FIC_MORE_U} Job_atlas fi if [ "${OK_SITE}" = "y" ] then #-Q- sxnec rcp rhodes:${R_UTILITAIRES}/Job_atlas . #-Q- sx6nec cp ${R_UTILITAIRES}/Job_atlas . #-Q- fjvpp cp ${R_UTILITAIRES}/Job_atlas . DPUT Job_atlas ${R_FIC_MORE_U} Job_atlas #-Q- sxnec rcp rhodes:${R_UTILITAIRES}/Cabauw.cfg . #-Q- sx6nec cp ${R_UTILITAIRES}/Cabauw.cfg . #-Q- fjvpp cp ${R_UTILITAIRES}/Cabauw.cfg . DPUT Cabauw.cfg ${R_FIC_MORE_U} Cabauw.cfg fi # ============================================================================= # Time loop : this part should be useful to built a job following IPSL_CM4_v1 # ============================================================================= ##-- repertoire de controle des enchainements #-Q- sxnec R_EXPER=${QSUB_WORKDIR:-${PWD}} #-Q- sx6nec R_EXPER=${MODIPSL}/modeles/ORCHIDEE_OL/EXP00 #cd ${R_EXPER} ## ##- creation de ${JOB}.suivi qui contient la date du run en cours ou du run ##- en attente et de ${JOB}.log qui contient la trace des exeutions ## #DATE_DEBUT_EXP=$( printf "%04s%02s%02s\n" ${AN_DEBUT_EXP} ${MOIS_DEBUT_EXP} ${JOUR_DEBUT_EXP} ) #DATE_FIN_EXP=$( printf "%04s%02s%02s\n" ${AN_FINAL_EXP} ${MOIS_FINAL_EXP} ${JOUR_FINAL_EXP} ) # #if [ ! -f "${JOB}.suivi" ] #then # JOUR_DEB_JOB=${JOUR_DEBUT_EXP} ; MOIS_DEB_JOB=${MOIS_DEBUT_EXP} ; AN_DEB_JOB=${AN_DEBUT_EXP} # NUMERO=1 #cat <${JOB}.suivi #${AN_DEB_JOB} ${MOIS_DEB_JOB} ${JOUR_DEB_JOB} ${NUMERO} #EOF #echo `date` " Begining of Experience : " ${JOB} " in directory :" ${R_EXPER} > ${JOB}.log #fi # #cat ${JOB}.suivi | read AN_DEB_JOB MOIS_DEB_JOB JOUR_DEB_JOB NUMERO #echo ${AN_DEB_JOB} ${MOIS_DEB_JOB} ${JOUR_DEB_JOB} #echo "`date` $AN_DEB_JOB $MOIS_DEB_JOB $JOUR_DEB_JOB begin" >> ${JOB}.log ##-- # ============================================================================== # Copy thz binary files # ============================================================================== if [ -z ${TMP} ]; then echo " the variable TMP is empty !!!" exit fi cd ${TMP} || exit #- Clean the work space rm -f * # ----------------- ORCHIDEE_OL --------------------- [ -f ${R_EXE}/orchidee_ol ] && cp ${R_EXE}/orchidee_ol orchidee.e [ -f ${R_EXE}/teststomate ] && cp ${R_EXE}/teststomate teststomate.e [ -f ${R_EXE}/forcesoil ] && cp ${R_EXE}/forcesoil forcesoil.e #-Q- sxnec rcp rhodes:${R_EXE}/orchidee_ol orchidee.e && chmod +x orchidee.e #-Q- sxnec rcp rhodes:${R_EXE}/teststomate teststomate.e && chmod +x teststomate.e #-Q- sxnec rcp rhodes:${R_EXE}/forcesoil forcesoil.e && chmod +x forcesoil.e DPUT orchidee.e ${R_FIC_EXE}/${FLAG} ${CEXPER}_"${DATES}"orchidee.e DPUT teststomate.e ${R_FIC_EXE}/${FLAG} ${CEXPER}_"${DATES}"teststomate.e DPUT forcesoil.e ${R_FIC_EXE}/${FLAG} ${CEXPER}_"${DATES}"forcesoil.e # ============================================================================== # Copy the map # ============================================================================== cp ${R_ENTREE_ORCHIDEE_OL}/lai2D.nc . cp ${R_ENTREE_ORCHIDEE_OL}/carteveg5km.nc . cp ${R_ENTREE_ORCHIDEE_OL}/irrigated.nc . cp ${R_ENTREE_ORCHIDEE_OL}/routing.nc . cp ${R_ENTREE_ORCHIDEE_OL}/soils_param.nc . cp ${R_ENTREE_ORCHIDEE_OL}/reftemp.nc . cp ${R_ENTREE_ORCHIDEE_OL}/${F_FILE}.nc . if [ "${no_restart}" = "n" ] then cp ${R_ENTREE_ORCHIDEE_OL}/$sechiba_dem . cp ${R_ENTREE_ORCHIDEE_OL}/$stomate_dem . cp ${R_ENTREE_ORCHIDEE_OL}/$moteur_dem . fi # Copy the run.def # ============================================================================== cp ${R_EXPER}/${F_RUN}.def run.def remplace OUTPUT_FILE $sechiba_hist remplace STOMATE_OUTPUT_FILE $stomate_hist # change the flags in the run.def remplace RESTART_FILEIN $moteur_dem remplace RESTART_FILEOUT $moteur_redem remplace SECHIBA_restart_in $sechiba_dem remplace SECHIBA_rest_out $sechiba_redem remplace STOMATE_RESTART_FILEIN $stomate_dem remplace STOMATE_RESTART_FILEOUT $stomate_redem if [ "${OK_SITE}" = "n" ] then remplace FORCING_FILE ${F_FILE}.nc remplace SECHIBA_HISTLEVEL $sechistlev remplace WRITE_STEP $sechistdt remplace ALLOW_WEATHERGEN $OK_WEATHER remplace MERID_RES $resolution_LON remplace ZONAL_RES $resolution_LAT remplace LIMIT_WEST $limit_west remplace LIMIT_EAST $limit_east remplace LIMIT_NORTH $limit_north remplace LIMIT_SOUTH $limit_south fi ls -alF # loop counter let annee=0 ######################################################################### ## ## 7. Here comes the run ## ######################################################################### # #-Q- sxnec # nb d erreurs admises sur le NEC #-Q- sxnec export F_ERRCNT=999999 #-Q- sx6nec # nb d erreurs admises sur le NEC #-Q- sx6nec export F_ERRCNT=999999 #-Q- sx6nec export MPIPROGINF=all #-Q- sx6nec # nb max de caracteres par ligne dans le fichier d'output #-Q- sx6nec export F_SYSLEN=5000 #-Q- sxnec unset F_PROGINF #-Q- sx6nec unset MPIPROGINF ls -alF ls -lrt # when we do not have any restart file # if [ $no_restart = 'y' ] ; then let annee=0 let iter=0 remplace RESTART_FILEIN NONE remplace SECHIBA_restart_in NONE remplace STOMATE_RESTART_FILEIN NONE if [ $duree_nostomate -ne 0 ] ; then let annee=$annee+$duree_nostomate echo "we do "$duree_nostomate "year(s) without stomate to create a restart file" remplace STOMATE_OK_CO2 $ok_co2 remplace STOMATE_OK_STOMATE n remplace STOMATE_OK_DGVM n remplace STOMATE_WATCHOUT y remplace TIME_LENGTH $duree_nostomate$units time ./orchidee.e > out_orchidee"${annee}" # save the job output file DPUT out_orchidee"${annee}" ${R_FIC_OUT}"/"${FLAG} . # save the run.def cp used_run.def ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_used_run.def DPUT used_run.def ${R_FIC_MORE}"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_used_run.def cp run.def ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_run.def DPUT run.def ${R_FIC_MORE}"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_run.def # save history files DPUT $sechiba_hist ${R_FIC_ORCHIDEE_OL}"/"Output"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_sechiba_history.nc mv $sechiba_hist ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_sechiba_history.nc [ -f $stomate_hist ] && DPUT $stomate_hist ${R_FIC_ORCHIDEE_OL}"/"Output"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_stomate_history.nc [ -f $stomate_hist ] && mv $stomate_hist ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_stomate_history.nc # rename restart files mv $moteur_redem $moteur_dem mv $sechiba_redem $sechiba_dem [ -f $stomate_redem ] && mv $stomate_redem $stomate_dem # save restart files DPUT $moteur_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${moteur_dem} DPUT $sechiba_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${sechiba_dem} [ -f $stomate_dem ] && DPUT $stomate_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${stomate_dem} if [ "${OK_WEATHER}" = "y" ] ; then remplace RESTART_FILEIN $moteur_dem fi remplace SECHIBA_restart_in $sechiba_dem remplace STOMATE_RESTART_FILEIN $stomate_dem fi # duree_nostomate remplace STOMATE_WATCHOUT n if [ $duree_offlineini -ne 0 ] ; then let annee=$annee+$duree_offlineini remplace STOMATE_OK_STOMATE y remplace STOMATE_OK_DGVM n remplace STOMATE_HISTLEVEL $stohistlev_sto remplace STOMATE_HIST_DT $stohistdt_sto echo "We do "$duree_offlineini "year(s) with teststomate, without DGVM, for spinup." remplace TIME_LENGTH $duree_offlineini$units time ./teststomate.e > out_testomate"${annee}" # save job output file DPUT out_testomate"${annee}" ${R_FIC_OUT}"/"${FLAG} . # save the run.def cp used_run.def ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_used_run.def DPUT used_run.def ${R_FIC_MORE}"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_used_run.def cp run.def ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_run.def DPUT run.def ${R_FIC_MORE}"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_run.def # save history files DPUT $stomate_hist ${R_FIC_ORCHIDEE_OL}"/"Output"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_stomate_history.nc mv $stomate_hist ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_stomate_history.nc # rename restart files mv $moteur_redem $moteur_dem mv $sechiba_redem $sechiba_dem mv $stomate_redem $stomate_dem # save restart files DPUT $moteur_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${moteur_dem} DPUT $sechiba_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${sechiba_dem} DPUT $stomate_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${stomate_dem} if [ "${OK_WEATHER}" = "y" ] ; then remplace RESTART_FILEIN $moteur_dem fi remplace SECHIBA_restart_in $sechiba_dem remplace STOMATE_RESTART_FILEIN $stomate_dem fi # duree_offlineini if [ $duree_inistomate -ne 0 ] ; then let annee=$annee+$duree_inistomate remplace STOMATE_OK_STOMATE y remplace STOMATE_OK_DGVM n remplace STOMATE_HISTLEVEL $stohistlev_sec remplace STOMATE_HIST_DT $stohistdt_sec echo "We do "$duree_inistomate "year(s) with stomate, without DGVM, for spinup." remplace TIME_LENGTH $duree_inistomate$units time ./orchidee.e > out_orchidee"${annee}" # save job output file DPUT out_orchidee"${annee}" ${R_FIC_OUT}"/"${FLAG} . # save the run.def cp used_run.def ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_used_run.def DPUT used_run.def ${R_FIC_MORE}"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_used_run.def cp run.def ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_run.def DPUT run.def ${R_FIC_MORE}"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_run.def # save history files DPUT $sechiba_hist ${R_FIC_ORCHIDEE_OL}"/"Output"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_sechiba_history.nc mv $sechiba_hist ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_sechiba_history.nc [ -f $stomate_hist ] && DPUT $stomate_hist ${R_FIC_ORCHIDEE_OL}"/"Output"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_stomate_history.nc [ -f $stomate_hist ] && mv $stomate_hist ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_stomate_history.nc # rename restart files mv $moteur_redem $moteur_dem mv $sechiba_redem $sechiba_dem [ -f $stomate_redem ] && mv $stomate_redem $stomate_dem # save restart files DPUT $moteur_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${moteur_dem} DPUT $sechiba_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${sechiba_dem} [ -f $stomate_dem ] && DPUT $stomate_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${stomate_dem} if [ "${OK_WEATHER}" = "y" ] ; then remplace RESTART_FILEIN $moteur_dem fi remplace SECHIBA_restart_in $sechiba_dem remplace STOMATE_RESTART_FILEIN $stomate_dem fi # duree_inistomate fi # no_restart # after the restart part # if [ "${OK_SITE}" = "n" ] then remplace STOMATE_OK_STOMATE $ok_stomate remplace STOMATE_OK_DGVM $ok_dgvm fi # iteration counter let i=0 while [ $i -lt $n_iter ] ; do let i=i+1 echo echo ===================== echo ITERATION : $i echo ===================== if [ $duree_sechiba -ne 0 ] ; then # start with orchidee_ol echo echo orchidee_ol echo let annee=$annee+$duree_sechiba if [ "${OK_SITE}" = "n" ] then remplace TIME_LENGTH $duree_sechiba$units else remplace TIME_LENGTH 1Y remplace WRITE_STEP 86400 fi remplace STOMATE_HISTLEVEL $stohistlev_sec remplace STOMATE_HIST_DT $stohistdt_sec time ./orchidee.e > out_orchidee"${annee}" # save job output file DPUT out_orchidee"${annee}" ${R_FIC_OUT}"/"${FLAG} . # save the run.def cp used_run.def ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_used_run.def DPUT used_run.def ${R_FIC_MORE}"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_used_run.def cp run.def ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_run.def DPUT run.def ${R_FIC_MORE}"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_run.def # on sauvegarde les fichiers d'histoire DPUT $sechiba_hist ${R_FIC_ORCHIDEE_OL}"/"Output"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_sechiba_history.nc mv $sechiba_hist ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_sechiba_history.nc [ -f $stomate_hist ] && DPUT $stomate_hist ${R_FIC_ORCHIDEE_OL}"/"Output"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_stomate_history.nc [ -f $stomate_hist ] && mv $stomate_hist ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_stomate_history.nc # rename restart files mv $moteur_redem $moteur_dem mv $sechiba_redem $sechiba_dem [ -f $stomate_redem ] && mv $stomate_redem $stomate_dem # save restart files DPUT $moteur_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${moteur_dem} DPUT $sechiba_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${sechiba_dem} [ -f $stomate_dem ] && DPUT $stomate_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${stomate_dem} fi #duree_sechiba # at least now remplace STOMATE_RESTART_FILEIN $stomate_dem remplace SECHIBA_restart_in $sechiba_dem if [ $duree_stomate -ne 0 ] ; then # follow with teststomate echo echo teststomate echo let annee=$annee+$duree_stomate remplace TIME_LENGTH $duree_stomate$units remplace STOMATE_HISTLEVEL $stohistlev_sto remplace STOMATE_HIST_DT $stohistdt_sto time ./teststomate.e > out_teststomate"${annee}" # save job output file DPUT out_teststomate"${annee}" ${R_FIC_OUT}"/"${FLAG} . # save the run.def cp used_run.def ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_used_run.def DPUT used_run.def ${R_FIC_MORE}"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_used_run.def cp run.def ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_run.def DPUT run.def ${R_FIC_MORE}"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_run.def # save history files DPUT $stomate_hist ${R_FIC_ORCHIDEE_OL}"/"Output"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_stomate_history.nc mv $stomate_hist ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_stomate_history.nc # rename restart files mv $moteur_redem $moteur_dem mv $sechiba_redem $sechiba_dem mv $stomate_redem $stomate_dem # save restart files DPUT $moteur_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${moteur_dem} DPUT $sechiba_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${sechiba_dem} DPUT $stomate_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${stomate_dem} fi # duree_stomate done #n_iter if [ $duree_carbonsol -ne 0 ] ; then # end with forcesoil echo echo forcesoil echo let annee=$annee+$duree_carbonsol remplace TIME_LENGTH $duree_carbonsol$units time ./forcesoil.e > out_forcesoil"${annee}" # save job output file DPUT out_forcesoil"${annee}" ${R_FIC_OUT}"/"${FLAG} . # save the run.def cp used_run.def ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_used_run.def DPUT used_run.def ${R_FIC_MORE}"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_used_run.def cp run.def ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_run.def DPUT run.def ${R_FIC_MORE}"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_run.def # rename restart file for stomate mv $stomate_redem $stomate_dem # save restart file for stomate DPUT $stomate_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${stomate_dem} fi # duree_carbonsol if [ $duree_final -ne 0 ] ; then # on finit avec orchidee_ol echo echo "We do "$duree_final "year(s) to have a happy end" echo let annee=$annee+$duree_final echo echo orchidee_ol echo if [ "${OK_SITE}" = "n" ] then remplace TIME_LENGTH $duree_final$units else remplace TIME_LENGTH default remplace WRITE_STEP 1800 fi remplace STOMATE_HISTLEVEL $stohistlev_sec remplace STOMATE_HIST_DT $stohistdt_sec time ./orchidee.e > out_orchidee"${annee}" # save job output file DPUT out_orchidee"${annee}" ${R_FIC_OUT}"/"${FLAG} . # save the run.def cp used_run.def ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_used_run.def DPUT used_run.def ${R_FIC_MORE}"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_used_run.def cp run.def ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_run.def DPUT run.def ${R_FIC_MORE}"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_run.def # save history files DPUT $sechiba_hist ${R_FIC_ORCHIDEE_OL}"/"Output"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_sechiba_history.nc mv $sechiba_hist ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_sechiba_history.nc [ -f $stomate_hist ] && DPUT $stomate_hist ${R_FIC_ORCHIDEE_OL}"/"Output"/"${FLAG} ${CEXPER}_${DATES}${annee}_stomate_history.nc [ -f $stomate_hist ] && mv $stomate_hist ${R_SORTIE_ORCHIDEE_OL}"/"${FLAG}/${CEXPER}_"${DATES}"${annee}_stomate_history.nc # rename restart files mv $moteur_redem $moteur_dem mv $sechiba_redem $sechiba_dem [ -f $stomate_redem ] && mv $stomate_redem $stomate_dem # on sauvegarde les fichiers de redemarrage DPUT $moteur_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${moteur_dem} DPUT $sechiba_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${sechiba_dem} [ -f $stomate_dem ] && DPUT $stomate_dem ${R_FIC_ORCHIDEE_OL}"/"Restart"/"${FLAG} ${CEXPER}_"${DATES}"${annee}_${stomate_dem} fi #duree_final ######################################################################### ## ## 9. Output ## ######################################################################### #-Q- sxnec qcat -o ${QSUB_REQID} > ${CEXPER}"${DATES}"_${FLAG}_job_output #-Q- fjvpp qcat -o ${QSUB_REQID} > ${CEXPER}"${DATES}"${FLAG}_job_output #-Q- sx6nec VAR=$(echo ${PBS_JOBID} | sed -e "s@.*:\(.*\)\..*@\1@") #-Q- sx6nec rsh mercure -n "export TMP=${TMP} ; cd ${TMP} ; /usr/local/TX7/bin/qcat ${VAR} > ${CEXPER}"${DATES}"${FLAG}_job_output" DPUT ${CEXPER}"${DATES}"${FLAG}_job_output ${R_FIC_OUT} ${CEXPER}"${DATES}"${FLAG}_job_output ######################################################################### ## ## 10. Post Processing ## ######################################################################### # if [ "${OK_SITE}" = "y" ] || [ "${OK_DIAG}" = "y" ] then ${RSH}<