source: trunk/libIGCM/AA_job @ 1291

Last change on this file since 1291 was 1291, checked in by jgipsl, 8 years ago

Added default memory settings for main job at ciclad.

  • Property licence set to
    The following licence information concerns ONLY the libIGCM tools
    ==================================================================

    Copyright © Centre National de la Recherche Scientifique CNRS
    Commissariat à l'Énergie Atomique CEA

    libIGCM : Library for Portable Models Computation of IGCM Group.

    IGCM Group is the french IPSL Global Climate Model Group.

    This library is a set of shell scripts and functions whose purpose is
    the management of the initialization, the launch, the transfer of
    output files, the post-processing and the monitoring of datas produce
    by any numerical program on any plateforme.

    This software is governed by the CeCILL license under French law and
    abiding by the rules of distribution of free software. You can use,
    modify and/ or redistribute the software under the terms of the CeCILL
    license as circulated by CEA, CNRS and INRIA at the following URL
    "http://www.cecill.info".

    As a counterpart to the access to the source code and rights to copy,
    modify and redistribute granted by the license, users are provided only
    with a limited warranty and the software's author, the holder of the
    economic rights, and the successive licensors have only limited
    liability.

    In this respect, the user's attention is drawn to the risks associated
    with loading, using, modifying and/or developing or reproducing the
    software by the user in light of its specific status of free software,
    that may mean that it is complicated to manipulate, and that also
    therefore means that it is reserved for developers and experienced
    professionals having in-depth computer knowledge. Users are therefore
    encouraged to load and test the software's suitability as regards their
    requirements in conditions enabling the security of their systems and/or
    data to be ensured and, more generally, to use and operate it in the
    same conditions as regards security.

    The fact that you are presently reading this means that you have had
    knowledge of the CeCILL license and that you accept its terms.
  • Property svn:keywords set to Revision Author Date
