Changeset 786
- Timestamp:
- 02/04/13 17:03:47 (11 years ago)
- Location:
- trunk/libIGCM
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/libIGCM/libIGCM_card/libIGCM_card.ksh
r772 r786 58 58 IGCM_debug_PushStack "IGCM_card_PrintOption" $@ 59 59 if ( [ -r "$1" ] && [ -f "$1" ] ) ; then 60 61 else 62 63 64 65 60 gawk -f ${libIGCM}/libIGCM_card/IGCM_card_PrintOption.awk "$@" 61 else 62 echo 63 IGCM_debug_Print 1 "--Error--> IGCM_card_PrintOption $@" 64 IGCM_debug_Print 1 " $1 is not readable" 65 IGCM_debug_Exit "IGCM_card_PrintOption" 66 66 fi 67 67 IGCM_debug_PopStack "IGCM_card_PrintOption" … … 78 78 IGCM_debug_PushStack "IGCM_card_PrintSection" $@ 79 79 if ( [ -r "$1" ] && [ -f "$1" ] ) ; then 80 81 else 82 83 84 80 gawk -f ${libIGCM}/libIGCM_card/IGCM_card_PrintSection.awk -- "$@" 81 else 82 IGCM_debug_Print 1 "--Error--> IGCM_card_PrintSection $@" 83 IGCM_debug_Print 1 " $1 is not readable" 84 IGCM_debug_Exit "IGCM_card_PrintSection" 85 85 fi 86 86 IGCM_debug_PopStack "IGCM_card_PrintSection" … … 97 97 IGCM_debug_PushStack "IGCM_card_DefineVariableFromOption" $@ 98 98 if ( [ -r "$1" ] && [ -f "$1" ] ) ; then 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 else 116 117 118 119 120 99 # Get basename of card file ($1) 100 typeset name1=${1##*/} 101 # Build name of variable as $1_$2_$3 (cardname_Section_Option) 102 typeset name=${name1%%.*}_${2}_${3} 103 typeset value=$( gawk -f ${libIGCM}/libIGCM_card/IGCM_card_PrintOption.awk -- "$@" ) 104 105 # Only if a section is missing we exit the job. 106 # We must allow missing option to keep backward compatibilty. 107 if [ "${value}" = "Error: Section not found" ] ; then 108 echo 109 IGCM_debug_Print 1 "Error with readding of ${name} variable in ${1}." 110 IGCM_debug_Print 1 "Error: Section ${2} not found" 111 IGCM_debug_Exit 112 IGCM_debug_Verif_Exit 113 fi 114 eval ${name}=${value} 115 else 116 echo 117 IGCM_debug_Print 1 "--Error--> IGCM_card_DefineVariableFromOption" 118 IGCM_debug_Print 1 "--Error--> $1 is not readable" 119 IGCM_debug_Exit "IGCM_card_DefineVariableFromOption" 120 IGCM_debug_Verif_Exit 121 121 fi 122 122 IGCM_debug_PopStack "IGCM_card_DefineVariableFromOption" … … 133 133 IGCM_debug_PushStack "IGCM_card_DefineArrayFromOption" $@ 134 134 if ( [ -r "$1" ] && [ -f "$1" ] ) ; then 135 136 137 138 139 140 141 142 else 143 144 145 146 135 # Get basename of card file ($1) 136 typeset name1=${1##*/} 137 # Build name of array as $1_$2_$3 (cardname_Section_Option) 138 typeset name=${name1%%.*}_${2}_${3} 139 eval unset ${name} 140 eval ${name}[0]=${NULL_STR} 141 set +A ${name} -- $( gawk -f ${libIGCM}/libIGCM_card/IGCM_card_PrintOption.awk -- "$@" | gawk -- 'BEGIN {FS="[() ,]+"} {for (i=2; i <= NF-1; i++) printf("%s ",$i)}' ) 142 else 143 echo 144 IGCM_debug_Print 1 "--Error--> IGCM_card_DefineArrayFromOption $@" 145 IGCM_debug_Print 1 " $1 is not readable" 146 IGCM_debug_Exit "IGCM_card_DefineArrayFromOption" 147 147 fi 148 148 IGCM_debug_PopStack "IGCM_card_DefineArrayFromOption" … … 159 159 IGCM_debug_PushStack "IGCM_card_DefineArrayFromSection" $@ 160 160 if ( [ -r "$1" ] && [ -f "$1" ] ) ; then 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 else 182 183 184 161 # Get basename of card file ($1) 162 typeset name1=${1##*/} 163 # Build name of array as $1_$2 (cardname_Section) 164 typeset name=${name1%%.*}_${2} 165 eval unset ${name} 166 eval ${name}[0]=${NULL_STR} 167 set +A ${name} -- $( gawk -f ${libIGCM}/libIGCM_card/IGCM_card_PrintSection.awk -- "$@" ) 168 #if [ "$( eval echo \${${name}[@]} )" = "Error: Section not found" ] ; then 169 # echo 170 # IGCM_debug_Print 1 "Error with readding of ${name} variable in ${1}." 171 # IGCM_debug_Print 1 "Error: Section ${2} not found" 172 # IGCM_debug_Exit 173 # IGCM_debug_Verif_Exit 174 #fi 175 if [ "$( eval echo \${${name}[@]} )" = "Error: Section not found" ] ; then 176 echo 177 IGCM_debug_Print 1 "Warning with readding of ${name} variable in ${1}." 178 IGCM_debug_Print 1 "Warning: Section ${2} not found" 179 eval unset ${name} 180 fi 181 else 182 IGCM_debug_Print 1 "--Error--> IGCM_card_DefineArrayFromSection $@" 183 IGCM_debug_Print 1 " $1 is not readable" 184 IGCM_debug_Exit "IGCM_card_DefineArrayFromSection" 185 185 fi 186 186 IGCM_debug_PopStack "IGCM_card_DefineArrayFromSection" … … 201 201 IGCM_debug_PushStack "IGCM_card_WriteOption" $@ 202 202 if ( [ -r "$1" ] && [ -w "$1" ] && [ -f "$1" ] ) ; then 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 else 228 229 230 231 203 typeset tmpfile=tmpfile_$$ 204 ( IGCM_card_PrintOption "$1" "$2" "$3" | grep "not found" ) > ${tmpfile} 205 if [ $( cat ${tmpfile} | wc -l ) -gt 0 ] ; then 206 echo "-------------------------------------------" 207 echo "!!! Problem with IGCM_card_WriteOption !!!" 208 echo "Try to write : " $@ 209 echo "You have to correct some script." 210 echo "We won't do anything else !" 211 exit 1 212 fi 213 \rm ${tmpfile} 214 215 # The tmpfile uses now the real path of the card to be modified, 216 # not just a local tmpfile with PID. 217 tmpfile=$1_mutex_$$ 218 219 IGCM_card_CheckConflict $1 220 221 # Do the job 222 ( gawk -f ${libIGCM}/libIGCM_card/IGCM_card_WriteOption.awk -- "$@" 2> /dev/null ) > ${tmpfile} 223 224 cp $1 $1.bak 225 mv ${tmpfile} $1 226 227 else 228 echo 229 IGCM_debug_Print 1 "--Error--> IGCM_card_WriteOption $@" 230 IGCM_debug_Print 1 " $1 is not readable or not writable" 231 IGCM_debug_Exit "IGCM_card_WriteOption" 232 232 fi 233 233 IGCM_debug_PopStack "IGCM_card_WriteOption" … … 244 244 ((isleep=0)) 245 245 while [ ${#tmpfiles[@]} -gt 0 ] ; do 246 247 248 249 250 251 252 246 echo "Conflict between two processes working on " $1 "!!!" ${tmpfiles[@]} 247 sleep 1 248 ((isleep=isleep+1)) 249 if [ isleep -gt 20 ] ; then 250 echo "Too many loops waiting for other process working on " $1 ". We continue." 251 echo "You should see if one process of your run or post-treatment may have terminated suddenly." 252 echo "Afer, you should erase this(those) file(s) : " ${tmpfiles[@]} 253 253 # Send a mail to USER ?? 254 255 256 257 254 break ; 255 fi 256 unset tmpfiles 257 set +A tmpfiles -- $( ls $1_mutex_[0-9]* 2>/dev/null ) 258 258 done 259 259 … … 273 273 274 274 if ( [ -r "$1" ] && [ -w "$1" ] && [ -f "$1" ] ) ; then 275 276 277 278 279 280 281 282 else 283 284 285 286 275 typeset tmpfile=tmpfile_$$ 276 if [ X"${4}" != X"" ]; then 277 tab=$4 278 IGCM_card_WriteOption $1 $2 $3 '('$( eval echo \${${tab}[@]} | sed -e 's/ /,/g' )')' 279 else 280 IGCM_card_WriteOption $1 $2 $3 '()' 281 fi 282 else 283 echo 284 IGCM_debug_Print 1 "--Error--> IGCM_card_WriteArrayOption $@" 285 IGCM_debug_Print 1 " $1 is not readable or not writable" 286 IGCM_debug_Exit "IGCM_card_WriteArrayOption" 287 287 fi 288 288 IGCM_debug_PopStack "IGCM_card_WriteArrayOption" … … 299 299 #--------------------- 300 300 if [ ! -n "${libIGCM}" ] ; then 301 302 303 301 echo "Check libIGCM_card ...........................................[ FAILED ]" 302 echo "--Error--> libIGCM variable is not defined" 303 IGCM_debug_Exit "IGCM_card_Check" 304 304 fi 305 305 … … 307 307 whence -v gawk > /dev/null 2>&1 308 308 if [ ! $? -eq 0 ] ; then 309 310 311 309 echo "Check libIGCM_card ...........................................[ FAILED ]" 310 echo "--Error--> gawk command is not defined" 311 IGCM_debug_Exit "IGCM_card_Check" 312 312 fi 313 313 … … 317 317 318 318 if diff IGCM_card_Test.ref.failed ${libIGCM}/libIGCM_card/IGCM_card_Test.ref > /dev/null 2>&1 ; then 319 320 319 echo "Check libIGCM_card ...............................................[ OK ]" 320 rm -f IGCM_card_Test.ref.failed 321 321 else 322 323 324 325 326 327 328 322 echo "Check libIGCM_card ...........................................[ FAILED ]" 323 echo "--Error--> Execution of ${libIGCM}/libIGCM_card/IGCM_card_Test.ksh" 324 echo " has produced the file IGCM_card_Test.ref.failed" 325 echo " Please analyse differences with the reference file by typing:" 326 echo " diff IGCM_card_Test.ref.failed ${libIGCM}/libIGCM_card/IGCM_card_Test.ref" 327 echo " Report errors to the author: Patrick.Brockmann@cea.fr" 328 IGCM_debug_Exit "IGCM_card_Check" 329 329 fi 330 330 -
trunk/libIGCM/libIGCM_config/libIGCM_config.ksh
r782 r786 321 321 echo "------------" 322 322 echo "WARNING : Job is NOT in RUN mode then we will force REBUILD Frequency" 323 echo " 323 echo " to PeriodLength : ${config_UserChoices_PeriodLength}" 324 324 echo "------------" 325 325 config_Post_RebuildFrequency=${config_UserChoices_PeriodLength} … … 458 458 case ${value} in 459 459 *Y|*y) ;; 460 *) IGCM_debug_Print 1 "All ChunckJob2D frequency must be expressed in year *Y|*y in comp.card" 460 *) 461 IGCM_debug_Print 1 "All ChunckJob2D frequency must be expressed in year *Y|*y in comp.card" 461 462 IGCM_debug_Exit "This will stop the job" ;; 462 463 esac … … 473 474 case ${value} in 474 475 *Y|*y) ;; 475 *) IGCM_debug_Print 1 "All ChunckJob3D frequency must be expressed in year *Y|*y in comp.card" 476 *) 477 IGCM_debug_Print 1 "All ChunckJob3D frequency must be expressed in year *Y|*y in comp.card" 476 478 IGCM_debug_Exit "This will stop the job" ;; 477 479 esac … … 539 541 540 542 #===================================# 541 # Read updated run.card 543 # Read updated run.card # 542 544 #===================================# 543 545 … … 631 633 #===================================================================# 632 634 # Prepare variables available for ${COMP}.card and ${COMP}.driver # 633 # 635 # But available to any son functions # 634 636 #===================================================================# 635 637 … … 1114 1116 1115 1117 #=================================================# 1116 # 1118 # Write updated run.card # 1117 1119 #=================================================# 1118 1120 -
trunk/libIGCM/libIGCM_date/libIGCM_date.ksh
r732 r786 217 217 eval $2=360 > /dev/null 2>&1 218 218 fi 219 # 219 # IGCM_debug_PopStack "IGCM_date_DaysInYear" 220 220 return;; 221 221 noleap|365_day) … … 226 226 fi 227 227 228 # 228 # IGCM_debug_PopStack "IGCM_date_DaysInYear" 229 229 return;; 230 230 all_leap|366_day) … … 235 235 fi 236 236 237 # 237 # IGCM_debug_PopStack "IGCM_date_DaysInYear" 238 238 return;; 239 239 esac … … 264 264 fi 265 265 266 # 266 # IGCM_debug_PopStack "IGCM_date_DaysInYear" 267 267 return 268 268 fi … … 278 278 fi 279 279 280 # 280 # IGCM_debug_PopStack "IGCM_date_DaysInYear" 281 281 return 282 282 fi … … 292 292 fi 293 293 294 # 294 # IGCM_debug_PopStack "IGCM_date_DaysInYear" 295 295 return 296 296 fi -
trunk/libIGCM/libIGCM_post/libIGCM_post.ksh
r782 r786 70 70 if [ ${post_freq} = SeasonalFrequency ] ; then 71 71 if ( [ X${config_Post_SeasonalFrequencyOffset} = X${NULL_STR} ] || [ X${config_Post_SeasonalFrequencyOffset} = XNONE ] || [ X${config_Post_SeasonalFrequencyOffset} = X ] ) ; then 72 72 PeriodOffset=0 73 73 else 74 74 PeriodOffset=${config_Post_SeasonalFrequencyOffset} 75 75 fi 76 76 else … … 144 144 # 145 145 if [ X$( eval echo \${TimeSeries${Dimension}} ) = Xtrue ] ; then 146 147 148 146 # 147 IGCM_debug_Print 1 "TIME SERIES POST-PROCESSING ${Dimension} ACTIVATED" 148 echo 149 149 # 150 151 152 153 154 155 156 157 158 159 150 if [ X${Dimension} = X ] ; then 151 TsTask="empty" 152 Script_Post_Output=create_ts.${PeriodDateEnd} 153 else 154 TsTask=${Dimension} 155 Script_Post_Output=create_ts.${PeriodDateEnd}.${TsTask} 156 fi 157 # 158 if [ ${RebuildFrequency} = true ] ; then 159 # 160 160 if [ ${PackFrequency} = true ] ; then 161 161 FunctionPath=${R_BUFR}/FlushPost_${PeriodDateEnd}.ksh … … 164 164 fi 165 165 # 166 167 # 168 # 169 # 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 # 194 # 195 # 196 # 197 198 199 200 # 201 # 202 # 203 204 205 166 if [ -f ${FunctionPath} ] ; then 167 # if [ X${MASTER} = Xtitane ] ; then 168 # echo "IGCM_sys_RshPost <<-EOF" >> ${FunctionPath} 169 # fi 170 echo "export DEBUG_debug=${DEBUG_debug} " >> ${FunctionPath} 171 echo "export MODIPSL=${MODIPSL} " >> ${FunctionPath} 172 echo "export libIGCM_SX=${libIGCM} " >> ${FunctionPath} 173 echo "export libIGCM=${libIGCM_POST} " >> ${FunctionPath} 174 echo "export SUBMIT_DIR=${SUBMIT_DIR} " >> ${FunctionPath} 175 echo "export POST_DIR=${POST_DIR} " >> ${FunctionPath} 176 echo "export MASTER=${MASTER} " >> ${FunctionPath} 177 echo "export RebuildFrequency=${RebuildFrequency} " >> ${FunctionPath} 178 echo "export DateBegin=${DateBegin} " >> ${FunctionPath} 179 echo "export PeriodDateEnd=${PeriodDateEnd} " >> ${FunctionPath} 180 echo "export StandAlone=false " >> ${FunctionPath} 181 echo "export CompletedFlag=${CompletedFlag} " >> ${FunctionPath} 182 echo "export TsTask=${TsTask} " >> ${FunctionPath} 183 echo "unset CompToRead " >> ${FunctionPath} 184 echo "unset FlagToRead " >> ${FunctionPath} 185 echo "export RESOL_ATM=${RESOL_ATM} " >> ${FunctionPath} 186 echo "export RESOL_OCE=${RESOL_OCE} " >> ${FunctionPath} 187 echo "export RESOL_ICE=${RESOL_ICE} " >> ${FunctionPath} 188 echo "export RESOL_MBG=${RESOL_MBG} " >> ${FunctionPath} 189 echo "export RESOL_SRF=${RESOL_SRF} " >> ${FunctionPath} 190 echo "export RESOL_SBG=${RESOL_SBG} " >> ${FunctionPath} 191 echo "export listVarEnv=${listVarEnv} " >> ${FunctionPath} 192 echo "export Script_Post_Output=${Script_Post_Output}" >> ${FunctionPath} 193 # if [ X${MASTER} = Xtitane ] ; then 194 # echo ". ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh" >> ${FunctionPath} 195 # echo ". ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh" >> ${FunctionPath} 196 # fi 197 echo "IGCM_sys_MkdirWork ${POST_DIR} " >> ${FunctionPath} 198 echo "IGCM_debug_Verif_Exit_Post " >> ${FunctionPath} 199 echo "IGCM_sys_QsubPost create_ts " >> ${FunctionPath} 200 # if [ X${MASTER} = Xtitane ] ; then 201 # echo "EOF" >> ${FunctionPath} 202 # fi 203 fi 204 else 205 IGCM_sys_RshPost <<-EOF 206 206 export DEBUG_debug=${DEBUG_debug} 207 207 export MODIPSL=${MODIPSL} … … 218 218 export TsTask=${TsTask} 219 219 unset CompToRead 220 220 unset FlagToRead 221 221 export RESOL_ATM=${RESOL_ATM} 222 222 export RESOL_OCE=${RESOL_OCE} … … 233 233 IGCM_sys_QsubPost create_ts 234 234 EOF 235 235 fi 236 236 fi 237 237 # 238 238 if [ X$( eval echo \${TimeSeriesChunck${Dimension}} ) = Xtrue ] ; then 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 239 # 240 IGCM_debug_Print 1 "TIME SERIES POST-PROCESSING ${Dimension} WITH CHUNCK ACTIVATED" 241 echo 242 # Need to Remember This One 243 SavedDateBegin=${DateBegin} 244 # Kind of task create_ts will perform 245 TsTask=Chunck${Dimension} 246 # Number of chunck jobs to configure and submit 247 eval NbJob=\${#CHUNCK${Dimension}_COMP[@]} 248 typeset i 249 i=0 250 until [ $i -ge $NbJob ]; do 251 CompToRead=$( eval echo \${CHUNCK${Dimension}_COMP[\${i}]} ) 252 FlagToRead=$( eval echo \${CHUNCK${Dimension}_FLAG[\${i}]} ) 253 NameToRead=$( eval echo \${CHUNCK${Dimension}_NAME[\${i}]} ) 254 ChunckSize=$( eval echo \${CHUNCK${Dimension}_SIZE[\${i}]} ) 255 # Chunck Length (mandatory in Year) 256 YearsChunckLength=$( echo ${ChunckSize} | sed -e "s/[yY]//" ) 257 # 258 IGCM_date_GetYearMonth ${DateBegin} YearBegin MonthBegin 259 # 260 IGCM_date_GetYearMonth ${PeriodDateEnd} YearEnd MonthEnd 261 # How many chunck in total since simulation began 262 NbYearsChunckLoop=$(( ( ${YearEnd} - ${YearBegin} + 1 ) / ${YearsChunckLength} )) 263 # Tweak special case 264 [ $(( ( ${YearEnd} - ${YearBegin} + 1 ) % ${YearsChunckLength} )) = 0 ] && NbYearsChunckLoop=$(( ${NbYearsChunckLoop} - 1 )) 265 # Starting Year of the current chunck 266 ChunckTsYearBegin=$(( ${NbYearsChunckLoop} * ${YearsChunckLength} + ${YearBegin} )) 267 # Starting date of the current chunck 268 ChunckTsDateBegin=${ChunckTsYearBegin}${MonthBegin}01 269 # 270 Script_Post_Output=create_ts.${PeriodDateEnd}.${TsTask}.${CompToRead}.${NameToRead} 271 # 272 if [ ${RebuildFrequency} = true ] ; then 273 # 274 274 if [ ${PackFrequency} = true ] ; then 275 275 FunctionPath=${R_BUFR}/FlushPost_${PeriodDateEnd}.ksh … … 278 278 fi 279 279 # 280 281 # 282 # 283 # 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 # 308 # 309 # 310 # 311 312 313 314 # 315 # 316 # 317 318 319 280 if [ -f ${FunctionPath} ] ; then 281 # if [ X${MASTER} = Xtitane ] ; then 282 # echo "IGCM_sys_RshPost <<-EOF" >> ${FunctionPath} 283 # fi 284 echo "export DEBUG_debug=${DEBUG_debug} " >> ${FunctionPath} 285 echo "export MODIPSL=${MODIPSL} " >> ${FunctionPath} 286 echo "export libIGCM_SX=${libIGCM} " >> ${FunctionPath} 287 echo "export libIGCM=${libIGCM_POST} " >> ${FunctionPath} 288 echo "export SUBMIT_DIR=${SUBMIT_DIR} " >> ${FunctionPath} 289 echo "export POST_DIR=${POST_DIR} " >> ${FunctionPath} 290 echo "export MASTER=${MASTER} " >> ${FunctionPath} 291 echo "export RebuildFrequency=${RebuildFrequency} " >> ${FunctionPath} 292 echo "export DateBegin=${ChunckTsDateBegin} " >> ${FunctionPath} 293 echo "export PeriodDateEnd=${PeriodDateEnd} " >> ${FunctionPath} 294 echo "export StandAlone=false " >> ${FunctionPath} 295 echo "export CompletedFlag=${CompletedFlag} " >> ${FunctionPath} 296 echo "export TsTask=${TsTask} " >> ${FunctionPath} 297 echo "export CompToRead=${CompToRead} " >> ${FunctionPath} 298 echo "export FlagToRead=${FlagToRead} " >> ${FunctionPath} 299 echo "export RESOL_ATM=${RESOL_ATM} " >> ${FunctionPath} 300 echo "export RESOL_OCE=${RESOL_OCE} " >> ${FunctionPath} 301 echo "export RESOL_ICE=${RESOL_ICE} " >> ${FunctionPath} 302 echo "export RESOL_MBG=${RESOL_MBG} " >> ${FunctionPath} 303 echo "export RESOL_SRF=${RESOL_SRF} " >> ${FunctionPath} 304 echo "export RESOL_SBG=${RESOL_SBG} " >> ${FunctionPath} 305 echo "export listVarEnv=${listVarEnv} " >> ${FunctionPath} 306 echo "export Script_Post_Output=${Script_Post_Output}" >> ${FunctionPath} 307 # if [ X${MASTER} = Xtitane ] ; then 308 # echo ". ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh" >> ${FunctionPath} 309 # echo ". ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh" >> ${FunctionPath} 310 # fi 311 echo "IGCM_sys_MkdirWork ${POST_DIR} " >> ${FunctionPath} 312 echo "IGCM_debug_Verif_Exit_Post " >> ${FunctionPath} 313 echo "IGCM_sys_QsubPost create_ts " >> ${FunctionPath} 314 # if [ X${MASTER} = Xtitane ] ; then 315 # echo "EOF" >> ${FunctionPath} 316 # fi 317 fi 318 else 319 IGCM_sys_RshPost <<-EOF 320 320 export DEBUG_debug=${DEBUG_debug} 321 321 export MODIPSL=${MODIPSL} … … 347 347 IGCM_sys_QsubPost create_ts 348 348 EOF 349 350 351 352 353 354 355 356 349 # 350 fi 351 # 352 export DateBegin=${SavedDateBegin} 353 # 354 (( i=i+1 )) 355 # 356 done 357 357 fi 358 358 (( j=j+1 )) … … 379 379 # 380 380 if [ -f ${FunctionPath} ] ; then 381 382 # 383 # 384 # 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 # 405 # 406 # 407 # 408 409 410 411 # 412 # 413 # 381 # 382 # if [ X${MASTER} = Xtitane ] ; then 383 # echo "IGCM_sys_RshPost <<-EOF" >> ${FunctionPath} 384 # fi 385 echo "export DEBUG_debug=${DEBUG_debug} " >> ${FunctionPath} 386 echo "export MODIPSL=${MODIPSL} " >> ${FunctionPath} 387 echo "export libIGCM_SX=${libIGCM} " >> ${FunctionPath} 388 echo "export libIGCM=${libIGCM_POST} " >> ${FunctionPath} 389 echo "export SUBMIT_DIR=${SUBMIT_DIR} " >> ${FunctionPath} 390 echo "export POST_DIR=${POST_DIR} " >> ${FunctionPath} 391 echo "export MASTER=${MASTER} " >> ${FunctionPath} 392 echo "export RebuildFrequency=${RebuildFrequency} " >> ${FunctionPath} 393 echo "export DateBegin=${DateBegin} " >> ${FunctionPath} 394 echo "export PeriodDateEnd=${PeriodDateEnd} " >> ${FunctionPath} 395 echo "export StandAlone=false " >> ${FunctionPath} 396 echo "export RESOL_ATM=${RESOL_ATM} " >> ${FunctionPath} 397 echo "export RESOL_OCE=${RESOL_OCE} " >> ${FunctionPath} 398 echo "export RESOL_ICE=${RESOL_ICE} " >> ${FunctionPath} 399 echo "export RESOL_MBG=${RESOL_MBG} " >> ${FunctionPath} 400 echo "export RESOL_SRF=${RESOL_SRF} " >> ${FunctionPath} 401 echo "export RESOL_SBG=${RESOL_SBG} " >> ${FunctionPath} 402 echo "export listVarEnv=${listVarEnv} " >> ${FunctionPath} 403 echo "export Script_Post_Output=${Script_Post_Output}" >> ${FunctionPath} 404 # if [ X${MASTER} = Xtitane ] ; then 405 # echo ". ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh" >> ${FunctionPath} 406 # echo ". ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh" >> ${FunctionPath} 407 # fi 408 echo "IGCM_sys_MkdirWork ${POST_DIR} " >> ${FunctionPath} 409 echo "IGCM_debug_Verif_Exit_Post " >> ${FunctionPath} 410 echo "IGCM_sys_QsubPost create_se " >> ${FunctionPath} 411 # if [ X${MASTER} = Xtitane ] ; then 412 # echo "EOF" >> ${FunctionPath} 413 # fi 414 414 fi 415 415 else … … 417 417 export DEBUG_debug=${DEBUG_debug} 418 418 export MODIPSL=${MODIPSL} 419 419 export libIGCM_SX=${libIGCM} 420 420 export libIGCM=${libIGCM_POST} 421 421 export SUBMIT_DIR=${SUBMIT_DIR} … … 493 493 Script_Post_Output=${script}.${PeriodDateEnd} 494 494 # 495 IGCM_sys_RshPost <<-EOF496 export DEBUG_debug=${DEBUG_debug}497 export MODIPSL=${MODIPSL}498 export libIGCM_SX=${libIGCM}499 export libIGCM=${libIGCM_POST}500 export SUBMIT_DIR=${SUBMIT_DIR}501 export POST_DIR=${POST_DIR}502 export MASTER=${MASTER}503 export DateBegin=${PackDateBegin}504 export DateEnd=${PeriodDateEnd}505 export PeriodPack=${config_Post_PackFrequency}506 export StandAlone=false507 export listVarEnv=${listVarEnv}508 export Script_Post_Output=${Script_Post_Output}509 . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh510 . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh511 IGCM_sys_MkdirWork ${POST_DIR}512 IGCM_debug_Verif_Exit_Post513 IGCM_sys_QsubPost ${script}495 IGCM_sys_RshPost <<-EOF 496 export DEBUG_debug=${DEBUG_debug} 497 export MODIPSL=${MODIPSL} 498 export libIGCM_SX=${libIGCM} 499 export libIGCM=${libIGCM_POST} 500 export SUBMIT_DIR=${SUBMIT_DIR} 501 export POST_DIR=${POST_DIR} 502 export MASTER=${MASTER} 503 export DateBegin=${PackDateBegin} 504 export DateEnd=${PeriodDateEnd} 505 export PeriodPack=${config_Post_PackFrequency} 506 export StandAlone=false 507 export listVarEnv=${listVarEnv} 508 export Script_Post_Output=${Script_Post_Output} 509 . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh 510 . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh 511 IGCM_sys_MkdirWork ${POST_DIR} 512 IGCM_debug_Verif_Exit_Post 513 IGCM_sys_QsubPost ${script} 514 514 EOF 515 515 # … … 521 521 # 522 522 if [ -f ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh ] ; then 523 524 # 525 # 526 # 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 # 542 # 543 # 544 # 545 546 547 548 # 549 # 550 # 523 # 524 # if [ X${MASTER} = Xtitane ] ; then 525 # echo "IGCM_sys_RshPost <<-EOF" >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 526 # fi 527 echo "export DEBUG_debug=${DEBUG_debug} " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 528 echo "export MODIPSL=${MODIPSL} " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 529 echo "export libIGCM_SX=${libIGCM} " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 530 echo "export libIGCM=${libIGCM_POST} " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 531 echo "export SUBMIT_DIR=${SUBMIT_DIR} " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 532 echo "export POST_DIR=${POST_DIR} " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 533 echo "export MASTER=${MASTER} " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 534 echo "export DateBegin=${PackDateBegin} " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 535 echo "export DateEnd=${PeriodDateEnd} " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 536 echo "export PeriodPack=${config_Post_PackFrequency} " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 537 echo "export StandAlone=false " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 538 echo "export listVarEnv=${listVarEnv} " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 539 echo "export Script_Post_Output=${Script_Post_Output}" >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 540 echo "export script=${script} " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 541 # if [ X${MASTER} = Xtitane ] ; then 542 # echo ". ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh" >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 543 # echo ". ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh" >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 544 # fi 545 echo "IGCM_sys_MkdirWork ${POST_DIR} " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 546 echo "IGCM_debug_Verif_Exit_Post " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 547 echo "IGCM_sys_QsubPost ${script} " >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 548 # if [ X${MASTER} = Xtitane ] ; then 549 # echo "EOF" >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 550 # fi 551 551 fi 552 552 else 553 553 IGCM_sys_RshPost <<-EOF 554 export DEBUG_debug=${DEBUG_debug}555 export MODIPSL=${MODIPSL}556 export libIGCM_SX=${libIGCM}557 export libIGCM=${libIGCM_POST}558 export SUBMIT_DIR=${SUBMIT_DIR}559 export POST_DIR=${POST_DIR}560 export MASTER=${MASTER}561 export DateBegin=${PackDateBegin}562 export DateEnd=${PeriodDateEnd}563 export PeriodPack=${config_Post_PackFrequency}564 export StandAlone=false565 export listVarEnv=${listVarEnv}566 export Script_Post_Output=${Script_Post_Output}567 . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh568 . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh569 IGCM_sys_MkdirWork ${POST_DIR}570 IGCM_debug_Verif_Exit_Post571 IGCM_sys_QsubPost ${script}554 export DEBUG_debug=${DEBUG_debug} 555 export MODIPSL=${MODIPSL} 556 export libIGCM_SX=${libIGCM} 557 export libIGCM=${libIGCM_POST} 558 export SUBMIT_DIR=${SUBMIT_DIR} 559 export POST_DIR=${POST_DIR} 560 export MASTER=${MASTER} 561 export DateBegin=${PackDateBegin} 562 export DateEnd=${PeriodDateEnd} 563 export PeriodPack=${config_Post_PackFrequency} 564 export StandAlone=false 565 export listVarEnv=${listVarEnv} 566 export Script_Post_Output=${Script_Post_Output} 567 . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh 568 . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh 569 IGCM_sys_MkdirWork ${POST_DIR} 570 IGCM_debug_Verif_Exit_Post 571 IGCM_sys_QsubPost ${script} 572 572 EOF 573 export DateBegin=${SavedDateBegin}574 export DateEnd=${SavedDateEnd}573 export DateBegin=${SavedDateBegin} 574 export DateEnd=${SavedDateEnd} 575 575 fi 576 576 fi … … 609 609 listVarEnv="DEBUG_debug,MODIPSL,libIGCM,libIGCM_SX,SUBMIT_DIR,REBUILD_DIR,POST_DIR,MASTER,RebuildFromArchive,DateBegin,PeriodDateBegin,PeriodDateEnd,NbRebuildDir,StandAlone,RESOL_ATM,RESOL_OCE,RESOL_ICE,RESOL_MBG,RESOL_SRF,RESOL_SBG" 610 610 IGCM_sys_RshPost <<-EOF 611 export DEBUG_debug=${DEBUG_debug}612 export MODIPSL=${MODIPSL}613 export libIGCM_SX=${libIGCM}614 export libIGCM=${libIGCM_POST}615 export SUBMIT_DIR=${SUBMIT_DIR}616 export REBUILD_DIR=${REBUILD_DIR}617 export POST_DIR=${POST_DIR}618 export MASTER=${MASTER}619 export RebuildFromArchive=${config_Post_RebuildFromArchive}620 export DateBegin=${DateBegin}621 export PeriodDateBegin=${PeriodDateBegin}622 export PeriodDateEnd=${PeriodDateEnd}623 export NbRebuildDir=${NbRebuildDir}624 export StandAlone=false625 export RESOL_ATM=${RESOL_ATM}626 export RESOL_OCE=${RESOL_OCE}627 export RESOL_ICE=${RESOL_ICE}628 export RESOL_MBG=${RESOL_MBG}629 export RESOL_SRF=${RESOL_SRF}630 export RESOL_SBG=${RESOL_SBG}631 export listVarEnv=${listVarEnv}632 export Script_Post_Output=${Script_Post_Output}633 . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh634 . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh635 IGCM_sys_MkdirWork ${POST_DIR}636 IGCM_debug_Verif_Exit_Post637 IGCM_sys_QsubPost ${script}611 export DEBUG_debug=${DEBUG_debug} 612 export MODIPSL=${MODIPSL} 613 export libIGCM_SX=${libIGCM} 614 export libIGCM=${libIGCM_POST} 615 export SUBMIT_DIR=${SUBMIT_DIR} 616 export REBUILD_DIR=${REBUILD_DIR} 617 export POST_DIR=${POST_DIR} 618 export MASTER=${MASTER} 619 export RebuildFromArchive=${config_Post_RebuildFromArchive} 620 export DateBegin=${DateBegin} 621 export PeriodDateBegin=${PeriodDateBegin} 622 export PeriodDateEnd=${PeriodDateEnd} 623 export NbRebuildDir=${NbRebuildDir} 624 export StandAlone=false 625 export RESOL_ATM=${RESOL_ATM} 626 export RESOL_OCE=${RESOL_OCE} 627 export RESOL_ICE=${RESOL_ICE} 628 export RESOL_MBG=${RESOL_MBG} 629 export RESOL_SRF=${RESOL_SRF} 630 export RESOL_SBG=${RESOL_SBG} 631 export listVarEnv=${listVarEnv} 632 export Script_Post_Output=${Script_Post_Output} 633 . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh 634 . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh 635 IGCM_sys_MkdirWork ${POST_DIR} 636 IGCM_debug_Verif_Exit_Post 637 IGCM_sys_QsubPost ${script} 638 638 EOF 639 639 fi … … 671 671 PeriodSlaveYear=$( echo ${SlaveFrequency} | sed -e "s/[yY]//" ) 672 672 if ( [ ${PeriodSlaveYear} -gt ${PeriodMasterYear} ] || \ 673 674 675 676 673 [ $(( ${PeriodMasterYear} % ${PeriodSlaveYear} )) -ne 0 ] ); then 674 IGCM_debug_Print 1 "${SlaveName} frequency ${SlaveFrequency} not compatbile with" 675 IGCM_debug_Print 1 "${MasterName} frequency : ${MasterFrequency}" 676 IGCM_debug_Exit "Check your frequency" 677 677 else 678 678 [ X${3} = XNbPeriodPerFrequency ] && NbPeriodPerFrequency=$(( ${PeriodMasterYear} / ${PeriodSlaveYear} )) … … 681 681 PeriodSlaveMonth=$( echo ${SlaveFrequency} | sed -e "s/[mM]//" ) 682 682 if ( [ ${PeriodSlaveMonth} -gt $(( ${PeriodMasterYear} * 12 )) ] || \ 683 684 685 686 683 [ $(( ( ${PeriodMasterYear} * 12 ) % ${PeriodSlaveMonth} )) -ne 0 ] ) ; then 684 IGCM_debug_Print 1 "${SlaveName} frequency ${SlaveFrequency} not compatbile with" 685 IGCM_debug_Print 1 "${MasterName} frequency : ${MasterFrequency}" 686 IGCM_debug_Exit "Check your frequency" 687 687 else 688 688 [ X${3} = XNbPeriodPerFrequency ] && NbPeriodPerFrequency=$(( ( 12 * ${PeriodMasterYear} ) / ${PeriodSlaveMonth} )) … … 692 692 NbDays=$( IGCM_date_DaysInYear ${year} ) 693 693 if [ ${config_UserChoices_CalendarType} = 360d ] || [ ${config_UserChoices_CalendarType} = noleap ] ; then 694 695 696 697 698 699 694 if ( [ ${PeriodSlaveDay} -gt $(( ${PeriodMasterYear} * ${NbDays} )) ] || \ 695 [ $(( ( ${PeriodMasterYear} * ${NbDays} ) % ${PeriodSlaveDay} )) -ne 0 ] ; ) then 696 IGCM_debug_Print 1 "${SlaveName} frequency ${SlaveFrequency} not compatbile with" 697 IGCM_debug_Print 1 "${MasterName} frequency : ${MasterFrequency}" 698 IGCM_debug_Exit "Check your frequency" 699 fi 700 700 else 701 702 703 704 701 IGCM_debug_Print 1 "For ${MasterName} with leap calendar:" 702 IGCM_debug_Print 1 "We have a daily ${SlaveName} frequency and ${MasterName}=${MasterFrequency}" 703 IGCM_debug_Print 1 "No post-treatment. Case not properly handle at this moment by libIGCM. Sorry" 704 IGCM_debug_Exit "Check your frequency ${MasterName} and choose a daily frequency for this one too." 705 705 fi ;; 706 706 esac ;; … … 711 711 PeriodSlaveYear=$( echo ${SlaveFrequency} | sed -e "s/[yY]//" ) 712 712 if ( [ ${PeriodMasterMonth} -gt $(( ${PeriodSlaveYear} * 12 )) ] || \ 713 714 715 716 713 [ $(( ${PeriodMasterMonth} % ( ${PeriodSlaveYear} * 12 ) )) -ne 0 ] ) ; then 714 IGCM_debug_Print 1 "${SlaveName} frequency ${SlaveFrequency} not compatbile with" 715 IGCM_debug_Print 1 "${MasterName} frequency : ${MasterFrequency}" 716 IGCM_debug_Exit "Check your frequency" 717 717 else 718 718 [ X${3} = XNbPeriodPerFrequency ] && NbPeriodPerFrequency=$(( ${PeriodMasterMonth} / ( 12 * ${PeriodSlaveYear} ) )) … … 721 721 PeriodSlaveMonth=$( echo ${SlaveFrequency} | sed -e "s/[mM]//" ) 722 722 if ( [ ${PeriodSlaveMonth} -gt ${PeriodMasterMonth} ] || \ 723 [ $(( ${PeriodMasterMonth} % ${PeriodSlaveMonth} )) -ne 0 ] ) ; then 724 725 726 723 [ $(( ${PeriodMasterMonth} % ${PeriodSlaveMonth} )) -ne 0 ] ) ; then 724 IGCM_debug_Print 1 "${SlaveName} frequency ${SlaveFrequency} not compatbile with" 725 IGCM_debug_Print 1 "${MasterName} frequency : ${MasterFrequency}" 726 IGCM_debug_Exit "Check your frequency" 727 727 else 728 728 [ X${3} = XNbPeriodPerFrequency ] && NbPeriodPerFrequency=$(( ${PeriodMasterMonth} / ${PeriodSlaveMonth} )) … … 750 750 IGCM_debug_Print 1 "${SlaveName} frequency ${SlaveFrequency} not compatbile with" 751 751 IGCM_debug_Print 1 "${MasterName} frequency : ${MasterFrequency}" 752 752 IGCM_debug_Exit "Check your frequency" 753 753 else 754 754 [ X${3} = XNbPeriodPerFrequency ] && NbPeriodPerFrequency=$(( ${PeriodMasterDay} / ${PeriodSlaveDay} )) … … 797 797 PeriodSlaveYear=$( echo ${SlaveFrequency} | sed -e "s/[yY]//" ) 798 798 if [ $(( ( ${CumulPeriod} * ${PeriodSlaveYear} - ${PeriodOffset} ) % ${PeriodMasterYear} )) -eq 0 ] ; then 799 800 801 802 799 if [ $(( ${CumulPeriod} * ${PeriodSlaveYear} - ${PeriodOffset} )) -ne 0 ] ; then 800 eval ${post_freq}=true ; POST=true 801 [ X${3} = XNbPeriodPerFrequency ] && NbPeriodPerFrequency=$(( ${PeriodMasterYear} / ${PeriodSlaveYear} )) 802 fi 803 803 fi;; 804 804 *M|*m) 805 805 PeriodSlaveMonth=$( echo ${SlaveFrequency} | sed -e "s/[mM]//" ) 806 806 if [ $(( ( ${CumulPeriod} * ${PeriodSlaveMonth} - ${PeriodOffset} * 12 ) % ( ${PeriodMasterYear} * 12 ) )) -eq 0 ] ; then 807 808 809 810 807 if [ $(( ${CumulPeriod} * ${PeriodSlaveMonth} - ${PeriodOffset} * 12 )) -ne 0 ] ; then 808 eval ${post_freq}=true ; POST=true 809 [ X${3} = XNbPeriodPerFrequency ] && NbPeriodPerFrequency=$(( ( 12 * ${PeriodMasterYear} ) / ${PeriodSlaveMonth} )) 810 fi 811 811 fi;; 812 812 *D|*d) … … 814 814 NbDays=$( IGCM_date_DaysInYear ${year} ) 815 815 if [ $(( ( ${CumulPeriod} - ( ${PeriodOffset} * ${NbDays} / ${PeriodSlaveDay} ) ) % ( ${NbDays} * ${PeriodMasterYear} / ${PeriodSlaveDay} ) )) -eq 0 ] ; then 816 817 818 819 816 if [ $(( ${CumulPeriod} - ( ${PeriodOffset} * ${NbDays} / ${PeriodSlaveDay} ) )) -ne 0 ] ; then 817 eval ${post_freq}=true ; POST=true 818 [ X${3} = XNbPeriodPerFrequency ] && NbPeriodPerFrequency=$(( ( ${NbDays} * ${PeriodMasterYear} ) / ${PeriodSlaveDay} )) 819 fi 820 820 fi;; 821 821 esac ;; … … 826 826 PeriodSlaveYear=$( echo ${SlaveFrequency} | sed -e "s/[yY]//" ) 827 827 if [ $(( ( ${CumulPeriod} * ${PeriodSlaveYear} * 12 - ${PeriodOffset} ) % ( ${PeriodMasterMonth} ) )) -eq 0 ] ; then 828 829 830 831 828 if [ $(( ${CumulPeriod} * ${PeriodSlaveYear} * 12 - ${PeriodOffset} )) -ne 0 ] ; then 829 eval ${post_freq}=true ; POST=true 830 [ X${3} = XNbPeriodPerFrequency ] && NbPeriodPerFrequency=$(( ${PeriodMasterMonth} / ( 12 * ${PeriodSlaveYear} ) )) 831 fi 832 832 fi;; 833 833 *M|*m) 834 834 PeriodSlaveMonth=$( echo ${SlaveFrequency} | sed -e "s/[mM]//" ) 835 835 if [ $(( ( ${CumulPeriod} * ${PeriodSlaveMonth} - ${PeriodOffset} ) % ${PeriodMasterMonth} )) -eq 0 ] ; then 836 837 838 839 836 if [ $(( ${CumulPeriod} * ${PeriodSlaveMonth} - ${PeriodOffset} )) -ne 0 ] ; then 837 eval ${post_freq}=true ; POST=true 838 [ X${3} = XNbPeriodPerFrequency ] && NbPeriodPerFrequency=$(( ${PeriodMasterMonth} / ${PeriodSlaveMonth} )) 839 fi 840 840 fi;; 841 841 *D|*d) … … 856 856 if [ $(( ( ${CumulPeriod} * ${PeriodSlaveDay} - ${PeriodOffset} ) % ${PeriodMasterDay} )) -eq 0 ] ; then 857 857 if [ $(( ${CumulPeriod} * ${PeriodSlaveDay} - ${PeriodOffset} )) -ne 0 ] ; then 858 859 860 858 eval ${post_freq}=true ; POST=true 859 [ X${3} = XNbPeriodPerFrequency ] && NbPeriodPerFrequency=$(( ${PeriodMasterDay} / ${PeriodSlaveDay} )) 860 fi 861 861 fi;; 862 862 esac ;; -
trunk/libIGCM/libIGCM_sys/libIGCM_sys_iitm.ksh
r785 r786 247 247 IGCM_debug_PushStack "IGCM_sys_Mkdir" $@ 248 248 if ( $DEBUG_sys ) ; then 249 249 echo "IGCM_sys_Mkdir :" $@ 250 250 fi 251 251 if [ ! -d ${1} ]; then 252 253 254 255 256 252 \mkdir -p $1 253 if [ $? -gt 0 ] ; then 254 echo "IGCM_sys_Mkdir : erreur." 255 IGCM_debug_Exit "IGCM_sys_Mkdir" 256 fi 257 257 fi 258 258 # vérification : 259 259 if [ ! -d ${1} ] ; then 260 261 260 echo "IGCM_sys_Mkdir : erreur." 261 IGCM_debug_Exit "IGCM_sys_Mkdir" 262 262 fi 263 263 IGCM_debug_PopStack "IGCM_sys_Mkdir" … … 272 272 IGCM_debug_PushStack "IGCM_sys_MkdirArchive" $@ 273 273 if ( $DEBUG_sys ) ; then 274 274 echo "IGCM_sys_MkdirArchive :" $@ 275 275 fi 276 276 #- creation de repertoire sur le serveur fichier … … 278 278 279 279 if [ $? -gt 0 ] ; then 280 281 280 echo "IGCM_sys_MkdirArchive : erreur." 281 IGCM_debug_Exit "IGCM_sys_MkdirArchive" 282 282 fi 283 283 IGCM_debug_PopStack "IGCM_sys_MkdirArchive" … … 292 292 IGCM_debug_PushStack "IGCM_sys_MkdirWork" $@ 293 293 if ( $DEBUG_sys ) ; then 294 294 echo "IGCM_sys_MkdirWork :" $@ 295 295 fi 296 296 #- creation de repertoire sur le serveur fichier 297 297 if [ ! -d ${1} ]; then 298 299 300 301 302 298 \mkdir -p $1 299 if [ $? -gt 0 ] ; then 300 echo "IGCM_sys_MkdirWork : erreur." 301 IGCM_debug_Exit "IGCM_sys_MkdirWork" 302 fi 303 303 fi 304 304 IGCM_debug_PopStack "IGCM_sys_MkdirWork" … … 313 313 IGCM_debug_PushStack "IGCM_sys_Cd" $@ 314 314 if ( $DEBUG_sys ) ; then 315 315 echo "IGCM_sys_Cd :" $@ 316 316 fi 317 317 \cd $1 318 318 if [ $? -gt 0 ] ; then 319 320 319 echo "IGCM_sys_Cd : erreur." 320 IGCM_debug_Exit "IGCM_sys_Cd" 321 321 fi 322 322 IGCM_debug_PopStack "IGCM_sys_Cd" … … 331 331 IGCM_debug_PushStack "IGCM_sys_Chmod" -- $@ 332 332 if ( $DEBUG_sys ) ; then 333 333 echo "IGCM_sys_Chmod :" $@ 334 334 fi 335 335 if [ $DRYRUN -le 1 ]; then 336 337 338 339 340 336 \chmod $@ 337 if [ $? -gt 0 ] ; then 338 echo "IGCM_sys_Chmod : erreur." 339 IGCM_debug_Exit "IGCM_sys_Chmod" 340 fi 341 341 else 342 342 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 343 343 fi 344 344 IGCM_debug_PopStack "IGCM_sys_Chmod" … … 356 356 set +A sizeF -- $( ls -la ${1} ) 357 357 if [ $? -gt 0 ] ; then 358 358 IGCM_debug_Exit "IGCM_sys_FileSize" 359 359 fi 360 360 eval ${2}=${sizeF[4]} … … 371 371 IGCM_debug_PushStack "IGCM_sys_TestDir" $@ 372 372 if ( $DEBUG_sys ) ; then 373 373 echo "IGCM_sys_TestDir :" $@ 374 374 fi 375 375 typeset ExistFlag … … 388 388 IGCM_debug_PushStack "IGCM_sys_TestDirArchive" $@ 389 389 if ( $DEBUG_sys ) ; then 390 390 echo "IGCM_sys_TestDirArchive :" $@ 391 391 fi 392 392 typeset ExistFlag … … 420 420 IGCM_sys_RshArchive "ls ${@} 2>/dev/null | wc -l" 421 421 if [ $? -gt 0 ] ; then 422 422 echo "IGCM_sys_CountFileArchive : erreur." 423 423 fi 424 424 IGCM_debug_PopStack "IGCM_sys_CountFileArchive" … … 433 433 IGCM_debug_PushStack "IGCM_sys_Tree" $@ 434 434 if ( $DEBUG_sys ) ; then 435 435 echo "IGCM_sys_Tree :" $@ 436 436 fi 437 437 … … 449 449 IGCM_debug_PushStack "IGCM_sys_Tar" $@ 450 450 if ( $DEBUG_sys ) ; then 451 451 echo "IGCM_sys_Tar :" $@ 452 452 fi 453 453 \tar cvf $@ 454 454 if [ $? -gt 0 ] ; then 455 456 455 echo "IGCM_sys_Tar : erreur." 456 IGCM_debug_Exit "IGCM_sys_Tar" 457 457 fi 458 458 \tar tvf $1 … … 469 469 IGCM_debug_PushStack "IGCM_sys_UnTar" $@ 470 470 if ( $DEBUG_sys ) ; then 471 471 echo "IGCM_sys_UnTar :" $@ 472 472 fi 473 473 \tar xvf $1 474 474 if [ $? -gt 0 ] ; then 475 476 475 echo "IGCM_sys_UnTar : erreur." 476 IGCM_debug_Exit "IGCM_sys_UnTar" 477 477 fi 478 478 IGCM_debug_PopStack "IGCM_sys_UnTar" … … 487 487 IGCM_debug_PushStack "IGCM_sys_Qsub" $@ 488 488 if ( $DEBUG_sys ) ; then 489 489 echo "IGCM_sys_Qsub :" $@ 490 490 fi 491 491 { … … 494 494 } 495 495 if [ ${ERROR} -gt 0 ] ; then 496 497 496 echo "IGCM_sys_Qsub : erreur $@." 497 IGCM_debug_Exit "IGCM_sys_Qsub" 498 498 fi 499 499 IGCM_debug_PopStack "IGCM_sys_Qsub" … … 508 508 IGCM_debug_PushStack "IGCM_sys_QsubPost" $@ 509 509 if ( $DEBUG_sys ) ; then 510 510 echo "IGCM_sys_QsubPost :" $@ 511 511 fi 512 512 cd ${POST_DIR} … … 514 514 cd - 515 515 if [ $? -gt 0 ] ; then 516 517 516 echo "IGCM_sys_QsubPost : erreur " $@ 517 IGCM_debug_Exit "IGCM_sys_QsubPost" 518 518 fi 519 519 IGCM_debug_PopStack "IGCM_sys_QsubPost" … … 533 533 RET=$1 534 534 if [ ! $RET ] ; then 535 535 echo "rsync error !" 536 536 fi 537 537 538 538 if [ $MYLANG = "fr" ]; then 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 539 case $RET in 540 0) return ;; 541 1) echo "Erreur de rsync ; RERR_SYNTAX : " 542 echo "Erreur de syntaxe ou d'utilisation." 543 return;; 544 2) echo "Erreur de rsync ; RERR_PROTOCOL : " 545 echo "Incompatibilité de protocole." 546 return;; 547 3) echo "Erreur de rsync ; RERR_FILESELECT 3" 548 echo "Erreurs lors de la sélection des fichiers d'entrée sortie et" 549 echo "répertoires" 550 return;; 551 4) echo "Erreur de rsync ; RERR_UNSUPPORTED" 552 echo "Action demandée non supportée : une tentative de manipulation de" 553 echo "fichiers 64-bits sur une plate-forme qui ne les supporte pas a" 554 echo "été faite ; ou une option qui est supportée par le client mais" 555 echo "pas par le serveur a été spécifiée." 556 return;; 557 10) echo "Erreur de rsync ; RERR_SOCKETIO" 558 echo "Erreur dans le socket d'entrée sortie" 559 return;; 560 11) echo "Erreur de rsync ; RERR_FILEIO" 561 echo "Erreur d'entrée sortie fichier" 562 return;; 563 12) echo "Erreur de rsync ; RERR_STREAMIO" 564 echo "Erreur dans flux de donnée du protocole rsync" 565 return;; 566 13) echo "Erreur de rsync ; RERR_MESSAGEIO" 567 echo "Erreur avec les diagnostics du programme" 568 return;; 569 14) echo "Erreur de rsync ; RERR_IPC" 570 echo "Erreur dans le code IPC" 571 return;; 572 20) echo "Erreur de rsync ; RERR_SIGNAL" 573 echo "SIGUSR1 ou SIGINT reçu" 574 return;; 575 21) echo "Erreur de rsync ; RERR_WAITCHILD" 576 echo "Une erreur retournée par waitpid()" 577 return;; 578 22) echo "Erreur de rsync ; RERR_MALLOC" 579 echo "Erreur lors de l'allocation des tampons de mémoire de coeur" 580 return;; 581 23) echo "" 582 582 echo "Erreur fichier inexistant" 583 584 585 586 587 588 589 583 return;; 584 30) echo "Erreur de rsync ; RERR_TIMEOUT" 585 echo "Temps d'attente écoulé dans l'envoi/réception de données" 586 return;; 587 *) echo "Erreur de rsync : code de retour de rsync inconnu :" $RET 588 return;; 589 esac 590 590 elif [ $MYLANG = "en" ] ; then 591 592 0) return;; 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 591 case $RET in 592 0) return;; 593 1) echo "rsync error : Syntax or usage error " 594 return;; 595 2) echo "rsync error : Protocol incompatibility " 596 return;; 597 3) echo "rsync error : Errors selecting input/output files, dirs" 598 return;; 599 4) echo "rsync error : Requested action not supported: an attempt" 600 echo "was made to manipulate 64-bit files on a platform that cannot support" 601 echo "them; or an option was specified that is supported by the client and" 602 echo "not by the server." 603 return;; 604 5) echo "rsync error : Error starting client-server protocol" 605 return;; 606 10) echo "rsync error : Error in socket I/O " 607 return;; 608 11) echo "rsync error : Error in file I/O " 609 return;; 610 12) echo "rsync error : Error in rsync protocol data stream " 611 return;; 612 13) echo "rsync error : Errors with program diagnostics " 613 return;; 614 14) echo "rsync error : Error in IPC code " 615 return;; 616 20) echo "rsync error : Received SIGUSR1 or SIGINT " 617 return;; 618 21) echo "rsync error : Some error returned by waitpid() " 619 return;; 620 22) echo "rsync error : Error allocating core memory buffers " 621 return;; 622 23) echo "rsync error : Partial transfer due to error" 623 return;; 624 24) echo "rsync error : Partial transfer due to vanished source files" 625 return;; 626 30) echo "rsync error : Timeout in data send/receive " 627 return;; 628 *) echo "rsync error : return code of rsync unknown :" $RET 629 return;; 630 esac 631 631 else 632 633 632 echo "unknown language $MYLANG." 633 return 634 634 fi 635 635 } … … 643 643 IGCM_debug_PushStack "IGCM_sys_Cp" $@ 644 644 if ( $DEBUG_sys ) ; then 645 645 echo "IGCM_sys_Cp :" $@ 646 646 fi 647 647 … … 653 653 654 654 if [ ${RET} -gt 0 ] ; then 655 656 657 655 echo "IGCM_sys_Cp : error." 656 cat out_rsync 657 IGCM_debug_Exit "IGCM_sys_Cp" 658 658 fi 659 659 IGCM_debug_PopStack "IGCM_sys_Cp" … … 668 668 IGCM_debug_PushStack "IGCM_sys_Rm" -- $@ 669 669 if ( $DEBUG_sys ) ; then 670 670 echo "IGCM_sys_Rm :" $@ 671 671 fi 672 672 … … 678 678 679 679 if [ ${RET} -gt 0 ] ; then 680 681 682 680 echo "IGCM_sys_Rm : error." 681 cat out_rsync 682 IGCM_debug_Exit "IGCM_sys_Rm" 683 683 fi 684 684 IGCM_debug_PopStack "IGCM_sys_Rm" … … 694 694 IGCM_debug_PushStack "IGCM_sys_RmRunDir" -- $@ 695 695 if ( $DEBUG_sys ) ; then 696 696 echo "IGCM_sys_RmRunDir :" $@ 697 697 fi 698 698 … … 704 704 705 705 if [ ${RET} -gt 0 ] ; then 706 707 708 706 echo "IGCM_sys_RmRunDir : error." 707 cat out_rsync 708 IGCM_debug_Exit "IGCM_sys_RmRunDir" 709 709 else 710 710 \rm out_rsync 711 711 fi 712 712 … … 722 722 IGCM_debug_PushStack "IGCM_sys_Mv" $@ 723 723 if ( $DEBUG_sys ) ; then 724 724 echo "IGCM_sys_Mv :" $@ 725 725 fi 726 726 … … 728 728 729 729 typeset RET 730 730 731 731 echo mv $@ > out_rsync 2>&1 732 732 \mv $@ >> out_rsync 2>&1 733 733 RET=$? 734 734 735 735 if [ ${RET} -gt 0 ] ; then 736 736 echo "IGCM_sys_Mv : error in mv." … … 753 753 IGCM_debug_PushStack "IGCM_sys_Put_Dir" $@ 754 754 if ( $DEBUG_sys ) ; then 755 755 echo "IGCM_sys_Put_Dir :" $@ 756 756 fi 757 757 if [ $DRYRUN = 0 ]; then 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 758 if [ ! -d ${1} ] ; then 759 echo "WARNING : IGCM_sys_Put_Dir ${1} DOES NOT EXIST ." 760 IGCM_debug_PopStack "IGCM_sys_Put_Dir" 761 return 762 fi 763 764 typeset RET 765 766 # Only if we use rsync 767 #IGCM_sys_TestDirArchive $( dirname $2 ) 768 # 769 #USUAL WAY 770 \cp -r $1 $2 > out_rsync 2>&1 771 RET=$? 772 773 if [ ${RET} -gt 0 ] ; then 774 echo "IGCM_sys_Put_Dir : error." 775 cat out_rsync 776 IGCM_debug_Exit "IGCM_sys_Put_Dir" 777 fi 778 778 else 779 779 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 780 780 fi 781 781 IGCM_debug_PopStack "IGCM_sys_Put_Dir" … … 790 790 IGCM_debug_PushStack "IGCM_sys_Get_Dir" $@ 791 791 if ( $DEBUG_sys ) ; then 792 792 echo "IGCM_sys_Get_Dir :" $@ 793 793 fi 794 794 if [ $DRYRUN = 0 ]; then 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 795 if [ ! -d ${1} ] ; then 796 echo "WARNING : IGCM_sys_Get_Dir ${1} DOES NOT EXIST ." 797 IGCM_debug_PopStack "IGCM_sys_Get_Dir" 798 return 799 fi 800 801 typeset RET 802 803 #USUAL WAY 804 \cp -rp $1 $2 > out_rsync 2>&1 805 RET=$? 806 807 if [ ${RET} -gt 0 ] ; then 808 echo "IGCM_sys_Get_Dir : error." 809 cat out_rsync 810 IGCM_debug_Exit "IGCM_sys_Get_Dir" 811 fi 812 812 else 813 813 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 814 814 fi 815 815 IGCM_debug_PopStack "IGCM_sys_Get_Dir" … … 824 824 IGCM_debug_PushStack "IGCM_sys_Get_Master" $@ 825 825 if ( $DEBUG_sys ) ; then 826 826 echo "IGCM_sys_Get_Master :" $@ 827 827 fi 828 828 if [ $DRYRUN = 0 ]; then … … 845 845 fi 846 846 else 847 847 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 848 848 fi 849 849 IGCM_debug_PopStack "IGCM_sys_Get_Master" … … 859 859 IGCM_debug_PushStack "IGCM_sys_Put_Rest" $@ 860 860 if ( $DEBUG_sys ) ; then 861 861 echo "IGCM_sys_Put_Rest :" $@ 862 862 fi 863 863 if [ $DRYRUN = 0 ]; then 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 864 if [ ! -f ${1} ] ; then 865 echo "ERROR : IGCM_sys_Put_Rest ${1} DOES NOT EXIST ." 866 IGCM_debug_Exit "IGCM_sys_Put_Rest" 867 fi 868 869 typeset RET 870 # 871 if [ X${JobType} = XRUN ] ; then 872 IGCM_sys_Chmod 444 ${1} 873 fi 874 # 875 # Only if we use rsync 876 #IGCM_sys_MkdirArchive $( dirname $2 ) 877 # 878 #USUAL WAY 879 \cp $1 $2 > out_rsync 2>&1 880 RET=$? 881 882 if [ ${RET} -gt 0 ] ; then 883 echo "IGCM_sys_Put_Rest : error." 884 cat out_rsync 885 IGCM_debug_Exit "IGCM_sys_Put_Rest" 886 fi 887 887 else 888 888 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 889 889 fi 890 890 IGCM_debug_PopStack "IGCM_sys_Put_Rest" … … 899 899 IGCM_debug_PushStack "IGCM_sys_Put_Out" $@ 900 900 if ( $DEBUG_sys ) ; then 901 901 echo "IGCM_sys_Put_Out :" $@ 902 902 fi 903 903 if [ $DRYRUN = 0 ]; then 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 904 if [ ! -f ${1} ] ; then 905 echo "WARNING : IGCM_sys_Put_Out ${1} DOES NOT EXIST ." 906 IGCM_debug_PopStack "IGCM_sys_Put_Out" 907 return 1 908 fi 909 # 910 IGCM_sys_MkdirArchive $( dirname $2 ) 911 # 912 typeset RET 913 # 914 if [ X${JobType} = XRUN ] ; then 915 if [ X${3} = X ] ; then 916 IGCM_sys_Chmod 444 ${1} 917 fi 918 fi 919 # 920 #USUAL WAY 921 \cp $1 $2 > out_rsync 2>&1 922 RET=$? 923 924 if [ ${RET} -gt 0 ] ; then 925 echo "IGCM_sys_Put_Out : error." 926 cat out_rsync 927 IGCM_debug_Exit "IGCM_sys_Put_Out" 928 fi 929 929 else 930 930 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 931 931 fi 932 932 IGCM_debug_PopStack "IGCM_sys_Put_Out" … … 945 945 946 946 if ( $DEBUG_sys ) ; then 947 947 echo "IGCM_sys_Get :" $@ 948 948 fi 949 949 if [ $DRYRUN -le 2 ]; then 950 950 if [ X${1} = X'/l' ] ; then 951 951 # test if the first file is present in the old computation : 952 953 954 955 956 952 eval set +A dm_liste \${${2}} 953 else 954 dm_liste=${1} 955 fi 956 eval DEST=\${${#}} 957 957 958 958 # test if the (first) file is present in the old computation : 959 960 959 IGCM_sys_TestFileArchive ${dm_liste[0]} 960 RET=$? 961 961 if [ ${RET} -gt 0 ] ; then 962 963 964 962 echo "IGCM_sys_Get, ERROR : regular file ${dm_liste[0]} DOES NOT EXIST ." 963 IGCM_debug_Exit "IGCM_sys_Get" 964 return 965 965 fi 966 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 967 # SD : dm_liste is not suited for computing job 968 # because we change filename during transfert 969 # dm_liste is better suited for post-treatment 970 #dm_liste=" " 971 #(( ifile=1 )) 972 #while [ $ifile -lt $# ] ; do 973 # dm_liste=$( eval echo ${dm_liste} " "\${${ifile}} ) 974 # (( ifile = ifile + 1 )) 975 #done 976 #DEST=$( eval echo \${${#}} ) 977 978 #USUAL WAY 979 \cp ${dm_liste[*]} ${DEST} > out_rsync 2>&1 980 RET=$? 981 982 if [ ${RET} -gt 0 ] ; then 983 echo "IGCM_sys_Get : copy error." 984 cat out_rsync 985 IGCM_debug_Exit "IGCM_sys_Get" 986 fi 987 987 else 988 988 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 989 989 fi 990 990 IGCM_debug_PopStack "IGCM_sys_Get" … … 1001 1001 IGCM_debug_PushStack "IGCM_sys_FichWork" $@ 1002 1002 if ( $DEBUG_sys ) ; then 1003 1003 echo "IGCM_sys_GetDate_FichWork :" $@ 1004 1004 fi 1005 1005 # donne la date filesys d'un fichier sur la machine work … … 1015 1015 IGCM_debug_PushStack "IGCM_sys_FichArchive" $@ 1016 1016 if ( $DEBUG_sys ) ; then 1017 1017 echo "IGCM_sys_GetDate_FichArchive :" $@ 1018 1018 fi 1019 1019 IGCM_debug_PopStack "IGCM_sys_FichArchive" … … 1026 1026 IGCM_debug_PushStack "IGCM_sys_rebuild" -- $@ 1027 1027 if ( $DEBUG_sys ) ; then 1028 1028 echo "IGCM_sys_rebuild :" $@ 1029 1029 fi 1030 1030 /gpfs1/home/sebastien/REBUILD/rebuild -f -o $@ … … 1043 1043 IGCM_debug_PushStack "IGCM_sys_activ_variables" 1044 1044 if ( $DEBUG_sys ) ; then 1045 1045 echo "IGCM_sys_activ_variables " 1046 1046 fi 1047 1047 … … 1064 1064 IGCM_debug_PushStack "IGCM_sys_desactiv_variables" 1065 1065 if ( $DEBUG_sys ) ; then 1066 1066 echo "IGCM_sys_desactiv_variables " 1067 1067 fi 1068 1068 # -------------------------------------------------------------------- … … 1085 1085 set -x 1086 1086 if ( $DEBUG_sys ) ; then 1087 1087 echo "IGCM_sys_build_run_file " $@ 1088 1088 fi 1089 1089 … … 1094 1094 1095 1095 (( NUM_PROC_ATM = BATCH_NUM_PROC_TOT - NUM_PROC_OASIS - NUM_PROC_OCE )) 1096 1096 1097 1097 if [ $1 = MPI2 ]; then 1098 1098 echo "IGCM_sys_build_run_file : error - MPI2 not available on iitm. " 1099 1099 IGCM_debug_Exit "IGCM_sys_build_run_file" 1100 1100 elif [ $1 = MPI1 ]; then 1101 1101 cat <<EOF > run_file 1102 1102 ./oasis 1103 1103 EOF 1104 1104 1105 1106 1107 1108 1109 1105 typeset i 1106 (( i = 0 )) 1107 while [ ${i} -lt ${NUM_PROC_ATM} ] ; do 1108 (( i = i + 1 )) 1109 cat <<EOF >> run_file 1110 1110 ./lmdz.x 1111 1111 EOF 1112 1112 done 1113 1113 1114 1114 (( i = 0 )) 1115 1115 while [ ${i} -lt ${NUM_PROC_OCE} ] ; do 1116 1117 1116 (( i = i + 1 )) 1117 cat <<EOF >> run_file 1118 1118 ./opa.xx 1119 1119 EOF 1120 1120 done 1121 1121 1122 1122 wc -l run_file 1123 1123 fi 1124 1124 set +x … … 1131 1131 IGCM_debug_PushStack "IGCM_sys_check_quota" 1132 1132 if ( $DEBUG_sys ) ; then 1133 1133 echo "IGCM_sys_check_quota" 1134 1134 fi 1135 1135 IGCM_debug_PopStack "IGCM_sys_check_quota"
Note: See TracChangeset
for help on using the changeset viewer.