Changeset 22
- Timestamp:
- 10/28/08 17:40:40 (15 years ago)
- Location:
- trunk/libIGCM
- Files:
-
- 1 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/libIGCM/AA_job
r5 r22 361 361 #D- 362 362 # ------------------------------------------------------------------ 363 #D- Launch post-treatment process if necessary364 # ------------------------------------------------------------------ 365 IGCM_post_ Initialize363 #D- Launch remote rebuild or/and post-treatment process if necessary 364 # ------------------------------------------------------------------ 365 IGCM_post_Configure 366 366 367 367 #D- -
trunk/libIGCM/libIGCM_comp/libIGCM_comp.ksh
r5 r22 528 528 529 529 typeset ListTextName TextName0 530 typeset comp compname comptagname card ListFilesName FileName0 NbFiles 530 typeset comp compname comptagname card ListFilesName FileName0 NbFiles SaveOnArchive 531 531 typeset i i_ file_in file_in_ file_out file_out_ generic_file_name nb_rebuild_file 532 532 for comp in ${config_ListOfComponents[*]} ; do … … 585 585 (( i=0 )) 586 586 until [ $i -ge $NbFiles ]; do 587 SaveOnArchive=true 587 588 eval file_in_=\${${ListFilesName}[$i]} > /dev/null 2>&1 588 589 eval file_in=${file_in_} … … 590 591 eval file_out_=\${${ListFilesName}[$i_]} > /dev/null 2>&1 591 592 eval file_out=${file_out_} 592 593 # 593 594 generic_file_name=$( basename ${file_in} .nc ) 594 595 nb_rebuild_file=$( ls | grep "${generic_file_name}[_0-9]*.nc" | wc -l ) 595 if [ ${nb_rebuild_file} -gt 1 ] ; then 596 IGCM_debug_Print 2 "Rebuilding ${file_in}" 597 IGCM_sys_rebuild ${file_in} ${generic_file_name}_*.nc 598 # DEBUG Rebuild : 599 #eval IGCM_sys_Cp ${generic_file_name}_*.nc \${R_OUT_${comp}_O_M}/ 600 elif [ -f ${generic_file_name}_0000.nc ] ; then 596 # 597 if ( [ ${nb_rebuild_file} -eq 1 ] && [ -f ${generic_file_name}_0000.nc ] ) ; then 598 IGCM_debug_Print 2 "Parallelism with 1 process. Rebuilding ${file_in} not needed" 601 599 IGCM_sys_Mv ${generic_file_name}_0000.nc ${file_in} 600 elif [ ${nb_rebuild_file} -gt 1 ] ; then 601 IGCM_debug_Print 2 "Parallelism detected rebuilding ${file_in} is needed" 602 if ( [ X${config_Post_RebuildFrequency} = X${NULL_STR} ] || [ X${config_Post_RebuildFrequency} = XNONE ] ) ; then 603 IGCM_debug_Print 2 "Rebuilding ${file_in} online" 604 IGCM_sys_rebuild ${file_in} ${generic_file_name}_*.nc 605 else 606 IGCM_debug_Print 2 "Preparing offline rebuild for ${file_in}" 607 IGCM_sys_Mkdir ${RUN_DIR}/REBUILD_${PeriodDateBegin} 608 IGCM_sys_Mv ${generic_file_name}_????.nc ${RUN_DIR}/REBUILD_${PeriodDateBegin} 609 # Prepare headers for the shell dedicated to offline rebuild 610 if [ ! -f ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh ] ; then 611 echo \#!/bin/ksh > ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 612 echo function IGCM_FlushRebuild >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 613 echo { >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 614 echo IGCM_debug_PushStack "IGCM_FlushRebuild" >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 615 echo echo >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 616 echo IGCM_debug_Print 1 "IGCM_FlushRebuild :" >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 617 echo echo >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 618 fi 619 # Prepare the shell dedicated to offline rebuild 620 echo IGCM_sys_rebuild ${file_in} ${generic_file_name}_*.nc >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 621 echo IGCM_sys_Put_Out ${file_in} ${file_out} >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 622 echo IGCM_sys_Rm ${generic_file_name}_*.nc >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 623 SaveOnArchive=false 624 fi 602 625 fi 603 604 IGCM_sys_Put_Out ${file_in} ${file_out}605 if [ $? -eq 0 ] ; then606 eval FileToBeDeleted[${#FileToBeDeleted[@]}]="${file_in}" > /dev/null 2>&1626 # 627 if [ ${SaveOnArchive} = true ] ; then 628 IGCM_sys_Put_Out ${file_in} ${file_out} 629 [ $? -eq 0 ] && eval FileToBeDeleted[${#FileToBeDeleted[@]}]="${file_in}" > /dev/null 2>&1 607 630 if [ ${nb_rebuild_file} -gt 1 ] ; then 608 eval FileToBeDeleted[${#FileToBeDeleted[@]}]=$( ls | grep "${generic_file_name}_[0-9]*.nc" ) > /dev/null 2>&1 631 for DelFile in $( ls | grep "${generic_file_name}[_0-9]*.nc" ) ; do 632 eval FileToBeDeleted[${#FileToBeDeleted[@]}]=${DelFile} > /dev/null 2>&1 633 done 609 634 fi 610 635 fi -
trunk/libIGCM/libIGCM_config/libIGCM_config.ksh
r7 r22 117 117 IGCM_debug_Print 3 "${option} : ${auxprint}" 118 118 done 119 120 echo 121 IGCM_debug_Print 1 "DefineVariableFromOption : config_Post" 122 # 123 IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/config.card Post RebuildFrequency 124 # 119 125 120 126 #================================================================# -
trunk/libIGCM/libIGCM_post/libIGCM_post.ksh
r5 r22 15 15 16 16 #======================================================================= 17 18 function IGCM_post_Configure 19 { 20 IGCM_debug_PushStack "IGCM_post_Configure" 21 22 # Debug Print : 23 echo 24 IGCM_debug_Print 1 "IGCM_post_Configure :" 25 echo 26 27 typeset NbDays PeriodEndJul PostEndJul PeriodPost 28 RebuildFrequency=false 29 30 if ( [ ! X${config_Post_RebuildFrequency} = X${NULL_STR} ] && [ ! X${config_Post_RebuildFrequency} = XNONE ] ) ; then 31 32 IGCM_debug_Print 1 "Asynchronous rebuild has been activated." 33 echo 34 35 case ${config_Post_RebuildFrequency} in 36 *y|*Y) 37 PeriodYear=$( echo ${config_Post_RebuildFrequency} | sed -e "s/[yY]//" ) 38 case ${config_UserChoices_PeriodLength} in 39 *Y|*y) 40 PeriodPost=$( echo ${config_UserChoices_PeriodLength} | sed -e "s/[yY]//" ) 41 if [ ${PeriodPost} -le ${PeriodYear} ] ; then 42 if [ $( expr $(( ${CumulPeriod} * ${PeriodPost} )) % ${PeriodYear} ) -eq 0 ] ; then 43 RebuildFrequency=true 44 NbRebuildDir=$( expr ${PeriodYear} / ${PeriodPost} ) 45 fi 46 else 47 IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with" 48 IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} " 49 fi ;; 50 *M|*m) 51 PeriodPost=$( echo ${config_UserChoices_PeriodLength} | sed -e "s/[mM]//" ) 52 if [ ${PeriodPost} -le $(( ${PeriodYear} * 12 )) ] ; then 53 if [ $( expr $(( ${CumulPeriod} * ${PeriodPost} )) % $(( ${PeriodYear} * 12 )) ) -eq 0 ] ; then 54 RebuildFrequency=true 55 NbRebuildDir=$( expr $(( 12 * ${PeriodYear} )) / ${PeriodPost} ) 56 else 57 IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with" 58 IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} " 59 fi 60 fi ;; 61 *D|*d) 62 PeriodPost=$( echo ${config_UserChoices_PeriodLength} | sed -e "s/[dD]//" ) 63 NbDays=$( IGCM_date_DaysInYear ${year} ) 64 if [ ${config_UserChoices_CalendarType} = 360d ] || [ ${config_UserChoices_CalendarType} = noleap ] ; then 65 if [ ${PeriodPost} -le $(( ${PeriodYear} * ${NbDays} )) ] ; then 66 if [ $( expr ${CumulPeriod} % $( expr \( ${NbDays} \* ${PeriodYear} \/ ${PeriodPost} \) ) ) -eq 0 ] ; then 67 RebuildFrequency=true 68 NbRebuildDir=$( expr $(( ${NbDays} * ${PeriodYear} )) / ${PeriodPost} ) 69 fi 70 else 71 IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with" 72 IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} " 73 fi 74 else 75 # if [ ${PeriodYear} -eq 1 ] ; then 76 # PeriodEndJul=$( IGCM_date_ConvertGregorianDateToJulian ${PeriodDateEnd} ) 77 # PostEndJul=${year}${NbDays} 78 # #echo "PeriodYear=${PeriodYear} NbDays=${NbDays}" 79 # #echo "PeriodEndJul=${PeriodEndJul} PostEndJul=${PostEndJul}" 80 # if [ ${PostEndJul} -eq ${PeriodEndJul} ] ; then 81 # RebuildFrequency=true 82 # NbRebuildDir=$( expr ${NbDays} / ${PeriodPost} ) 83 # fi 84 # else 85 IGCM_debug_Print 3 "For RebuildFrequency with leap calendar:" 86 IGCM_debug_Print 3 "We have a daily PeriodLength frequency and RebuildFrequency=${PeriodYear}Y." 87 IGCM_debug_Print 3 "No post-treatment. Case not properly handle at this moment." 88 # fi 89 fi;; 90 esac ;; 91 *M|*m) 92 PeriodMonth=$( echo ${config_Post_RebuildFrequency} | sed -e "s/[mM]//" ) 93 case ${config_UserChoices_PeriodLength} in 94 *Y|*y) 95 IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with" 96 IGCM_debug_Print 3 "RebuildFrequency frequency ${config_Post_RebuildFrequency}" ;; 97 *M|*m) 98 PeriodPost=$( echo ${config_UserChoices_PeriodLength} | sed -e "s/[mM]//" ) 99 if [ ${PeriodPost} -le ${PeriodMonth} ] ; then 100 if [ $( expr $(( ${CumulPeriod} * ${PeriodPost} )) % ${PeriodMonth} ) -eq 0 ] ; then 101 RebuildFrequency=true 102 NbRebuildDir=$( expr ${PeriodMonth} / ${PeriodPost} ) 103 fi 104 else 105 IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with" 106 IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} " 107 fi ;; 108 *D|*d) 109 IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with" 110 IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} " ;; 111 esac 112 ;; 113 NONE|none) 114 ;; 115 *) 116 IGCM_debug_Print 3 "KeyWord not allowed for RebuildFrequency in config.card" 117 ;; 118 esac 119 else 120 # 121 IGCM_debug_Print 1 "Asynchronous rebuild has not been activated" 122 IGCM_debug_Print 1 "Proceed with standard post-treatment pathway" 123 echo 124 # 125 fi 126 127 IGCM_debug_Print 1 "RebuildFrequency flag value : ${RebuildFrequency}" 128 IGCM_post_Initialize 129 130 IGCM_debug_PopStack "IGCM_post_Configure" 131 } 132 17 133 function IGCM_post_Initialize 18 134 { … … 29 145 # READ TIME SERIES OR SEASONAL FREQUENCY 30 146 # AND TURN ON THE FLAG WHEN MODULO IS ZERO 31 for post_freq in RebuildFrequencyTimeSeriesFrequency SeasonalFrequency ; do147 for post_freq in TimeSeriesFrequency SeasonalFrequency ; do 32 148 # 33 149 # Initialize … … 45 161 # 46 162 if ( [ X${config_Post_post_freq} = X${NULL_STR} ] || [ X${config_Post_post_freq} = XNONE ] ) ; then 47 #48 continue49 #163 # 164 continue 165 # 50 166 fi 51 167 # … … 60 176 # 61 177 if [ X${FileName0} != X${NULL_STR} ] ; then 62 #63 #IGCM_debug_Print 1 "Component : ${compname}"64 #65 # INITIALISATION66 #67 eval NbFiles=\${#${ListFilesName}[@]} > /dev/null 2>&168 typeset i=069 #70 until [ $i -eq $NbFiles ]; do71 178 # 72 eval file_in_=\${${ListFilesName}[$i]} > /dev/null 2>&1 73 eval file_in=${file_in_} 74 let $(( i_ = i+2 )) 75 eval flag_post_=\${${ListFilesName}[$i_]} > /dev/null 2>&1 76 eval flag_post=${flag_post_} 179 #IGCM_debug_Print 1 "Component : ${compname}" 77 180 # 78 if [ X${flag_post} != XNONE ] ; then 79 # 80 # Initialize ${flag_post}_${compname}_${post_freq} 81 # 82 eval ${flag_post}_${compname}_${post_freq}=false 83 # 84 case ${config_Post_post_freq} in 85 *y|*Y) 86 PeriodYear=$( echo ${config_Post_post_freq} | sed -e "s/[yY]//" ) 87 case ${config_UserChoices_PeriodLength} in 88 1Y|1y) 89 if [ $( expr ${CumulPeriod} % ${PeriodYear} ) -eq 0 ] ; then 90 eval ${flag_post}_${compname}_${post_freq}=true 91 eval ${post_freq}=true 92 POST=true 93 fi ;; 94 1M|1m) 95 if [ $( expr ${CumulPeriod} % $( expr ${PeriodYear} \* 12 ) ) -eq 0 ] ; then 96 eval ${flag_post}_${compname}_${post_freq}=true 97 eval ${post_freq}=true 98 POST=true 99 fi ;; 100 *D|*d) 101 LengthDays=$( echo ${config_UserChoices_PeriodLength} | sed -e "s/[dD]//" ) 102 NbDays=$( IGCM_date_DaysInYear ${year} ) 103 if [ ${config_UserChoices_CalendarType} = 360d ] | [ ${config_UserChoices_CalendarType} = noleap ] ; then 104 if [ $( expr ${CumulPeriod} % $( expr \( ${NbDays} \* ${PeriodYear} \/ ${LengthDays} \) ) ) -eq 0 ] ; then 105 eval ${flag_post}_${compname}_${post_freq}=true 106 eval ${post_freq}=true 107 POST=true 108 fi 109 else 110 if [ ${PeriodYear} -eq 1 ] ; then 111 PeriodEndJul=$( IGCM_date_ConvertGregorianDateToJulian ${PeriodDateEnd} ) 112 PostEndJul=${year}${NbDays} 113 #echo "PeriodYear=${PeriodYear} Year ; NbDays${NbDays} PeriodEndJul=${PeriodEndJul} PostEndJul=${PostEndJul}" 114 if [ ${PostEndJul} -le ${PeriodEndJul} ] ; then 115 eval ${flag_post}_${compname}_${post_freq}=true 116 eval ${post_freq}=true 117 POST=true 118 fi 119 else 120 echo "For ${post_freq}, for ${comp} and ${file_in} :" 121 echo "We have a daily WriteFrequency and ${post_freq}=${PeriodYear}Y." 122 echo "No post-treatment." 123 fi 124 fi;; 125 esac ;; 126 1M|1m) 127 case ${config_UserChoices_PeriodLength} in 128 1Y|1y) 129 IGCM_debug_Print 3 "Frequency not allowed for TimeSeriesFrequency in ${flag_post}" ;; 130 1M|1m) 131 eval ${flag_post}_${compname}_${post_freq}=true 132 eval ${post_freq}=true 133 POST=true;; 134 *D|*d) 135 NbDays=$( IGCM_date_DaysInMonth ${year} ${month} ) 136 PeriodEndJul=$( IGCM_date_ConvertGregorianDateToJulian ${PeriodDateEnd} ) 137 PostEndJul=$( IGCM_date_ConvertGregorianDateToJulian ${year}${month}${NbDays} ) 138 #echo "year_month=${year}_${month} Month ; NbDays${NbDays} PeriodEndJul=${PeriodEndJul} PostEndJul=${PostEndJul}" 139 if [ ${PostEndJul} -le ${PeriodEndJul} ] ; then 140 eval ${flag_post}_${compname}_${post_freq}=true 141 eval ${post_freq}=true 142 POST=true 143 fi 144 ;; 145 esac 146 ;; 147 NONE|none) 148 ;; 149 *) 150 IGCM_debug_Print 3 "KeyWord not allowed for ${post_freq} in config.card" 151 ;; 152 esac 153 fi 154 let $(( i=i+3 )) 155 done 181 # INITIALISATION 182 # 183 eval NbFiles=\${#${ListFilesName}[@]} > /dev/null 2>&1 184 typeset i=0 185 # 186 until [ $i -eq $NbFiles ]; do 187 # 188 eval file_in_=\${${ListFilesName}[$i]} > /dev/null 2>&1 189 eval file_in=${file_in_} 190 let $(( i_ = i+2 )) 191 eval flag_post_=\${${ListFilesName}[$i_]} > /dev/null 2>&1 192 eval flag_post=${flag_post_} 193 # 194 if [ X${flag_post} != XNONE ] ; then 195 # 196 case ${config_Post_post_freq} in 197 *y|*Y) 198 PeriodYear=$( echo ${config_Post_post_freq} | sed -e "s/[yY]//" ) 199 case ${config_UserChoices_PeriodLength} in 200 *Y|*y) 201 PeriodPost=$( echo ${config_UserChoices_PeriodLength} | sed -e "s/[yY]//" ) 202 if [ ${PeriodPost} -le ${PeriodYear} ] ; then 203 if [ $( expr $(( ${CumulPeriod} * ${PeriodPost} )) % ${PeriodYear} ) -eq 0 ] ; then 204 eval ${post_freq}=true 205 POST=true 206 fi 207 else 208 IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with" 209 IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} " 210 fi ;; 211 *M|*m) 212 PeriodPost=$( echo ${config_UserChoices_PeriodLength} | sed -e "s/[mM]//" ) 213 if [ ${PeriodPost} -le $(( ${PeriodYear} * 12 )) ] ; then 214 if [ $( expr $(( ${CumulPeriod} * ${PeriodPost} )) % $(( ${PeriodYear} * 12 )) ) -eq 0 ] ; then 215 eval ${post_freq}=true 216 POST=true 217 else 218 IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with" 219 IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} " 220 fi 221 fi ;; 222 *D|*d) 223 PeriodPost=$( echo ${config_UserChoices_PeriodLength} | sed -e "s/[dD]//" ) 224 NbDays=$( IGCM_date_DaysInYear ${year} ) 225 if [ ${config_UserChoices_CalendarType} = 360d ] | [ ${config_UserChoices_CalendarType} = noleap ] ; then 226 if [ ${PeriodPost} -le $(( ${PeriodYear} * ${NbDays} )) ] ; then 227 if [ $( expr ${CumulPeriod} % $( expr \( ${NbDays} \* ${PeriodYear} \/ ${PeriodPost} \) ) ) -eq 0 ] ; then 228 eval ${post_freq}=true 229 POST=true 230 fi 231 else 232 IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with" 233 IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} " 234 fi 235 else 236 # if [ ${PeriodYear} -eq 1 ] ; then 237 # PeriodEndJul=$( IGCM_date_ConvertGregorianDateToJulian ${PeriodDateEnd} ) 238 # PostEndJul=${year}${NbDays} 239 # #echo "PeriodYear=${PeriodYear} NbDays=${NbDays}" 240 # #echo PeriodEndJul=${PeriodEndJul} PostEndJul=${PostEndJul}" 241 # if [ ${PostEndJul} -le ${PeriodEndJul} ] ; then 242 # eval ${post_freq}=true 243 # POST=true 244 # fi 245 # else 246 IGCM_debug_Print 3 "For ${post_freq} with leap calendar, for ${comp} and ${file_in} :" 247 IGCM_debug_Print 3 "We have a daily PeriodLength frequency and RebuildFrequency=${PeriodYear}Y." 248 IGCM_debug_Print 3 "No post-treatment. Case not properly handle at this moment." 249 # fi 250 fi;; 251 esac ;; 252 *M|*m) 253 PeriodMonth=$( echo ${config_Post_RebuildFrequency} | sed -e "s/[mM]//" ) 254 case ${config_UserChoices_PeriodLength} in 255 *Y|*y) 256 IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with" 257 IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} " ;; 258 *M|*m) 259 PeriodPost=$( echo ${config_UserChoices_PeriodLength} | sed -e "s/[mM]//" ) 260 if [ ${PeriodPost} -le ${PeriodMonth} ] ; then 261 if [ $( expr $(( ${CumulPeriod} * ${PeriodPost} )) % ${PeriodMonth} ) -eq 0 ] ; then 262 eval ${post_freq}=true 263 POST=true 264 fi 265 else 266 IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with" 267 IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} " 268 fi;; 269 *D|*d) 270 IGCM_debug_Print 3 "PeriodLength frequency ${config_UserChoices_PeriodLength} not compatbile with" 271 IGCM_debug_Print 3 "${flag_post} frequency : ${config_Post_post_freq} " ;; 272 esac ;; 273 NONE|none) 274 ;; 275 *) 276 IGCM_debug_Print 3 "KeyWord not allowed for ${post_freq} in config.card" 277 ;; 278 esac 279 fi 280 let $(( i=i+3 )) 281 done 156 282 fi 157 283 done … … 172 298 echo 173 299 174 typeset comp175 176 300 POST_DIR=${R_OUT_POST}/${config_UserChoices_TagName}/${config_UserChoices_JobName} 177 echo "POST_DIR = ${POST_DIR}" 301 IGCM_debug_Print 1 "POST_DIR = ${POST_DIR}" 302 303 #============ TIME SERIES POST-TREATMENT ===========# 304 if [ ${TimeSeriesFrequency} = true ] ; then 305 306 IGCM_debug_Print 2 "TIME SERIES POST-TREATMENT :" 307 echo 308 # 309 typeset listVarEnv 310 listVarEnv="MODIPSL,libIGCM,libIGCM_SX,SUBMIT_DIR,POST_DIR,DateBegin,PeriodDateEnd,StandAlone,RESOL_ATM,RESOL_OCE,RESOL_ICE,RESOL_SRF" 311 312 if [ ${RebuildFrequency} = true ] ; then 313 # 314 echo IGCM_sys_QsubPost create_ts >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 315 # 316 else 317 # 318 IGCM_sys_RshPost <<-EOF 319 export MODIPSL=${MODIPSL} 320 export libIGCM_SX=${libIGCM} 321 export libIGCM=${libIGCM_POST} 322 export SUBMIT_DIR=${SUBMIT_DIR} 323 export POST_DIR=${POST_DIR} 324 export DateBegin=${DateBegin} 325 export PeriodDateEnd=${PeriodDateEnd} 326 export StandAlone=false 327 export RESOL_ATM=${RESOL_ATM} 328 export RESOL_OCE=${RESOL_OCE} 329 export RESOL_ICE=${RESOL_ICE} 330 export RESOL_SRF=${RESOL_SRF} 331 export listVarEnv=${listVarEnv} 332 . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh 333 . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh 334 IGCM_sys_MkdirWork ${POST_DIR} 335 IGCM_debug_Verif_Exit 336 IGCM_sys_QsubPost create_ts 337 EOF 338 # 339 fi 340 fi 341 342 #============= SEASONAL POST-TREATMENT ============# 343 if [ ${SeasonalFrequency} = true ] ; then 344 # 345 IGCM_debug_Print 2 "SEASONNAL POST-TREATMENT :" 346 echo 347 # 348 typeset listVarEnv 349 listVarEnv="MODIPSL,libIGCM,libIGCM_SX,SUBMIT_DIR,POST_DIR,DateBegin,PeriodDateEnd,StandAlone,RESOL_ATM,RESOL_OCE,RESOL_ICE,RESOL_SRF" 350 351 if [ ${RebuildFrequency} = true ] ; then 352 # 353 echo IGCM_sys_QsubPost create_se >> ${RUN_DIR}/REBUILD_${PeriodDateBegin}/rebuild.ksh 354 # 355 else 356 # 357 IGCM_sys_RshPost <<-EOF 358 export MODIPSL=${MODIPSL} 359 export libIGCM_SX=${libIGCM} 360 export libIGCM=${libIGCM_POST} 361 export SUBMIT_DIR=${SUBMIT_DIR} 362 export POST_DIR=${POST_DIR} 363 export DateBegin=${DateBegin} 364 export PeriodDateEnd=${PeriodDateEnd} 365 export StandAlone=false 366 export RESOL_ATM=${RESOL_ATM} 367 export RESOL_OCE=${RESOL_OCE} 368 export RESOL_ICE=${RESOL_ICE} 369 export RESOL_SRF=${RESOL_SRF} 370 export listVarEnv=${listVarEnv} 371 . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh 372 . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh 373 IGCM_sys_MkdirWork ${POST_DIR} 374 IGCM_debug_Verif_Exit 375 IGCM_sys_QsubPost create_se 376 EOF 377 # 378 fi 379 fi 178 380 179 381 #============== REBUILD POST-TREATMENT =============# … … 183 385 echo 184 386 # 185 # BUILD A PACKED LIST FOR POST-TREATMENT JOB186 # BECAUSE IT'S NOT POSSIBLE TO DEFINE DYNAMICAL187 # VARIABLE NAME THROUGHT RSH !!188 #189 LISTE_PACK=" "190 #191 fi192 193 #============ TIME SERIES POST-TREATMENT ===========#194 if [ ${TimeSeriesFrequency} = true ] ; then195 196 IGCM_debug_Print 2 "TIME SERIES POST-TREATMENT :"197 echo198 #199 387 typeset listVarEnv 200 listVarEnv="MODIPSL,libIGCM,libIGCM_SX,SUBMIT_DIR, POST_DIR,DateBegin,PeriodDateEnd,StandAlone,RESOL_ATM,RESOL_OCE,RESOL_ICE,RESOL_SRF"388 listVarEnv="MODIPSL,libIGCM,libIGCM_SX,SUBMIT_DIR,RUN_DIR,POST_DIR,DateBegin,PeriodDateBegin,PeriodDateEnd,NbRebuildDir,StandAlone,RESOL_ATM,RESOL_OCE,RESOL_ICE,RESOL_SRF" 201 389 IGCM_sys_RshPost <<-EOF 202 390 export MODIPSL=${MODIPSL} … … 204 392 export libIGCM=${libIGCM_POST} 205 393 export SUBMIT_DIR=${SUBMIT_DIR} 394 export RUN_DIR=${RUN_DIR} 206 395 export POST_DIR=${POST_DIR} 207 396 export DateBegin=${DateBegin} 397 export PeriodDateBegin=${PeriodDateBegin} 208 398 export PeriodDateEnd=${PeriodDateEnd} 399 export NbRebuildDir=${NbRebuildDir} 209 400 export StandAlone=false 210 401 export RESOL_ATM=${RESOL_ATM} … … 217 408 IGCM_sys_MkdirWork ${POST_DIR} 218 409 IGCM_debug_Verif_Exit 219 IGCM_sys_QsubPost create_ts410 IGCM_sys_QsubPost rebuild 220 411 EOF 221 412 fi 222 413 223 #============= SEASONAL POST-TREATMENT ============#224 if [ ${SeasonalFrequency} = true ] ; then225 #226 IGCM_debug_Print 2 "SEASONNAL POST-TREATMENT :"227 echo228 #229 typeset listVarEnv230 listVarEnv="MODIPSL,libIGCM,libIGCM_SX,SUBMIT_DIR,POST_DIR,DateBegin,PeriodDateEnd,StandAlone,RESOL_ATM,RESOL_OCE,RESOL_ICE,RESOL_SRF"231 IGCM_sys_RshPost <<-EOF232 export MODIPSL=${MODIPSL}233 export SUBMIT_DIR=${SUBMIT_DIR}234 export libIGCM_SX=${libIGCM}235 export libIGCM=${libIGCM_POST}236 export SUBMIT_DIR=${SUBMIT_DIR}237 export POST_DIR=${POST_DIR}238 export DateBegin=${DateBegin}239 export PeriodDateEnd=${PeriodDateEnd}240 export StandAlone=false241 export RESOL_ATM=${RESOL_ATM}242 export RESOL_OCE=${RESOL_OCE}243 export RESOL_ICE=${RESOL_ICE}244 export RESOL_SRF=${RESOL_SRF}245 export listVarEnv=${listVarEnv}246 . ${libIGCM_POST}/libIGCM_debug/libIGCM_debug.ksh247 . ${libIGCM_POST}/libIGCM_sys/libIGCM_sys.ksh248 IGCM_sys_MkdirWork ${POST_DIR}249 IGCM_debug_Verif_Exit250 IGCM_sys_QsubPost create_se251 EOF252 fi253 254 414 IGCM_debug_PopStack "IGCM_post_Submit" 255 415 } 256 257 -
trunk/libIGCM/run.card.init
r5 r22 20 20 [PostProcessing] 21 21 # postraitements state == .date 22 PostState = Start23 22 24 MonitoringRunning=n 25 MonitoringCompleted= 23 #RebuildRunning=y/n 24 #RebuildToComplete=number of dir to rebuild 25 #RebuildDateID=PeriodDateEnd correspondant au dernier flag de RebuildFrequency=true 26 26 27 27 TimeSeriesRunning=n … … 29 29 30 30 SeasonalRunning=n 31 SeasonalCompleted=32 31 33 32 # machine time == .log
Note: See TracChangeset
for help on using the changeset viewer.