source: branches/libIGCM_CESMEP/AA_move-and-rename

Last change on this file was 1356, checked in by sdipsl, 8 years ago
  • 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: 16.1 KB
Line 
1#!/bin/ksh
2
3#**************************************************************
4# Author: Martial Mancip
5# Contact: Martial.Mancip__at__ipsl.jussieu.fr
6# $Revision::                                          $ Revision of last commit
7# $Author::                                            $ Author of last commit
8# $Date::                                              $ Date of last commit
9# IPSL (2006)
10#  This software is governed by the CeCILL licence see libIGCM/libIGCM_CeCILL.LIC
11#
12#**************************************************************
13
14#D- Task type DO NOT CHANGE (computing, post-processing or checking)
15TaskType=post-processing
16
17# Change SpaceName/ExperimentName/JobName names and path for a simulation during the run.
18# !! Be careful that the job is suspended before using this script !!
19# You may call this script with those four variables already defined, or modify directly
20# default values under here :
21
22# New Name Space of this experience
23NEW_SpaceName=${NEW_SpaceName:=DEVT}
24
25# New Expericence class of the run
26NEW_ExperimentName=${NEW_ExperimentName:=NEWExperimentName}
27
28# New JobName of the run
29NEW_JobName=${NEW_JobName:=NEWJobName}
30
31SUBMIT_DIR=${SUBMIT_DIR:=my_path_to_my_SUBMIT_DIR}
32
33# verbosity
34Verbosity=3
35
36########################################################################
37
38# Path to modipsl
39MODIPSL=${MODIPSL:=::modipsl::}
40
41#D- Path to libIGCM
42#D- Default : value from AA_job if any
43# WARNING For StandAlone use : To run this script on some machine (ulam and cesium)
44# WARNING you must check MirrorlibIGCM variable in sys library.
45# WARNING If this variable is true, you must use libIGCM_POST path instead
46# WARNING of your running libIGCM directory.
47libIGCM=${libIGCM:=::modipsl::/libIGCM}
48
49DEBUG_sys=false
50DEBUG_debug=false
51
52########################################################################
53
54. ${libIGCM}/libIGCM_debug/libIGCM_debug.ksh
55. ${libIGCM}/libIGCM_card/libIGCM_card.ksh
56. ${libIGCM}/libIGCM_date/libIGCM_date.ksh
57#-------
58. ${libIGCM}/libIGCM_sys/libIGCM_sys.ksh
59. ${libIGCM}/libIGCM_config/libIGCM_config.ksh
60#-------
61( ${DEBUG_debug} ) && IGCM_debug_Check
62( ${DEBUG_debug} ) && IGCM_card_Check
63( ${DEBUG_debug} ) && IGCM_date_Check
64
65########################################################################
66# define local functions
67
68# Function to replace OLD JobName in file
69
70function REPLACE_sed
71{
72  IGCM_debug_PushStack "REPLACE_sed"
73  typeset RET
74
75  FILEIN=${1}
76  FILEOUT=$( basename ${FILEIN} )
77
78  sed -e "s&${R_SAVE}&${NEW_R_SAVE}&g" -e "s/${config_UserChoices_JobName}/${NEW_JobName}/g" \
79  ${1} > ${RUN_DIR_PATH}/${FILEOUT}
80  RET=$?
81
82  touch --reference=${1} ${RUN_DIR_PATH}/${FILEOUT}
83  IGCM_sys_Mv ${RUN_DIR_PATH}/${FILEOUT} ${2}
84  chmod --reference=${1} ${2}/${FILEOUT}
85
86  IGCM_sys_Rm -f ${1}
87
88  IGCM_debug_Print 3 "REPLACE_sed : ${1} ${2}"
89
90  IGCM_debug_PopStack "REPLACE_sed"
91  return $RET
92}
93
94function MOVE_and_RENAME_files
95{
96  IGCM_debug_PushStack "MOVE_and_RENAME_files"
97
98  typeset VAR_files FILE_OUT file i RET
99
100  VAR_files=${1}
101  eval VAR1=\${${VAR_files[0]}}
102
103  if [ X$( echo ${NEW_R_SAVE} | grep ${config_UserChoices_JobName} ) != X ]; then
104    set +A FILE_OUT -- $( eval echo \${${VAR_files}[*]} | sed -e "s&${R_SAVE}&${NEW_R_SAVE}&g" )
105    ((i=0))
106    for file in ${FILE_OUT[@]} ; do
107      FILE_OUT[$i]=$( dirname $file )/$( echo $( basename $file ) | sed -e "s/${config_UserChoices_JobName}/${NEW_JobName}/g" )
108      (( i = i + 1 ))
109    done
110  else
111    set +A FILE_OUT -- $( eval echo \${${VAR_files}[*]} | sed -e "s&${R_SAVE}&${NEW_R_SAVE}&g" -e "s/${config_UserChoices_JobName}/${NEW_JobName}/g" )
112  fi
113  IGCM_debug_Print 3 "MOVE_and_RENAME_files all : ${VAR1}"
114  IGCM_debug_Print 3 "    to     ${FILE_OUT}."
115
116  (( ifile = 0 ))
117  for file_o in ${FILE_OUT[@]} ; do
118    eval IGCM_sys_Mv \${${VAR_files}[${ifile}]} ${file_o}
119    RET=$?
120    (( ifile = ifile + 1 ))
121  done
122
123  IGCM_debug_PopStack "MOVE_and_RENAME_files"
124  return $RET
125}
126
127function MY_DODS_Cp
128{
129  IGCM_debug_PushStack "MY_DODS_Cp"
130
131  typeset old_JobName old_R_DODS
132  IGCM_sys_Cd ${NEW_R_SAVE}
133  old_JobName=${config_UserChoices_JobName}
134  old_R_DODS=${R_DODS}
135  old_R_SAVE=${R_SAVE}
136
137  config_UserChoices_JobName=${NEW_JobName}
138  R_DODS=${NEW_R_DODS}
139  R_SAVE=${NEW_R_SAVE}
140
141  IGCM_sys_Dods_Cp ${1}
142  IGCM_debug_Print 3 "MY_DODS_Cp : ${config_UserChoices_JobName}/${1}"
143  IGCM_sys_Cd ${RUN_DIR_PATH}
144
145  config_UserChoices_JobName=${old_JobName}
146  R_DODS=${old_R_DODS}
147  R_SAVE=${old_R_SAVE}
148
149  IGCM_debug_PopStack "MY_DODS_Cp"
150}
151
152function MY_DODS_Rm
153{
154  IGCM_debug_PushStack "MY_DODS_Rm"
155  DEBUG_debug=false
156
157  IGCM_sys_Cd ${R_SAVE}
158  IGCM_sys_Dods_Rm ${1}
159  IGCM_debug_Print 3 "MY_DODS_Rm : ${config_UserChoices_JobName}/${1}"
160  IGCM_sys_Cd ${RUN_DIR_PATH}
161
162  IGCM_debug_PopStack "MY_DODS_Rm"
163}
164########################################################################
165
166if [ ! -d ${SUBMIT_DIR} ]; then
167  IGCM_debug_Print 1 "No ${SUBMIT_DIR}, we stop here"
168  exit 1
169fi
170
171# We temporary change ${run_Configuration_PeriodState} to
172if [ -f ${SUBMIT_DIR}/run.card ] ; then
173  IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/run.card Configuration PeriodState
174  if ( [ ${run_Configuration_PeriodState} != "Start" ] && [ ${run_Configuration_PeriodState} != "Running" ] && [ ${run_Configuration_PeriodState} != "OnQueue" ] && [ ${run_Configuration_PeriodState} != "Continue" ] ) ; then
175    old_run_Configuration_PeriodState=${run_Configuration_PeriodState}
176    IGCM_debug_PrintVariables 2 old_run_Configuration_PeriodState
177    IGCM_card_WriteOption ${SUBMIT_DIR}/run.card Configuration PeriodState "OnQueue"
178  fi
179fi
180
181IGCM_config_Initialize
182
183if [ -f ${SUBMIT_DIR}/run.card ] ; then
184  IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/run.card Configuration PeriodDateBegin
185  IGCM_debug_PrintVariables 2 run_Configuration_PeriodDateBegin
186  if [ X${old_run_Configuration_PeriodState} != X"Completed" ] ; then
187    DateEnd=$( IGCM_date_AddDaysToGregorianDate $( IGCM_date_ConvertFormatToGregorian ${PeriodDateBegin} ) -1 )
188  else
189    DateEnd=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateEnd} )
190  fi
191else
192  DateEnd=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateEnd} )
193fi
194
195IGCM_debug_Print 1 ""
196IGCM_debug_Print 1 "DateEnd for MoveJob_Checker : " ${DateEnd}
197IGCM_date_GetYearMonth ${DateEnd}   YearEnd   MonthEnd
198IGCM_debug_Print 1 "YearEnd MonthEnd for TimeSeries_Checker : " ${YearEnd} ${MonthEnd}
199IGCM_debug_Print 1 ""
200
201#set -vx
202
203#====================================================
204#DEFINE NEW_R_SAVE
205if [ X${config_UserChoices_SpaceName} != X ] ; then
206  NEW_SAVE=${config_UserChoices_TagName}/${NEW_SpaceName}
207else
208  NEW_SAVE=${config_UserChoices_TagName}
209fi
210if [ X${config_UserChoices_ExperimentName} != X ] ; then
211  NEW_SAVE=${NEW_SAVE}/${NEW_ExperimentName}
212fi
213
214NEW_R_SAVE=${R_OUT}/${NEW_SAVE}/${NEW_JobName}
215
216IGCM_debug_Print 1 "Move ${R_SAVE} to ${NEW_R_SAVE}"
217if [ -d ${NEW_R_SAVE} ] ; then
218  IGCM_debug_Print 1 "ERROR : ${NEW_R_SAVE} directory already exist !"
219  IGCM_debug_Print 1 "We won't try to  We stop here."
220  exit 1
221fi
222IGCM_sys_MkdirArchive ${NEW_R_SAVE}
223
224# ------------------------------------------------------------------
225# Test if all was right before proceeding further
226# ------------------------------------------------------------------
227IGCM_debug_Verif_Exit
228
229#DEFINE NEW_R_DODS
230NEW_R_DODS=${NEW_SAVE}/${NEW_JobName}
231
232# Define NEW_REBUILD_DIR
233if [ -d ${REBUILD_DIR} ] ; then 
234  NEW_REBUILD_DIR=${BIG_DIR}/${config_UserChoices_TagName}/${NEW_JobName}
235  IGCM_sys_MkdirWork ${NEW_REBUILD_DIR}
236fi
237
238#====================================================
239# SAVE LOCAL WORKING DIR
240IGCM_sys_Cd ${RUN_DIR_PATH}
241
242#====================================================
243#Exe
244IGCM_debug_Print 1 "Move Exe"
245set +A listfiles -- $( find ${R_SAVE}/Exe -type f )
246
247IGCM_sys_MkdirArchive ${NEW_R_SAVE}/Exe
248MOVE_and_RENAME_files "listfiles"
249
250#====================================================
251#Out
252IGCM_debug_Print 1 "Move Out"
253OutinDir=${R_SAVE}/Out
254OutNEWDir=${NEW_R_SAVE}/Out
255IGCM_sys_MkdirArchive ${OutNEWDir}
256
257# Change JobName and copy run.card
258if [ -f ${OutinDir}/run.card ] ; then
259  sed -e "s/OldPrefix=\ *${config_UserChoices_JobName}/OldPrefix= ${NEW_JobName}/g" \
260    ${OutinDir}/run.card > ${RUN_DIR_PATH}/run.card
261  RET=$?
262  if [ ${RET} = 0 ] ; then
263    IGCM_sys_Mv -f ${RUN_DIR_PATH}/run.card ${OutNEWDir}
264    IGCM_sys_Rm -f ${OutinDir}/run.card
265  fi
266fi
267
268# Just copy historical run.card
269unset listfiles
270set +A listfiles -- $( find ${OutinDir} -type f -name "run.card\.[0-9]*\.[0-9]*" )
271if [ ${#listfiles[*]} -gt 0 ] ; then
272  IGCM_sys_Cp ${listfiles[*]} ${OutNEWDir}
273  RET=$?
274  if [ ${RET} = 0 ] ; then
275    IGCM_sys_Rm -f ${listfiles[*]}
276  fi
277fi
278
279# Move and Rename OLD Script_Output
280unset listfiles
281set +A listfiles -- $( find ${OutinDir} -type f -name "Script_Output_*\.[0-9]*\.[0-9]*" )
282MOVE_and_RENAME_files "listfiles"
283
284# Move and Rename OLD Executable Output
285unset listfiles
286set +A listfiles -- $( find ${OutinDir} -type f -name "*_out_execution" )
287MOVE_and_RENAME_files "listfiles"
288
289#====================================================
290IGCM_debug_Print 1 "For components"
291IGCM_debug_Print 1 "=============="
292
293#====================================================
294#Output
295# loop over components and frequencies
296IGCM_debug_Print 1 "Move Output"
297for comp in ${config_ListOfComponents[*]} ; do
298  IGCM_debug_Print 2 "------------------"
299  IGCM_debug_Print 2 "for component ${comp}"
300
301  unset FREQDIR
302  set +A FREQDIR -- $( find ${R_SAVE}/${comp}/Output -type d -not -name "*Output" )
303
304  IGCM_debug_Print 3 "List of WriteFrequencies : ${FREQDIR[*]}"
305
306  for ThisfreqDir in ${FREQDIR[*]} ; do
307    freq=$( basename ${ThisfreqDir} )
308    IGCM_debug_Print 2 "${freq}."
309
310    NEW_freqDir=${NEW_R_SAVE}/${comp}/Output/${freq}
311    IGCM_sys_MkdirArchive ${NEW_freqDir}
312
313    unset listfiles
314    set +A listfiles -- $( find ${ThisfreqDir} -type f )
315
316    MOVE_and_RENAME_files "listfiles"
317  done
318
319  unset COMPFILES
320  set +A COMPFILES -- $( find ${R_SAVE}/${comp}/Output -type f )
321
322  if [ ${#COMPFILES[*]} -gt 0 ] ; then
323    IGCM_debug_Print 2 "simple Output FILES : ${COMPFILES[*]}."
324
325    MOVE_and_RENAME_files "COMPFILES"
326  fi
327done
328
329#====================================================
330#Restart
331# loop over components
332IGCM_debug_Print 1 "Move Restart"
333for comp in ${config_ListOfComponents[*]} ; do
334  IGCM_debug_Print 2 "------------------"
335  IGCM_debug_Print 2 "for component ${comp}"
336
337  ThisRestDir=${R_SAVE}/${comp}/Restart
338  NEW_RestDir=${NEW_R_SAVE}/${comp}/Restart
339  IGCM_sys_MkdirArchive ${NEW_RestDir}
340
341  unset listfiles
342  set +A listfiles -- $( find ${ThisRestDir} -type f )
343
344  MOVE_and_RENAME_files "listfiles"
345done
346
347#====================================================
348#DEBUG
349# Move and Rename OLD Executable Output
350# loop over components
351IGCM_debug_Print 1 "Move Debug"
352for comp in ${config_ListOfComponents[*]} ; do
353  IGCM_debug_Print 2 "------------------"
354  IGCM_debug_Print 2 "for component ${comp}"
355
356  ThisDebugDir=${R_SAVE}/${comp}/Debug
357  NEW_DebugDir=${NEW_R_SAVE}/${comp}/Debug
358  IGCM_sys_MkdirArchive ${NEW_DebugDir}
359
360  unset listfiles
361  set +A listfiles -- $( find ${ThisDebugDir} -type f )
362
363  MOVE_and_RENAME_files "listfiles"
364done
365
366#====================================================
367#POST
368# loop over components and frequencies
369IGCM_debug_Print 1 "Move Analyse"
370for comp in ${config_ListOfComponents[*]} ; do
371  IGCM_debug_Print 2 "------------------"
372  IGCM_debug_Print 2 "for component ${comp}"
373
374  if [ -d ${R_SAVE}/${comp}/Analyse ] ; then
375    unset TSDIR
376    set +A TSDIR -- $( find ${R_SAVE}/${comp}/Analyse -name "TS_*" -type d )
377
378    for ThisTSDir in ${TSDIR[*]} ; do
379      TS_Dir=$( basename ${ThisTSDir} )
380      IGCM_debug_Print 2 "${TS_Dir}."
381
382      NEW_TSDir=${NEW_R_SAVE}/${comp}/Analyse/${TS_Dir}
383      IGCM_sys_MkdirArchive ${NEW_TSDir}
384
385      MY_DODS_Rm ${comp}/Analyse/${TS_Dir}
386
387      unset listfiles
388      set +A listfiles -- $( find ${ThisTSDir} -type f )
389
390      MOVE_and_RENAME_files "listfiles"
391
392      MY_DODS_Cp ${comp}/Analyse/${TS_Dir}
393    done
394
395    ThisSEDir=${R_SAVE}/${comp}/Analyse/SE
396    IGCM_sys_TestDirArchive ${ThisSEDir}
397    if [ $? = 0 ] ; then
398      IGCM_debug_Print 2 "SE."
399      NEW_SEDir=${NEW_R_SAVE}/${comp}/Analyse/SE
400      IGCM_sys_MkdirArchive ${NEW_SEDir}
401
402      MY_DODS_Rm ${comp}/Analyse/SE
403
404      unset listfiles
405      set +A listfiles -- $( find ${ThisSEDir} -type f )
406
407      MOVE_and_RENAME_files "listfiles"
408
409      MY_DODS_Cp ${comp}/Analyse/SE
410    fi
411
412    MY_DODS_Rm ${comp}/Analyse
413    MY_DODS_Rm ${comp}
414  else
415    IGCM_debug_Print 2 "nothing to do without Analyse."
416  fi
417
418done
419
420#====================================================
421#GRAPHS
422IGCM_debug_Print 1 "Move ATLAS"
423R_ATLAS=ATLAS
424IGCM_sys_TestDirArchive ${R_SAVE}/${R_ATLAS}
425if [ $? = 0 ] ; then
426  # REPLACE_sed ${NEW_R_SAVE}/${R_ATLAS}/*/*/index.html ${NEW_R_SAVE}/${R_ATLAS}
427
428  MY_DODS_Rm ${R_ATLAS}
429
430  IGCM_sys_Mv ${R_SAVE}/${R_ATLAS} ${NEW_R_SAVE}/${R_ATLAS}
431
432  MY_DODS_Cp ${R_ATLAS}
433fi
434
435IGCM_debug_Print 1 "Move MONITORING"
436R_MONITORING=MONITORING
437IGCM_sys_TestDirArchive ${R_SAVE}/${R_MONITORING}
438if [ $? = 0 ] ; then
439  IGCM_sys_MkdirArchive ${NEW_R_SAVE}/${R_MONITORING}
440  REPLACE_sed ${R_SAVE}/${R_MONITORING}/index.html ${NEW_R_SAVE}/${R_MONITORING}
441  sed -e "s/OldPrefix=\ *${config_UserChoices_JobName}/OldPrefix= ${NEW_JobName}/g" \
442  ${R_SAVE}/${R_MONITORING}/run.card > ${RUN_DIR_PATH}/run.card
443  IGCM_sys_Mv -f ${RUN_DIR_PATH}/run.card ${NEW_R_SAVE}/${R_MONITORING}
444  RET=$?
445  if [ ${RET} = 0 ] ; then
446    IGCM_sys_Rm -f ${R_SAVE}/${R_MONITORING}/run.card
447  fi
448  REPLACE_sed ${R_SAVE}/${R_MONITORING}/config.card ${NEW_R_SAVE}/${R_MONITORING}
449  IGCM_sys_Cp -rp ${R_SAVE}/${R_MONITORING} ${NEW_R_SAVE}
450
451  MY_DODS_Rm ${R_MONITORING}
452  IGCM_sys_Rm -rf ${R_SAVE}/${R_MONITORING}
453
454  MY_DODS_Cp ${R_MONITORING}
455fi
456
457
458#====================================================
459#REBUILD
460
461if [ -d ${REBUILD_DIR} ] ; then
462
463  IGCM_debug_Print 1 "Move REBUILD"
464  set +A LISTREBUILDS -- $( find ${REBUILD_DIR} -type d  -not -name "*${config_UserChoices_JobName}" -a -not -name "*TMP" )
465
466  for ThisREBDir in ${LISTREBUILDS[*]} ; do
467    rebdir=$( basename ${ThisREBDir} )
468    IGCM_debug_Print 2 "${rebdir}."
469    IGCM_sys_MkdirWork ${NEW_REBUILD_DIR}/${rebdir}
470    REPLACE_sed ${REBUILD_DIR}/${rebdir}/rebuild.ksh ${NEW_REBUILD_DIR}/${rebdir}
471    IGCM_sys_Mv -f ${REBUILD_DIR}/${rebdir}/* ${NEW_REBUILD_DIR}/${rebdir}/
472  done
473fi
474
475#====================================================
476#List OLD R_SAVE and Ask for erase it !
477
478IGCM_debug_Print 1 "ls of SAVE DIR :"
479ls --color -lR ${R_SAVE}
480
481echo "\033[1;31mPlease verify that ALL OLD DIRECTORY LISTED IS COMPLETLY EMPTY !"
482echo "\033[1;32mIf It is NOT EMPTY, you can TRY AGAIN this script."
483echo "\033[1;31mDo you REALLY want to erase all this directory ?"
484echo -n " Your answer (y/n) : \033[m"
485if [ X${reponse} = X ] ; then
486  read reponse
487fi
488case ${reponse} in
489
490  oui|OUI|o|y|yes|YES)
491    echo "OK. It will be erased."
492    IGCM_sys_Rm -Rf ${R_SAVE}
493    echo "done."
494    ;;
495  non|NON|n|no|NO)
496    echo "Nothing to do !"
497    ;;
498esac
499
500
501#############################################################################################################
502# Edit config.card, run.card and Job_${NewJobName}
503
504IGCM_debug_Print 1 "edit config.card"
505if [ X${config_UserChoices_SpaceName} != X ] ; then
506  IGCM_card_WriteOption ${SUBMIT_DIR}/config.card UserChoices SpaceName ${NEW_SpaceName}
507fi
508if [ X${config_UserChoices_ExperimentName} != X ] ; then
509  IGCM_card_WriteOption ${SUBMIT_DIR}/config.card UserChoices ExperimentName ${NEW_ExperimentName}
510fi
511IGCM_card_WriteOption ${SUBMIT_DIR}/config.card UserChoices JobName ${NEW_JobName}
512
513if [ -f ${SUBMIT_DIR}/run.card ] ; then
514  IGCM_debug_Print 1 "edit run.card"
515  sed -e "s/OldPrefix=\ *${config_UserChoices_JobName}/OldPrefix= ${NEW_JobName}/g" \
516  ${SUBMIT_DIR}/run.card > ${RUN_DIR_PATH}/run.card
517  IGCM_sys_Mv -f ${RUN_DIR_PATH}/run.card ${SUBMIT_DIR}/run.card
518
519  if [ X${old_run_Configuration_PeriodState} != X ] ; then
520    IGCM_card_WriteOption ${SUBMIT_DIR}/run.card Configuration PeriodState ${old_run_Configuration_PeriodState}
521  fi
522fi
523
524if [ -f ${SUBMIT_DIR}/Job_${config_UserChoices_JobName} ] ; then
525  IGCM_debug_Print 1 "edit Job_${NEW_JobName}"
526  sed -e "s&${R_SAVE}&${NEW_R_SAVE}&g" -e "s/${config_UserChoices_JobName}/${NEW_JobName}/g" \
527  ${SUBMIT_DIR}/Job_${config_UserChoices_JobName} > ${SUBMIT_DIR}/Job_${NEW_JobName}
528  chmod --reference=${SUBMIT_DIR}/Job_${config_UserChoices_JobName} ${SUBMIT_DIR}/Job_${NEW_JobName}
529  ls -la ${SUBMIT_DIR}/Job_${NEW_JobName}
530fi
Note: See TracBrowser for help on using the repository browser.