Changeset 116
- Timestamp:
- 05/05/09 11:06:24 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/libIGCM/libIGCM_post/libIGCM_post.ksh
r108 r116 166 166 POST=false 167 167 168 #================================== 169 # Define variable ${config_Post_${post_freq}} 170 # who contains frequency for specific post-treatment 171 IGCM_card_DefineArrayFromSection ${SUBMIT_DIR}/config.card Post 172 173 for option in ${config_Post[*]} ; do 174 IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/config.card Post ${option} 175 done 176 168 177 # READ TIME SERIES OR SEASONAL FREQUENCY 169 178 # AND TURN ON THE FLAG WHEN MODULO IS ZERO … … 174 183 eval ${post_freq}=false 175 184 # 176 # Define the variable ${config_Post_${post_freq}} 177 # who contains frequency for specific post-treatment 178 # 179 IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/config.card Post ${post_freq} 180 # 181 # Extract frequency from above variable 185 # Extract frequency from previously defined variable 182 186 # 183 187 config_Post_post_freq=$( eval echo \${config_Post_${post_freq}} ) 188 # 189 # Offset for Seasonal Average starting period 190 # 191 if [ ${post_freq} = SeasonalFrequency ] ; then 192 if ( [ X${config_Post_SeasonalFrequencyOffset} = X${NULL_STR} ] || [ X${config_Post_SeasonalFrequencyOffset} = XNONE ] || X${config_Post_SeasonalFrequencyOffset} = X ) ; then 193 PeriodOffset=0 194 else 195 PeriodOffset=$( echo ${config_Post_SeasonalFrequencyOffset} | sed -e "s/[yY]//" ) 196 fi 197 else 198 PeriodOffset=0 199 fi 184 200 # 185 201 if ( [ X${config_Post_post_freq} = X${NULL_STR} ] || [ X${config_Post_post_freq} = XNONE ] ) ; then … … 220 236 *y|*Y) 221 237 PeriodYear=$( echo ${config_Post_post_freq} | sed -e "s/[yY]//" ) 238 # 222 239 case ${config_UserChoices_PeriodLength} in 223 240 *Y|*y) 224 241 PeriodPost=$( echo ${config_UserChoices_PeriodLength} | sed -e "s/[yY]//" ) 225 242 if [ ${PeriodPost} -le ${PeriodYear} ] ; then 226 if [ $( expr $(( ${CumulPeriod} * ${PeriodPost} )) % ${PeriodYear}) -eq 0 ] ; then227 eval ${post_freq}=true228 POST=true243 if [ $( expr $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} )) % ${PeriodYear} ) -eq 0 ] ; then 244 [ $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} )) -ne 0 ] && eval ${post_freq}=true 245 [ $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} )) -ne 0 ] && POST=true 229 246 fi 230 247 else … … 235 252 PeriodPost=$( echo ${config_UserChoices_PeriodLength} | sed -e "s/[mM]//" ) 236 253 if [ ${PeriodPost} -le $(( ${PeriodYear} * 12 )) ] ; then 237 if [ $( expr $(( ${CumulPeriod} * ${PeriodPost})) % $(( ${PeriodYear} * 12 )) ) -eq 0 ] ; then238 eval ${post_freq}=true239 POST=true254 if [ $( expr $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} * 12 )) % $(( ${PeriodYear} * 12 )) ) -eq 0 ] ; then 255 [ $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} * 12 )) -ne 0 ] && eval ${post_freq}=true 256 [ $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} * 12 )) -ne 0 ] && POST=true 240 257 fi 241 258 else … … 248 265 if [ ${config_UserChoices_CalendarType} = 360d ] | [ ${config_UserChoices_CalendarType} = noleap ] ; then 249 266 if [ ${PeriodPost} -le $(( ${PeriodYear} * ${NbDays} )) ] ; then 250 if [ $( expr ${CumulPeriod} % $( expr \( ${NbDays} \* ${PeriodYear} \/ ${PeriodPost} \) ) ) -eq 0 ] ; then 251 eval ${post_freq}=true 252 POST=true 267 if [ $( expr $(( ${CumulPeriod} - ( ${PeriodOffset} * ${NbDays} / ${PeriodPost} ) )) % \ 268 $(( ${NbDays} * ${PeriodYear} / ${PeriodPost} )) ) -eq 0 ] ; then 269 [ $(( ${CumulPeriod} - ( ${PeriodOffset} * ${NbDays} / ${PeriodPost} ) )) -ne 0 ] && eval ${post_freq}=true 270 [ $(( ${CumulPeriod} - ( ${PeriodOffset} * ${NbDays} / ${PeriodPost} ) )) -ne 0 ] POST=true 253 271 fi 254 272 else … … 274 292 esac ;; 275 293 *M|*m) 276 PeriodMonth=$( echo ${config_Post_ RebuildFrequency} | sed -e "s/[mM]//" )294 PeriodMonth=$( echo ${config_Post_post_freq} | sed -e "s/[mM]//" ) 277 295 case ${config_UserChoices_PeriodLength} in 278 296 *Y|*y) … … 282 300 PeriodPost=$( echo ${config_UserChoices_PeriodLength} | sed -e "s/[mM]//" ) 283 301 if [ ${PeriodPost} -le ${PeriodMonth} ] ; then 284 if [ $( expr $(( ${CumulPeriod} * ${PeriodPost} )) % ${PeriodMonth} ) -eq 0 ] ; then285 eval ${post_freq}=true286 POST=true302 if [ $( expr $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} )) % ${PeriodMonth} ) -eq 0 ] ; then 303 [ $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} )) -ne 0 ] && eval ${post_freq}=true 304 [ $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} )) -ne 0 ] && POST=true 287 305 fi 288 306 else … … 295 313 esac ;; 296 314 *D|*d) 297 PeriodDay=$( echo ${config_Post_ RebuildFrequency} | sed -e "s/[dD]//" )315 PeriodDay=$( echo ${config_Post_post_freq} | sed -e "s/[dD]//" ) 298 316 case ${config_UserChoices_PeriodLength} in 299 317 *Y|*y) … … 306 324 PeriodPost=$( echo ${config_UserChoices_PeriodLength} | sed -e "s/[dD]//" ) 307 325 if [ ${PeriodPost} -le ${PeriodDay} ] ; then 308 if [ $( expr $(( ${CumulPeriod} * ${PeriodPost} )) % ${PeriodDay} ) -eq 0 ] ; then309 eval ${post_freq}=true310 POST=true326 if [ $( expr $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} )) % ${PeriodDay} ) -eq 0 ] ; then 327 [ $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} )) -ne 0 ] && eval ${post_freq}=true 328 [ $(( ${CumulPeriod} * ${PeriodPost} - ${PeriodOffset} )) -ne 0 ] && POST=true 311 329 fi 312 330 else
Note: See TracChangeset
for help on using the changeset viewer.