Changeset 385
- Timestamp:
- 11/17/10 14:06:58 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/libIGCM/AA_SE_Checker
r384 r385 1 #!/bin/ksh 1 2 #-Q- cesium #!/bin/ksh 2 3 #-Q- cesium ###################### 3 4 #-Q- cesium ## CESIUM CEA ## 4 5 #-Q- cesium ###################### 5 #-Q- cesium #MSUB -r TimeSeries# Nom du job6 #-Q- cesium #MSUB -r SE_Checker # Nom du job 6 7 #-Q- cesium #MSUB -N 1 # Reservation du noeud 7 8 #-Q- cesium #MSUB -n 1 # Reservation du processus … … 13 14 #-Q- platine ## PLATINE CEA ## 14 15 #-Q- platine ################### 15 #-Q- platine #BSUB -J TimeSeries# Nom du job16 #-Q- platine #BSUB -J SE_Checker # Nom du job 16 17 #-Q- platine #BSUB -N # message a la fin du job 17 18 #-Q- platine #BSUB -n 1 # reservation des processeurs pour le job … … 25 26 #-Q- sx8brodie # @ wall_clock_limit = 20:00:00 26 27 #-Q- sx8brodie # Nom du travail LoadLeveler 27 #-Q- sx8brodie # @ job_name = TimeSeries28 #-Q- sx8brodie # @ job_name = SE_Checker 28 29 #-Q- sx8brodie # Fichier de sortie standard du travail 29 30 #-Q- sx8brodie # @ output = $(job_name).$(jobid) … … 40 41 #-Q- aix6 # @ wall_clock_limit = 20:00:00 41 42 #-Q- aix6 # Nom du travail LoadLeveler 42 #-Q- aix6 # @ job_name = TimeSeries43 #-Q- aix6 # @ job_name = SE_Checker 43 44 #-Q- aix6 # Fichier de sortie standard du travail 44 45 #-Q- aix6 # @ output = $(job_name).$(jobid) … … 54 55 #-Q- sx8mercure ## SX8MERCURE CEA ## 55 56 #-Q- sx8mercure ###################### 56 #-Q- sx8mercure #PBS -N TimeSeries# Nom du job57 #-Q- sx8mercure #PBS -N SE_Checker # Nom du job 57 58 #-Q- sx8mercure #PBS -j o # regroupement des stdout et stderr 58 59 #-Q- sx8mercure #PBS -S /usr/bin/ksh # shell de soumission … … 64 65 #-Q- sx9mercure ## CESIUM FOR SX9 CEA ## 65 66 #-Q- sx9mercure ######################### 66 #-Q- sx9mercure #MSUB -r TimeSeries# Nom du job67 #-Q- sx9mercure #MSUB -r SE_Checker # Nom du job 67 68 #-Q- sx9mercure #MSUB -N 1 # Reservation du noeud 68 69 #-Q- sx9mercure #MSUB -n 1 # Reservation du processus … … 74 75 #-Q- titane ## TITANE CEA ## 75 76 #-Q- titane ###################### 76 #-Q- titane #MSUB -r TimeSeries# Nom du job77 #-Q- titane #MSUB -r SE_Checker # Nom du job 77 78 #-Q- titane #MSUB -N 1 # Reservation du noeud 78 79 #-Q- titane #MSUB -n 1 # Reservation du processus … … 85 86 #-Q- lxiv8 ## OBELIX LSCE ## 86 87 #-Q- lxiv8 ###################### 87 #-Q- lxiv8 #PBS -N TimeSeries88 #-Q- lxiv8 #PBS -N SE_Checker 88 89 #-Q- lxiv8 #PBS -m a 89 90 #-Q- lxiv8 #PBS -j oe 90 91 #-Q- lxiv8 #PBS -q medium 91 #-Q- lxiv8 #PBS -o TimeSeries.$$92 #-Q- lxiv8 #PBS -o SE_Checker.$$ 92 93 #-Q- lxiv8 #PBS -S /bin/ksh 93 94 #-Q- default #!/bin/ksh … … 98 99 #************************************************************** 99 100 # Author: Sebastien Denvil 100 # Contact: Sebastien.Denvil __at__ipsl.jussieu.fr101 # $ Revision:: $ Revision of last commit102 # $Author :: $ Author of last commit103 # $ Date:: $ Date of last commit101 # Contact: Sebastien.Denvil@ipsl.jussieu.fr 102 # $Date$ 103 # $Author$ 104 # $Revision$ 104 105 # IPSL (2006) 105 106 # This software is governed by the CeCILL licence see libIGCM/libIGCM_CeCILL.LIC 107 # History: 108 # Modification: 106 109 # 107 110 #************************************************************** … … 170 173 IGCM_debug_PrintVariables 3 config_UserChoices_DateEnd 171 174 172 if [ -f ${CARD_DIR}/run.card ] ; then 173 IGCM_card_DefineVariableFromOption ${CARD_DIR}/run.card Configuration OldPrefix 174 IGCM_card_DefineVariableFromOption ${CARD_DIR}/run.card Configuration PeriodState 175 IGCM_card_DefineVariableFromOption ${CARD_DIR}/run.card PostProcessing TimeSeriesCompleted 176 IGCM_debug_Print 1 "DefineVariableFromOption : run_Configuration" 177 IGCM_debug_PrintVariables 3 run_Configuration_OldPrefix 178 IGCM_debug_PrintVariables 3 run_Configuration_PeriodState 179 IGCM_debug_Print 1 "DefineVariableFromOption : run_PostProcessing" 180 IGCM_debug_PrintVariables 3 run_PostProcessing_TimeSeriesCompleted 181 if [ X${run_Configuration_PeriodState} != X"Completed" ] ; then 182 DateEnd=$( IGCM_date_ConvertFormatToGregorian $( echo ${run_Configuration_OldPrefix} | awk -F'_' '{print $2}' ) ) 183 else 184 DateEnd=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateEnd} ) 185 fi 186 CompletedFlag=${run_PostProcessing_TimeSeriesCompleted} 187 else 188 DateEnd=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateEnd} ) 189 CompletedFlag="" 190 fi 191 SavedCompletedFlag=${CompletedFlag} 175 DateEnd=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateEnd} ) 192 176 DateBegin=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateBegin} ) 193 177 … … 196 180 197 181 echo 198 IGCM_debug_Print 1 "DateBegin for TimeSeries_Checker : "${DateBegin} 199 IGCM_debug_Print 1 "DateEnd for TimeSeries_Checker : "${DateEnd} 200 IGCM_debug_Print 1 "YearBegin MonthBegin for TimeSeries_Checker : ${YearBegin} ${MonthBegin}" 201 IGCM_debug_Print 1 "YearEnd MonthEnd for TimeSeries_Checker : ${YearEnd} ${MonthEnd}" 202 IGCM_debug_Print 1 "CompletedFlag = "${CompletedFlag} 182 IGCM_debug_Print 1 "DateBegin for SE_Checker : "${DateBegin} 183 IGCM_debug_Print 1 "DateEnd for SE_Checker : "${DateEnd} 203 184 echo 204 185 … … 216 197 IGCM_card_DefineArrayFromSection ${CARD_DIR}/config.card ListOfComponents 217 198 218 for comp in ${config_ListOfComponents[*]} ; do 219 # Debug Print 220 IGCM_debug_Print 1 ${comp} 221 # Define component 222 IGCM_card_DefineArrayFromOption ${CARD_DIR}/config.card ListOfComponents ${comp} 223 eval compname=\${config_ListOfComponents_${comp}[0]} > /dev/null 2>&1 224 eval comptagname=\${config_ListOfComponents_${comp}[1]} > /dev/null 2>&1 225 226 # Read libIGCM compatibility version in ${compname}.card 227 card=${CARD_DIR}/COMP/${compname}.card 228 229 # Read and Build Output File stuff 230 #IGCM_debug_Print 1 "DefineArrayFromOption : ${compname}_OutputFiles ${card}" 231 IGCM_card_DefineArrayFromOption ${card} OutputFiles List 232 ListFilesName=${compname}_OutputFiles_List 233 eval FileName0=\${${ListFilesName}[0]} > /dev/null 2>&1 234 # 235 if [ X${FileName0} != X${NULL_STR} ] ; then 236 # 237 #IGCM_debug_Print 1 "Component : ${compname}" 199 IGCM_card_DefineVariableFromOption ${CARD_DIR}/config.card Post SeasonalFrequency 200 # 201 [ X${config_Post_SeasonalFrequency} = X"NONE" ] && exit 202 203 freq=$( echo ${config_Post_SeasonalFrequency} | sed -e "s/[yY]//" ) 204 205 an_deb=$( IGCM_date_YearDigit $(( DateBegin / 10000 )) ) 206 an_fin_all=$( IGCM_date_YearDigit $(( DateEnd / 10000 )) ) 207 an_fin=$( IGCM_date_YearDigit $(( an_deb + freq - 1 )) ) 208 209 # 210 while [ ${an_fin} -le ${an_fin_all} ] ; do 211 212 countTotal=0 213 countGood=0 214 countBad=0 215 216 IGCM_debug_Print 1 " DateBegin/End for SE : ${an_deb}_${an_fin} " 217 218 for comp in ${config_ListOfComponents[*]} ; do 219 localcountBad=0 220 # Debug Print 221 IGCM_debug_Print 1 ${comp} 222 # Define component 223 IGCM_card_DefineArrayFromOption ${CARD_DIR}/config.card ListOfComponents ${comp} 224 eval compname=\${config_ListOfComponents_${comp}[0]} > /dev/null 2>&1 225 226 # Read libIGCM compatibility version in ${compname}.card 227 card=${CARD_DIR}/COMP/${compname}.card 228 229 # Read and Build Output File stuff 230 #IGCM_debug_Print 1 "DefineArrayFromOption : ${compname}_OutputFiles ${card}" 231 IGCM_card_DefineArrayFromOption ${card} OutputFiles List 232 ListFilesName=${compname}_OutputFiles_List 233 eval FileName0=\${${ListFilesName}[0]} > /dev/null 2>&1 238 234 # 239 # INITIALISATION 240 # 241 eval NbFiles=\${#${ListFilesName}[@]} > /dev/null 2>&1 242 i=2 243 # 244 until [ $i -ge $NbFiles ]; do 235 if [ X${FileName0} != X${NULL_STR} ] ; then 245 236 # 246 eval flag_post=\${${ListFilesName}[$i]} > /dev/null 2>&1237 # INITIALISATION 247 238 # 248 if [ X${flag_post} != XNONE ] ; then 239 eval NbFiles=\${#${ListFilesName}[@]} > /dev/null 2>&1 240 typeset i=2 241 # 242 until [ $i -gt $NbFiles ]; do 249 243 # 250 # First of all 251 # 252 IGCM_card_DefineArrayFromSection ${card} ${flag_post} 244 eval flag_post=\${${ListFilesName}[$i]} > /dev/null 2>&1 253 245 # 254 IGCM_card_DefineArrayFromOption ${card} ${flag_post} TimeSeriesVars 255 IGCM_card_DefineArrayFromOption ${card} ${flag_post} Patches 256 if [ X"$( eval echo \${${compname}_${flag_post}_TimeSeriesVars[*]} )" = X"Option not found ${flag_post}" ] ; then 257 # New TimeSeriesVar description, with 2D, 3D and associate ChunckJob. 258 unset ListDimension 259 ListDimension[0]=2D 260 ListDimension[1]=3D 261 TimeSeries=false 262 TimeSeries2D=false 263 TimeSeries3D=false 264 chunck=false 265 iLoop=${#ListDimension[*]} 266 j=0 267 until [ $j -ge ${iLoop} ]; do 268 Dimension=${ListDimension[${j}]} 269 IGCM_card_DefineArrayFromOption ${card} ${flag_post} TimeSeriesVars${Dimension} 270 IGCM_card_DefineVariableFromOption ${card} ${flag_post} ChunckJob${Dimension} 271 # 272 # Time series WITHOUT chunk 273 # 274 if [ ! $( eval echo \${${compname}_${flag_post}_TimeSeriesVars${Dimension}} ) = ${NULL_STR} ] ; then 275 if [ $( eval echo \${${compname}_${flag_post}_ChunckJob${Dimension}} ) = NONE ] ; then 276 IGCM_debug_Print 2 "${Dimension} time series activated for ${flag_post}" 277 eval TimeSeries${Dimension}=true 278 chunck=false 279 fi 246 if [ X${flag_post} != XNONE ] ; then 247 # 248 # Check if seasonal is required for this file 249 # 250 IGCM_card_DefineArrayFromSection ${card} ${flag_post} 251 # 252 # Seasonal case : If option Seasonal is not found (old cards) put SEASONAL ON by default 253 # 254 # variable option allready typeset above 255 for option in $( eval echo \${${compname}_${flag_post}[*]} ) ; do 256 if [ ${option} = Seasonal ] ; then 257 FoundSeasonal=true 258 IGCM_card_DefineVariableFromOption ${card} ${flag_post} Seasonal 280 259 fi 281 #282 # Time series WITH chunk283 #284 if [ ! $( eval echo \${${compname}_${flag_post}_TimeSeriesVars${Dimension}} ) = ${NULL_STR} ] ; then285 chunck_size=$( eval echo \${${compname}_${flag_post}_ChunckJob${Dimension}} )286 if [ ! ${chunck_size} = NONE ] && [ ! ${chunck_size} = OFF ] ; then287 IGCM_debug_Print 2 "${Dimension} time series activated with ${chunck_size} chunck for ${flag_post}"288 eval TimeSeriesChunck${Dimension}=true289 chunck=true290 fi291 fi292 (( j=j+1 ))293 #294 # If TimeSeriesVars list is empty or OFF we skip295 #296 if ( [ $( eval echo \${${compname}_${flag_post}_TimeSeriesVars${Dimension}} ) = ${NULL_STR} ] || \297 [ ${chunck_size} = OFF ] ) ; then298 #IGCM_debug_Print 2 "Empty TS : ${compname}_Post_${FILE}_TimeSeriesVars${Dimension}"299 #(( i=i+3 ))300 continue301 fi302 #303 # ICI ON TESTE QUE LES FICHIERS TS SONT LA!304 #305 #306 FILE=$( echo ${flag_post} | awk "-FPost_" '{print $2}' )307 IGCM_card_DefineArrayFromOption ${card} Post_${FILE} TimeSeriesVars${Dimension}308 IGCM_card_DefineVariableFromOption ${card} Post_${FILE} ChunckJob${Dimension}309 #310 FlagDir=$( echo ${FILE} | awk -F "_" '{print $1}' )311 case ${FlagDir} in312 *Y) TS_Dir=TS_YE ;;313 *M) TS_Dir=TS_MO ;;314 *D) TS_Dir=TS_DA ;;315 3H|HF) TS_Dir=TS_HF ;;316 INS) TS_Dir=TS_INS ;;317 esac318 #319 # We need LIST of variables not allready produced (useful for standalone mode)320 #321 DateBegin=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateBegin} )322 IGCM_date_GetYearMonth ${DateBegin} YearBegin MonthBegin323 324 # Si on n'a pas de chunck, dans ce cas chunck_size=la durée de la simulation en années325 YearsChunckLength=$( echo ${chunck_size} | sed -e "s/[yY]//" )326 [ ${chunck} = false ] && YearsChunckLength=$(( YearEnd - YearBegin + 1 ))327 328 NbYearsChunckLoop=$(( ( YearEnd - YearBegin + 1 ) / YearsChunckLength ))329 Reste=$(( ( YearEnd - YearBegin + 1 ) % YearsChunckLength ))330 331 if [ ${Reste} -ne 0 ] ; then332 NbYearsChunckLoop=$(( NbYearsChunckLoop + 1 ))333 fi334 335 if [ ${NbYearsChunckLoop} -eq 1 ] ; then336 PeriodDateEnd=${DateEnd}337 else338 DaysInYear=$( IGCM_date_DaysInYear ${YearBegin} )339 PeriodDateEnd=$( IGCM_date_AddDaysToGregorianDate ${DateBegin} $(( YearsChunckLength * DaysInYear - 1 )) )340 fi341 #342 DIRECTORY=${R_SAVE}/${comp}/Analyse/${TS_Dir}343 YearsChunckLoop=1344 ChunckDebut=${DateBegin}345 ChunckFin=${PeriodDateEnd}346 while [ ${YearsChunckLoop} -le ${NbYearsChunckLoop} ] ; do347 countTotal=0348 countGood=0349 countBad=0350 for var in $( eval echo \${${compname}_Post_${FILE}_TimeSeriesVars${Dimension}[*]} ) ; do351 TestedFile=${config_UserChoices_JobName}_${ChunckDebut}_${ChunckFin}_${FlagDir}_${var}.nc352 #353 if [ ! -f ${DIRECTORY}/${TestedFile} ] ; then354 (( countBad = countBad + 1 ))355 [ ${countBad} = 1 ] && IGCM_debug_Print 3 "Missing time series from ${FILE} :"356 IGCM_debug_Print 3 ${DIRECTORY}/${TestedFile}357 else358 (( countGood = countGood + 1 ))359 fi360 (( countTotal = countTotal + 1 ))361 done362 363 SuccessRate=$(( countGood * 100 / countTotal ))364 if [ ${SuccessRate} -ne 100 ] ; then365 IGCM_debug_Print 2 -e "\033[1;31m${SuccessRate}% files OK.\033[m for period ${ChunckDebut}-${ChunckFin}"366 else367 IGCM_debug_Print 2 -e "\033[1;32m${SuccessRate}% files OK.\033[m for period ${ChunckDebut}-${ChunckFin}"368 fi369 370 echo371 if ( [ ${chunck} = true ] && [ ${SuccessRate} -ne 100 ] ) ; then372 ChunckCompletedFlag=""373 CompletedFlag=${SavedCompletedFlag}374 if [ X${CompletedFlag} != X ] ; then375 ( [ ${CompletedFlag} -gt ${ChunckDebut} ] && [ ${CompletedFlag} -le ${ChunckFin} ] ) && ChunckCompletedFlag=${CompletedFlag}376 fi377 IGCM_debug_Print 2 -e "\033[1;31mSubmit ${FILE} chunck ${Dimension}\033[m period ${ChunckDebut}-${ChunckFin}"378 listVarEnv="libIGCM,SUBMIT_DIR,POST_DIR,DateBegin,PeriodDateEnd,CompletedFlag,TsTask,CompToRead,FlagToRead"379 export libIGCM=${libIGCM}380 export SUBMIT_DIR=${CARD_DIR}381 export POST_DIR=${POST_DIR}382 export DateBegin=${ChunckDebut}383 export PeriodDateEnd=${ChunckFin}384 export CompletedFlag=${ChunckCompletedFlag}385 export TsTask=Chunck${Dimension}386 export CompToRead=${comp}387 export FlagToRead=${i}388 export listVarEnv=${listVarEnv}389 IGCM_sys_MkdirWork ${POST_DIR}390 IGCM_debug_Verif_Exit391 IGCM_sys_QsubPost create_ts392 echo393 fi394 395 if ( [ ${chunck} = false ] && [ ${SuccessRate} -ne 100 ] ) ; then396 eval Launch${Dimension}=true397 fi398 399 # Date update400 ChunckDebut=$( IGCM_date_AddDaysToGregorianDate ${ChunckFin} 1 )401 402 (( YearsChunckLoop = YearsChunckLoop + 1 ))403 404 if [ ${YearsChunckLoop} -eq ${NbYearsChunckLoop} ] ; then405 ChunckFin=${DateEnd}406 else407 #PeriodDateEnd=$(( YearBegin + YearsChunckLength - 1 ))408 ChunckFin=$( IGCM_date_AddDaysToGregorianDate ${ChunckDebut} $(( YearsChunckLength * DaysInYear - 1 )) )409 fi410 done411 260 done 412 else 413 ListDimension[0]="" 414 TimeSeries=true 415 TimeSeries2D=false 416 TimeSeries3D=false 417 TimeSeriesChunck2D=false 418 TimeSeriesChunck3D=false 261 # 262 if [ ! X${FoundSeasonal} = Xtrue ] ; then 263 eval ${compname}_${flag_post}_Seasonal=ON 264 fi 265 # 266 if [ ! X$( eval echo \${${compname}_${flag_post}_Seasonal} ) = XON ] ; then 267 (( i=i+3 )) 268 continue 269 fi 270 # 271 # CREATE LIST 272 # 273 FILE=$( echo ${flag_post} | awk "-FPost_" '{print $2}' ) 274 # 275 DIRECTORY=${R_SAVE}/${comp}/Analyse/SE 276 # 277 TestedFile=${config_UserChoices_JobName}_SE_${an_deb}_${an_fin}_${FILE}.nc 278 # 279 (( countTotal = countTotal + 1 )) 280 IGCM_sys_TestFileArchive ${DIRECTORY}/${TestedFile} >/dev/null 2>&1 281 if [ ! $? = 0 ] ; then 282 eval set +A LISTE_FILE_${comp}_${an_deb} \$\{LISTE_FILE_${comp}_${an_deb}[*]} ${TestedFile} 283 (( countBad = countBad + 1 )) 284 (( localcountBad = localcountBad + 1 )) 285 else 286 (( countGood = countGood + 1 )) 287 fi 419 288 fi 420 fi 421 (( i=i+3 )) 422 done 289 (( i=i+3 )) # to explore file list 290 done # until [ $i -eq $NbFiles ] 291 fi # [ X${FileName0} != X${NULL_STR} ] 292 293 [ $localcountBad = 0 ] || IGCM_debug_Print 1 "$localcountBad file(s) missing for ${comp} : " $( eval echo \${LISTE_FILE_${comp}_${an_deb}[*]} ) 294 done 295 296 # create_se submit if files don't exist 297 if [ $countGood != $countTotal ] ; then 298 IGCM_debug_Print 2 -e "\033[1;31mSubmit create_se \033[m for period ${an_deb}-${an_fin}" 299 300 listVarEnv="libIGCM,SUBMIT_DIR,POST_DIR,DateBegin,PeriodDateEnd,RebuildFrequency,RESOL_ATM,RESOL_SRF,RESOL_SBG,RESOL_OCE,RESOL_ICE,RESOL_MBG" 301 export libIGCM=${libIGCM} 302 export SUBMIT_DIR=${SUBMIT_DIR} 303 export POST_DIR=${POST_DIR} 304 export DateBegin=${an_deb} 305 export PeriodDateEnd=${an_fin}1231 306 export RebuildFrequency=${RebuildFrequency} 307 export RESOL_ATM=${RESOL_ATM} 308 export RESOL_SRF=${RESOL_SRF} 309 export RESOL_SBG=${RESOL_SBG} 310 export RESOL_OCE=${RESOL_OCE} 311 export RESOL_ICE=${RESOL_ICE} 312 export RESOL_MBG=${RESOL_MBG} 313 export listVarEnv=${listVarEnv} 314 IGCM_sys_MkdirWork ${POST_DIR} 315 IGCM_debug_Verif_Exit 316 IGCM_sys_QsubPost create_se 317 318 echo 423 319 fi 424 done # comp loop 425 426 echo 427 428 DateBegin=$( IGCM_date_ConvertFormatToGregorian ${config_UserChoices_DateBegin} ) 429 IGCM_date_GetYearMonth ${DateBegin} YearBegin MonthBegin 430 CompletedFlag=${SavedCompletedFlag} 431 432 if [ X${Launch2D} = Xtrue ] ; then 433 IGCM_debug_Print 2 -e "\033[1;31mSubmit 2D\033[m without chunck period ${DateBegin}-${DateEnd}" 434 listVarEnv="libIGCM,SUBMIT_DIR,POST_DIR,DateBegin,PeriodDateEnd,CompletedFlag,TsTask" 435 export libIGCM=${libIGCM} 436 export SUBMIT_DIR=${CARD_DIR} 437 export POST_DIR=${POST_DIR} 438 export DateBegin=${DateBegin} 439 export PeriodDateEnd=${DateEnd} 440 export CompletedFlag=${CompletedFlag} 441 export TsTask=2D 442 export listVarEnv=${listVarEnv} 443 IGCM_sys_MkdirWork ${POST_DIR} 444 IGCM_debug_Verif_Exit 445 IGCM_sys_QsubPost create_ts 446 echo 447 fi 448 449 if [ X${Launch3D} = Xtrue ] ; then 450 IGCM_debug_Print 2 -e "\033[1;31mSubmit 3D\033[m without chunck period ${DateBegin}-${DateEnd}" 451 listVarEnv="libIGCM,SUBMIT_DIR,POST_DIR,DateBegin,PeriodDateEnd,CompletedFlag,TsTask" 452 export libIGCM=${libIGCM} 453 export SUBMIT_DIR=${CARD_DIR} 454 export POST_DIR=${POST_DIR} 455 export DateBegin=${DateBegin} 456 export PeriodDateEnd=${DateEnd} 457 export CompletedFlag=${CompletedFlag} 458 export TsTask=3D 459 export listVarEnv=${listVarEnv} 460 IGCM_sys_MkdirWork ${POST_DIR} 461 IGCM_debug_Verif_Exit 462 IGCM_sys_QsubPost create_ts 463 echo 464 fi 320 321 (( an_deb = an_deb + freq )) 322 (( an_fin = an_fin + freq )) 323 324 done # while 325
Note: See TracChangeset
for help on using the changeset viewer.