File size: 21.4 KB
RevLine 
[704]1#-Q- curie #!/bin/ksh
[619]2#-Q- curie ######################
3#-Q- curie ## CURIE   TGCC/CEA ##
4#-Q- curie ######################
[1030]5#-Q- curie #MSUB -r ::Jobname::        # Job Name
6#-Q- curie #MSUB -o Script_Output_::Jobname::.000001    # standard output
7#-Q- curie #MSUB -e Script_Output_::Jobname::.000001    # error output
[619]8#-Q- curie #MSUB -eo
[1149]9#-Q- curie #MSUB -n ::JobNumProcTot::  # Number of MPI tasks (SPMD case) or cores (MPMD case)
[1238]10#-Q- curie #MSUB -c ::openMPthreads::  # Number of openMP threads. To specify only for SMPD
11#-Q- curie #MSUB -x                    # exclusive node. To specify only for MPMD together with the one below
12#-Q- curie #MSUB -E '--cpu_bind=none'
[1030]13#-Q- curie #MSUB -T 86400              # Wall clock limit (seconds)
14#-Q- curie #MSUB -q standard           # thin nodes
[837]15#-Q- curie #MSUB -A ::default_project::
[1108]16#-Q- curie # Below specific options that can be activated
17#-Q- curie ##MSUB -q ivybridge         # Option for Airain
18#-Q- curie
[619]19#-Q- curie BATCH_NUM_PROC_TOT=$BRIDGE_MSUB_NPROC
[681]20#-Q- curie set +x
[770]21#-Q- ada #!/bin/ksh
22#-Q- ada # ######################
[929]23#-Q- ada # ##  ADA       IDRIS ##
[770]24#-Q- ada # ######################
[1108]25#-Q- ada # Job name
[770]26#-Q- ada # @ job_name = ::Jobname::
[1108]27#-Q- ada # Standard output file name
[770]28#-Q- ada # @ output = Script_Output_::Jobname::.000001
[1108]29#-Q- ada # Error output file name
[770]30#-Q- ada # @ error = Script_Output_::Jobname::.000001
[1240]31#-Q- ada # Job type
32#-Q- ada # @ job_type = parallel
[1108]33#-Q- ada # Total number of tasks
[770]34#-Q- ada # @ total_tasks = ::JobNumProcTot::
[1240]35#-Q- ada # Specific option for OpenMP parallelization: Number of OpenMP threads per MPI task
36#-Q- ada # @ parallel_threads = ::openMPthreads::
[1247]37#-Q- ada # Memory : as_limit=3.5gb max per process per core. With 4 threads per process use max as_limit=14gb
38#-Q- ada # @ as_limit = 3.5gb
[1108]39#-Q- ada # Maximum CPU time per task hh:mm:ss
[770]40#-Q- ada # @ wall_clock_limit = 1:00:00
[1240]41#-Q- ada # @ environment = "BATCH_NUM_PROC_TOT=::JobNumProcTot::" ; wall_clock_limit=$(wall_clock_limit)
[1108]42#-Q- ada # End of the header options
[770]43#-Q- ada # @ queue
[281]44#-Q- lxiv8 ######################
45#-Q- lxiv8 ## OBELIX      LSCE ##
46#-Q- lxiv8 ######################
47#-Q- lxiv8 #PBS -N ::Jobname::
48#-Q- lxiv8 #PBS -m a
49#-Q- lxiv8 #PBS -j oe
[1126]50#-Q- lxiv8 #PBS -q mediump
[281]51#-Q- lxiv8 #PBS -o Script_Output_::Jobname::.000001
52#-Q- lxiv8 #PBS -S /bin/ksh
53#-Q- lxiv8 #PBS -v BATCH_NUM_PROC_TOT=::JobNumProcTot::
54#-Q- lxiv8 #PBS -l nodes=1:ppn=::JobNumProcTot::
[1184]55#-Q- ifort_CICLAD ######################
56#-Q- ifort_CICLAD ##   CICLAD    IPSL ##
57#-Q- ifort_CICLAD ######################
58#-Q- ifort_CICLAD #PBS -N ::Jobname::
59#-Q- ifort_CICLAD #PBS -m a
60#-Q- ifort_CICLAD #PBS -j oe
61#-Q- ifort_CICLAD #PBS -q h12
62#-Q- ifort_CICLAD #PBS -o Script_Output_::Jobname::.000001
63#-Q- ifort_CICLAD #PBS -S /bin/ksh
64#-Q- ifort_CICLAD #PBS -v BATCH_NUM_PROC_TOT=::JobNumProcTot::
65#-Q- ifort_CICLAD #PBS -l nodes=1:ppn=::JobNumProcTot::
[1291]66#-Q- ifort_CICLAD #PBS -l mem=6gb
67#-Q- ifort_CICLAD #PBS -l vmem=20gb
[2]68#-Q- default #!/bin/ksh
69#-Q- default ##################
70#-Q- default ## DEFAULT HOST ##
71#-Q- default ##################
[815]72#-Q- default #For MPI use, uncomment next line :
[2]73#-Q- default #BATCH_NUM_PROC_TOT=::JobNumProcTot::
74
[373]75#**************************************************************
76# Author: Sebastien Denvil
77# Contact: Sebastien.Denvil__at__ipsl.jussieu.fr
78# $Revision::                                          $ Revision of last commit
79# $Author::                                            $ Author of last commit
80# $Date::                                              $ Date of last commit
[2]81# IPSL (2006)
82#  This software is governed by the CeCILL licence see libIGCM/libIGCM_CeCILL.LIC
[373]83#
84#**************************************************************
[2]85
86#set -eu
87#set -vx
88
89date
90echo
91echo "#######################################"
92echo "#       ANOTHER GREAT SIMULATION      #"
93echo "#######################################"
94echo
95
96#D--------------------------------------------------------------------==
97#D-
98#D-                      Job to launch IGCM models
99#D-
100#D--------------------------------------------------------------------==
101#D-
102
103MODIPSL=::modipsl::
104libIGCM=${MODIPSL}/libIGCM
105
106#D--------------------------------------------------------------------==
[815]107#D- -1. PLACE FOR USER MODIFICATION
108#D-     - Job Verbosity
109#D-     - PeriodNb
110#D-     - Experience type : DEB(ug), DEV(elopment), RUN
[2]111#D--------------------------------------------------------------------==
112
[815]113#D- Task type (computing or post-processing)
114TaskType=computing
[2]115#D- Increased verbosity (1, 2, 3)
116Verbosity=3
[1282]117#D- postProcessingStopLevel (0,1,2,3)
118#D- 3 stop if any post-processing went wrong
119#D- 2 dont stop if atlas, monitoring or metrics failed
120#D- 1 dont stop if atlas, monitoring, metrics, create_ts or create_se failed
121#D- 0 dont stop if atlas, monitoring, metrics, create_ts, create_se, rebuild or pack_* failed
122postProcessingStopLevel=0
[475]123#D- Experience type : DEB(ug), DEV(elopment), RUN (default)
[1282]124#D- DEB : set -vx mode + output files are NOT read only
125#D- DEV : output files are NOT read only
126#D- RUN : output files ARE read only
[475]127JobType=RUN
[2]128#D- Number of execution in one job
[185]129PeriodNb=1
[2]130
131#D-
[815]132#D- --------------------------------------------------------------------------------------------------#
133#D-                          ! OPTIONNAL FEATURES /!\ USE WITH CARE !                                 #
134#D- --------------------------------------------------------------------------------------------------#
[2]135
[475]136
[1096]137#D- Low level debug : to perform lib test checks, stack construction and IO functions instrumentation
[2]138#D- Default=true
[815]139#D-
[1095]140DEBUG_debug=true
[2]141
[988]142#D- Messaging : all activities and call stacks will be sent to ipsl servers
143#D- If true will imply DEBUG_debug=true
144#D- Default=false
145#D-
[1095]146BigBrother=true
[988]147
[2]148#D- Set DEBUG_sys to false to disable output calls of function
[988]149#D- true when JobType=DEB # means DEB(ug)
[815]150#D-
[2]151#DEBUG_sys=false
152
153#D- Define running directory
154#D- Default=${TMPDIR} ie temporary batch directory
[815]155#D-
[154]156#RUN_DIR_PATH=/workdir/or/scratchdir/of/this/machine
[2]157
158#D- Define submit directory
[92]159#D- Default= where you launch qsub (variable from scheduler)
[815]160#D-
[92]161#SUBMIT_DIR=$( pwd )
[2]162
[475]163#D- Define input file root directory
164#D- Default=/IGCMG/common/account/of/this/machine
[815]165#D-
[475]166#R_IN=/u/rech/por/rpor111/DATA
167
[2]168#D- Turn in dry run mode ? (0,1,2,3)
169#D- Default=0
[815]170#D-
[2]171#DRYRUN=3
[815]172#D-# YOU HAVE TO COMPILE YOUR EXE FILES to USE DRYRUN MODE !
173#D-# -------------------------------------------------------------------------------------
174#D-# | DRYRUN=  |  Date computations, | sys_Get    |  Exe    | sys_Put_Out; sys_Put_Rest |
175#D-# |          |  Cp/Exe/param/files |            |         |                           |
176#D-# |          |  Chmod Qsub         |            |         |                           |
177#D-# -------------------------------------------------------------------------------------
178#D-# |    0     |       yes           |    yes     |  yes    |      yes                  |
179#D-# -------------------------------------------------------------------------------------
180#D-# |    1     |       yes           |    yes     |  yes    |      no                   |
181#D-# -------------------------------------------------------------------------------------
182#D-# |    2     |       yes           |    yes     |  no     |      no                   |
183#D-# -------------------------------------------------------------------------------------
184#D-# |    3     |       yes           |    no      |  no     |      no                   |
185#D-# -------------------------------------------------------------------------------------
[2]186
[475]187#D-
188# --------------------------------------------------------------------------------------------------#
[815]189#D- ! END OF OPTIONNAL FEATURES /!\ DO NOT MODIFY ANYTHING BELOW UNLESS YOU KNOW WHAT YOU ARE DOING #
[475]190# --------------------------------------------------------------------------------------------------#
[2]191
192#D-
193#D--------------------------------------------------------------------==
[1051]194#D- 0.0 SYSTEM ENVIRONMENT
195#D-     - Define variables for Number of processors
196#D-     - Define MPI variables
197#D-     - Define batch scheduler variables
198#D-     - Source IGCM Library
199#D-     - Get RESOLution in .resol file (temporary)
[2]200#D--------------------------------------------------------------------==
201
[815]202#---------------------------------------------------------------------==
[2]203
204. ${libIGCM}/libIGCM_debug/libIGCM_debug.ksh
205. ${libIGCM}/libIGCM_card/libIGCM_card.ksh
206. ${libIGCM}/libIGCM_date/libIGCM_date.ksh
207#-------
208. ${libIGCM}/libIGCM_sys/libIGCM_sys.ksh
209. ${libIGCM}/libIGCM_config/libIGCM_config.ksh
210. ${libIGCM}/libIGCM_comp/libIGCM_comp.ksh
211. ${libIGCM}/libIGCM_post/libIGCM_post.ksh
[832]212#-------
213( ${DEBUG_debug} ) && IGCM_debug_Check
214( ${DEBUG_debug} ) && IGCM_card_Check
215( ${DEBUG_debug} ) && IGCM_date_Check
[2]216
[815]217#--------------------------------------------------------------------==
[2]218
219#-- Resolution FLAG for oasis input
[511]220#RESOL="ORCA2xLMD9671"
[138]221[ -f ${SUBMIT_DIR}/../.resol ] && RESOL=$(head -1 ${SUBMIT_DIR}/../.resol)
[511]222#-- Chemistrie FLAG to ease chemistries configurations management
223#CHEM="AER"
[815]224[ -f ${SUBMIT_DIR}/../.chimie ] && eval $(grep CHEM ${SUBMIT_DIR}/../.chimie)
[2]225
226#D-
227#D--------------------------------------------------------------------==
[1051]228#D- 0.1 COMMON ENVIRONMENT
229#D-     - Read libIGCM compatibility version in config.card
230#D-     - Read UserChoices section
231#D-     - Read Ensemble section
232#D-     - Read Post section
233#D-     - Define all netcdf output directories
234#D--------------------------------------------------------------------==
235IGCM_config_CommonConfiguration ${SUBMIT_DIR}/config.card
236
[1053]237if [ ! -r ${SUBMIT_DIR}/run.card ] ; then
238  #================================================#
239  #         The file run.card doesn't exist        #
240  #================================================#
241  FirstInitialize=true
242  #copy initial run.card
243  IGCM_sys_Cp ${SUBMIT_DIR}/run.card.init ${SUBMIT_DIR}/run.card
244  IGCM_debug_Print 2 "run.card copied from run.card.init"
245else
246  FirstInitialize=false
247  IGCM_debug_Print 2 "run.card exists"
248fi
249
[1051]250# ------------------------------------------------------------------
251# Activate BigBrother so as to supervise this simulation
252# ------------------------------------------------------------------
[1189]253IGCM_debug_BigBro_Initialize
[1051]254
255#D-
256#D--------------------------------------------------------------------==
[815]257#D- 1. INITIALIZE CONFIGURATION
258#D-    - Simulation configuration
259#D-    - Simulation parameters
260#D-    - Execution parameter
261#D-    - Define input files directory
262#D-    - Read or initialize CumulPeriod
263#D-    - run.card
[1051]264#D--------------------------------------------------------------------==
[2]265IGCM_config_Initialize
266
267# --------------------------------------------------------------------==
[815]268# Define, create and cd RUN_DIR
[2]269# --------------------------------------------------------------------==
[804]270RUN_DIR=${RUN_DIR_PATH}/${config_UserChoices_JobName}.${$}
[2]271IGCM_sys_MkdirWork ${RUN_DIR}
272IGCM_sys_Cd ${RUN_DIR}
273
[436]274# ------------------------------------------------------------------
275# Test if all was right before proceeding further
276# ------------------------------------------------------------------
[432]277IGCM_debug_Verif_Exit
278
[2]279#D-
[815]280#D---------------------------------------------------------------------==
281#D- 2. INITIALIZE ALL COMPONENT OF THE CONFIGURATION
282#D-    - Define component executable
283#D-    - Define Write Frequency by component "1M" "1D" ...
284#D-    - Source ${comp}.driver
285#D-    - Define Storage Places by component
286#D-    - ${comp}_Initialize :
287#D-    - Patterns to sed
288#D-    - Variables from namelist
289#D---------------------------------------------------------------------==
[2]290IGCM_comp_Initialize
291
[815]292#D-
293#D---------------------------------------------------------------------==
294#D- 3. PERFORM GENERAL VERIFICATION
295#D-    - Verify compatibility of period length, write frequencies, ...
296#D-    - Verify compatibility of rebuild choices and post-process choices
297#D-    - Will stop here if something is wrong
298#D---------------------------------------------------------------------==
[380]299IGCM_config_Check
[2]300
[380]301# ------------------------------------------------------------------
[815]302# Test if all was right before entering the period loop
[380]303# ------------------------------------------------------------------
304IGCM_debug_Verif_Exit
305
[815]306#D-
307#D---------------------------------------------------------------------==
308#D- 4. ENTER THE DEEP EXECUTION LOOP
309#D-    ! FASTEN YOUR SEAT BELTS PLEASE. !
310#D-    !   WE WILL CROSS TURBULENCES.   !
311#D---------------------------------------------------------------------==
[2]312
313Period=1
314
[120]315PeriodContinue=false
316if [ ${Period} -le ${PeriodNb} ]; then
[815]317  PeriodContinue=true
[120]318fi
319while ( ${PeriodContinue} ) ; do
320
[785]321  echo
322  echo "Starting iteration ${Period} / ${PeriodNb}"
[2]323
[785]324  #D-
325  # ------------------------------------------------------------------
[815]326  #D-   4.1 COMPUTE AND DEFINE DATE INFORMATION.
327  #D-       - ${PeriodDateBegin}
328  #D-       - ${PeriodDateEnd}
329  #D-       - ${CumulPeriod}
330  #D-       - ${DatesPeriod}=${PeriodDateBegin}_${PeriodDateEnd}
331  #D-       - ${PeriodLength} => JOURS=31 , 28, 29, 30 ; MOIS=0 ; ANS=0
332  #D-       - update run.card value
[785]333  # ------------------------------------------------------------------
334  IGCM_config_PeriodStart
[2]335
[785]336  #D-
337  # ------------------------------------------------------------------
[815]338  #D-   4.2 BEGIN COMPUTATION ONLY IF NEEDED
[785]339  # ------------------------------------------------------------------
340  if [ ${SimulationLengthInDays} -gt ${ExperienceLengthInDays} ] ; then
341    IGCM_debug_Print 1 "break because '${SimulationLengthInDays} -gt ${ExperienceLengthInDays}' : ${SimulationLengthInDays} -gt ${ExperienceLengthInDays}"
342    break ;
343  fi
[2]344
[785]345  #D-
346  # ------------------------------------------------------------------
[815]347  #D-   4.3 CALL OPTIONNAL FUNCTION WITHIN DRIVER
348  #D-       - to set special variables used in lists (Param, Init or Bc).
[785]349  # ------------------------------------------------------------------
350  IGCM_comp_PeriodStart
[2]351
[785]352  #D-
353  # ------------------------------------------------------------------
[815]354  #D-   4.4 GET PARAMETERS TEXT FILES UPDATED BY JOB
355  #D-       - (.def, namelist ...)
356  #D-       - READ AND USE BY GCM AT EACH EXECUTION.
[785]357  # ------------------------------------------------------------------
358  IGCM_comp_GetInputParametersFiles
[262]359
[785]360  #D-
361  # ------------------------------------------------------------------
[815]362  #D-   4.5 GET INITIAL STATE
363  #D-       - (Etat0, carteveg,relief...)
364  #D-       - NECESSARY ONLY IF CumulPeriod= (=> NUMERO) == 1
365  #D-       - AND ???_Restart=NO
366  #D-       - READ AND USE BY GCM FOR ONLY ONE EXECUTION.
[785]367  # ------------------------------------------------------------------
368  IGCM_comp_GetInputInitialStateFiles
[2]369
[785]370  #D-
371  # ------------------------------------------------------------------
[815]372  #D-   4.6 GET BOUNDARIES CONDITIONS
373  #D-       - (SST, WIND[X,Y,Z], LAI ...)
374  #D-       - READ AND USE BY GCM AT EACH EXECUTION.
[785]375  # ------------------------------------------------------------------
376  IGCM_comp_GetInputBoundaryFiles
[2]377
[785]378  #D-
379  # ------------------------------------------------------------------
[815]380  #D-   4.7 GET SmoothFiles CONDITIONS
381  #D-       - (SST, WIND[X,Y,Z], LAI ...)
382  #D-       - READ AND USE BY GCM AT EACH EXECUTION
383  #D-       - Do not change at each ${Period}
[785]384  # ------------------------------------------------------------------
[815]385  IGCM_comp_GetInputSmoothFiles
[2]386
[785]387  #D-
388  # ------------------------------------------------------------------
[815]389  #D-   4.8 GET RESTART FILES
390  #D-       - (restartphy.nc, orca_restart.nc ...)
391  #D-       - READ AND USE BY GCM AT EACH EXECUTION.
[785]392  #D-
[815]393  #D-       - IF A COMPONENT DO NOT RESTART FROM PREVIOULSY COMPUTED RESTART
394  #D-       - ONLY IF CumulPeriod= (=> NUMERO) == 1
395  #D-       - MUST EXECUTE CREATE ETAT0_LIMIT (TYPICALLY LMDZ AND ./create_etat0_limit.e)
[785]396  #D-
[815]397  #D-       - IF CumulPeriod == 1
398  #D-       - AND A COMPONENT RESTART FROM PREVIOULSY COMPUTED RESTART
399  #D-       - MUST BRING THIS RESTART IN ${RUN_DIR_PATH}
[785]400  #D-
[815]401  #D-       - ELSE BRING RESTART FROM ${JobName} IN ${RUN_DIR_PATH}
[785]402  # ------------------------------------------------------------------
403  IGCM_comp_GetInputRestartFiles
[2]404
[785]405  # ------------------------------------------------------------------
[815]406  # Test if all was right before Update
[785]407  # ------------------------------------------------------------------
408  IGCM_debug_Verif_Exit
[2]409
[815]410  #D-
[785]411  # ------------------------------------------------------------------
[815]412  #D-   4.9 ACTIVATE RUNNING ENVIRONNEMENT VARIABLES
[785]413  # ------------------------------------------------------------------
414  IGCM_sys_activ_variables
[2]415
[785]416  #D-
417  # ------------------------------------------------------------------
[815]418  #D-   4.10 UPDATE ParametersFiles
419  #D-        - (.def, namelist ...)
420  #D-        - with current value of (ORCA_NIT00, ORCA_LRSTAR, RAZ_DATE, ...)
[785]421  # ------------------------------------------------------------------
422  IGCM_comp_Update
423
424  # ------------------------------------------------------------------
[815]425  # Test if all was right before execution
[785]426  # ------------------------------------------------------------------
427  IGCM_debug_Verif_Exit
428
429  #D-
[815]430  #D---------------------------------------------------------------------==
431  #D- 5. EXECUTION
432  #D---------------------------------------------------------------------==
[785]433
434  echo
435  echo "#######################################"
436  echo "#      DIR BEFORE RUN EXECUTION       #"
437  echo "#######################################"
438  echo
439  ls -lrt
440
441  echo "========================================================================"
442  if [ ${DRYRUN} -le 1 ] ; then
443    REAL_DATE_INIT=$( date )
444    echo                                                                                   > ${Exe_Output}
445    echo "#######################################"                                        >> ${Exe_Output}
446    echo "EXECUTION of : ${EXECUTION}"
447    echo "EXECUTION of : ${EXECUTION}"                                                    >> ${Exe_Output}
448    echo                                                                                  >> ${Exe_Output}
449    typeset RET
450    RUN_DATE_BEGIN=$( date '+%Y-%m-%dT%H:%M:%S' )
451    ${EXECUTION}  >> ${Exe_Output} 2>&1
452    RET=$?
453    RUN_DATE_END=$( date '+%Y-%m-%dT%H:%M:%S' )
454    if [ ${RET} -gt 0 ] ; then
455      echo "Return code of executable :" ${RET}
456      IGCM_debug_Exit "EXECUTABLE"
457      IGCM_sys_Mkdir ${SUBMIT_DIR}/Debug
458      IGCM_sys_Cp ${Exe_Output} ${SUBMIT_DIR}/Debug/${PREFIX}_${Exe_Output}_error
459      ExecutionFail=true
[2]460    fi
[785]461    echo                                            >> ${Exe_Output}
462    echo "#######################################"  >> ${Exe_Output}
463    echo "libIGCM RunDateBegin=${RUN_DATE_BEGIN}"   >> ${Exe_Output}
464    echo "libIGCM RunDateEnd=${RUN_DATE_END}"       >> ${Exe_Output}
465    echo                                            >> ${Exe_Output}
466  else
467    echo "EXECUTION of : ${EXECUTION} simulated for DRYRUN = " $DRYRUN
468    echo "EXECUTION of : ${EXECUTION} simulated for DRYRUN = " $DRYRUN > ${Exe_Output}
469    if ( $DEBUG_debug ) ; then
470      echo "FOR EXECUTION DRYRUN mode = " $DRYRUN >> stack
471    fi
472  fi
473  echo "========================================================================"
[2]474
[785]475  echo
476  echo "#######################################"
477  echo "#       DIR AFTER RUN EXECUTION       #"
478  echo "#######################################"
479  echo
480  ls -lrt
[2]481
[785]482  #D-
[815]483  #D---------------------------------------------------------------------==
484  #D- 6. POST EXECUTION OPERATIONS
485  #D---------------------------------------------------------------------==
486
487  #D-
[785]488  # ------------------------------------------------------------------
[815]489  #D-   6.1. DESACTIVATE RUNNING ENVIRONNEMENT VARIABLES
[785]490  # ------------------------------------------------------------------
491  IGCM_sys_desactiv_variables
[2]492
[785]493  #D-
494  # ------------------------------------------------------------------
[815]495  #D-   6.2. SAVE OUTPUTS
496  #D-        - On archive/storage machine
497  #D-        - netcdf outputs, restarts and text files of models
[785]498  # ------------------------------------------------------------------
499  IGCM_comp_Finalize
[2]500
[785]501  # ------------------------------------------------------------------
[815]502  # Test if all was right after Finalize
[785]503  # ------------------------------------------------------------------
504  IGCM_debug_Verif_Exit
[2]505
[785]506  #D-
507  # ------------------------------------------------------------------
[815]508  #D-   6.3. CONFIGURE POST-PROCESSING
509  #D-        - asynchronous post-treatment (Level 0) when necessary (rebuild/pack)
510  #D-        - classic post-treatment      (Level 1) when necessary (TimeSeries/Seasonal)
[785]511  # ------------------------------------------------------------------
512  IGCM_post_Configure
[2]513
[785]514  #D-
515  # ------------------------------------------------------------------
[815]516  #D-   6.4. SUBMIT POST-PROCESSING
517  #D-        - remote rebuild or/and post-treatment process if necessary
[785]518  # ------------------------------------------------------------------
519  IGCM_post_Submit
[380]520
[785]521  #D-
522  # ------------------------------------------------------------------
[815]523  #D-   6.5. FINALYZE CURRENT LOOP AND PREPARE NEXT ONE
524  #D-        - Manage executable size to save only different binary
525  #D-        - Write in run.card user, system and elapse time
526  #D-        - Check that everything went well ! No ? then we stop.
527  #D-        - Determine next computed period
[785]528  # ------------------------------------------------------------------
529  IGCM_config_PeriodEnd
[2]530
[785]531  echo "Ending iteration ${Period}"
532  (( Period = Period + 1 ))
[2]533
[785]534  # End loop if date end is reached
535  if [ ${SimulationLengthInDays} -ge ${ExperienceLengthInDays} ] ; then
536    break ;
537  fi
[2]538
[785]539  PeriodContinue=false
540  if [ ${Period} -le ${PeriodNb} ]; then
541    PeriodContinue=true
542  fi
543done
[2]544
545#D-
[815]546#D---------------------------------------------------------------------==
547#D- 7. SUBMIT NEXT JOB OR SEND MAIL IF SIMULATION IS OVER.
548#D---------------------------------------------------------------------==
[2]549IGCM_config_Finalize
550
551date
Note: See TracBrowser for help on using the repository browser.