Changeset 890 for trunk/libIGCM/libIGCM_config
- Timestamp:
- 07/08/13 17:56:38 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/libIGCM/libIGCM_config/libIGCM_config.ksh
r873 r890 353 353 354 354 #=================================== 355 function IGCM_config_ Analyse_PeriodLength355 function IGCM_config_DaysInPeriodLength 356 356 { 357 IGCM_debug_PushStack "IGCM_config_ Analyse_PeriodLength"357 IGCM_debug_PushStack "IGCM_config_DaysInPeriodLength" 358 358 359 359 typeset i … … 393 393 IGCM_debug_Print 2 "Number of days for PeriodLength : ${PeriodLengthInDays}";; 394 394 *) 395 IGCM_debug_Exit "IGCM_config_ Analyse_PeriodLength " ${config_UserChoices_PeriodLength} " invalid period length : choose in *Y, *M, *D."395 IGCM_debug_Exit "IGCM_config_DaysInPeriodLength " ${config_UserChoices_PeriodLength} " invalid period length : choose in *Y, *M, *D." 396 396 IGCM_debug_Verif_Exit ;; 397 397 esac 398 398 399 IGCM_debug_PopStack "IGCM_config_ Analyse_PeriodLength"399 IGCM_debug_PopStack "IGCM_config_DaysInPeriodLength" 400 400 } 401 402 #=================================== 403 function IGCM_config_DateCoherency 404 405 IGCM_debug_PushStack "IGCM_config_DateCoherency" 406 407 # If one of the following modulo is not zero : 408 # we will issue an error then explain and exit in 409 # AA_job IGCM_debug_Verif_Exit call before binary submission 410 411 echo 412 IGCM_debug_Print 1 "IGCM_config_DateCoherency" 413 echo 414 415 typeset Length VerifiedPeriodDateBegin VerifiedPeriodDateEnd 416 417 # check coherency between (PeriodDateBegin, PeriodDateEnd) and (DateBegin, CumulPeriod, PeriodLength) 418 # DateBegin + CumulPeriod*PeriodLength = PeriodDateBegin 419 echo 420 421 case ${config_UserChoices_PeriodLength} in 422 *Y|*y) 423 Length=$( IGCM_date_DaysInCurrentPeriod ${DateBegin} $(( ${CumulPeriod} * ${PeriodLengthInYears} ))Y ) 424 ;; 425 *M|*m) 426 Length=$( IGCM_date_DaysInCurrentPeriod ${DateBegin} $(( ${CumulPeriod} * ${PeriodLengthInMonths} ))M ) 427 ;; 428 *D|*d) 429 Length=$( IGCM_date_DaysInCurrentPeriod ${DateBegin} $(( ${CumulPeriod} * ${PeriodLengthInDays} ))D ) 430 ;; 431 esac 432 VerifiedPeriodDateEnd=$( IGCM_date_AddDaysToGregorianDate ${DateBegin} ${Length} ) 433 434 # PeriodDateBegin + PeriodLength = PeriodDateEnd 435 VerifiedPeriodDateBegin=$( IGCM_date_AddDaysToGregorianDate ${VerifiedPeriodDateEnd} $(( ${PeriodLengthInDays} * -1 )) ) 436 437 IGCM_debug_PopStack "IGCM_config_DateCoherency" 438 } 439 401 440 402 441 #=================================== … … 456 495 fi 457 496 458 # modulo (TimeSeriesFrequency and all Chunck2D) must be zero497 # modulo (TimeSeriesFrequency and all Chunck2D) must be zero 459 498 NbJob=${#CHUNCK2D_SIZE[@]} 460 499 i=0 … … 472 511 done 473 512 474 # modulo (TimeSeriesFrequency and all Chunck3D) must be zero513 # modulo (TimeSeriesFrequency and all Chunck3D) must be zero 475 514 NbJob=${#CHUNCK3D_SIZE[@]} 476 515 i=0 … … 488 527 done 489 528 490 # check to be sure there is enough space on temporary filesystems to run529 # check to be sure there is enough space on temporary filesystems to run 491 530 echo 492 531 IGCM_debug_Print 1 "Check if there is enough space on temporary filesystem" … … 510 549 #================================================# 511 550 512 IGCM_date_GetYearMonthDay $ DateBeginyear month day513 IGCM_config_ Analyse_PeriodLength551 IGCM_date_GetYearMonthDay ${DateBegin} year month day 552 IGCM_config_DaysInPeriodLength 514 553 515 554 eval PeriodDateBegin=${DateBegin} > /dev/null 2>&1 … … 561 600 562 601 LastPeriodDateEnd=$( echo ${run_Configuration_OldPrefix} | sed -e "s/${config_UserChoices_JobName}_//" ) 563 564 typeset LastDate565 set +A LastDate -- $( echo ${LastPeriodDateEnd} | sed -e "s/\([0-9]\{${dY}\}\)\([0-9]\{2\}\)\([0-9]\{2\}\)/\1 \2 \3/" )566 LastYearDateEnd=${LastDate[0]}567 LastMonthDateEnd=${LastDate[1]}568 LastDayDateEnd=${LastDate[2]}569 602 570 603 if [ ${Period} = 1 ]; then … … 596 629 fi 597 630 631 # 598 632 IGCM_date_GetYearMonthDay $PeriodDateBegin year month day 599 IGCM_config_ Analyse_PeriodLength633 IGCM_config_DaysInPeriodLength 600 634 601 635 IGCM_card_WriteOption ${SUBMIT_DIR}/run.card Configuration PeriodState "Running" 602 603 fi 636 fi 637 638 # Save for futur use 604 639 OldPrefix=${config_UserChoices_JobName}_${PeriodDateEnd} 605 640 … … 1137 1172 year_m1=$(( year - 1 )) 1138 1173 year_p1=$(( year + 1 )) 1139 IGCM_config_ Analyse_PeriodLength1174 IGCM_config_DaysInPeriodLength 1140 1175 PeriodDateEnd=$( IGCM_date_AddDaysToGregorianDate ${PeriodDateBegin} $(( ${PeriodLengthInDays} - 1 )) ) 1141 1176
Note: See TracChangeset
for help on using the changeset viewer.