Changeset 858 for CONFIG/LMDZORINCA/trunk/EXP_CH4_AER/COMP/orchidee.driver
- Timestamp:
- 12/18/09 15:26:08 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
CONFIG/LMDZORINCA/trunk/EXP_CH4_AER/COMP/orchidee.driver
r615 r858 1 1 #!/bin/ksh 2 2 3 #D- Driver du script pour ORCHIDEE_OL (off-line) 3 #D- Driver du script pour ORCHIDEE 4 5 function ORCHIDEE_sed 6 { 7 IGCM_debug_PushStack "ORCHIDEE_sed" 8 9 sed -e "s/^${1}\ *=.*/${1}= ${2}/" \ 10 orchidee.def > orchidee.def.tmp 11 RET=$? 12 echo "ORCHIDEE_sed : ${1} ${2}" 13 \mv orchidee.def.tmp orchidee.def 14 15 IGCM_debug_PopStack "ORCHIDEE_sed" 16 return $RET 17 } 4 18 5 19 #----------------------------------------------------------------- … … 7 21 { 8 22 IGCM_debug_PushStack "SRF_Initialize" 23 24 RESOL_SRF=ALL 9 25 10 26 IGCM_debug_PopStack "SRF_Initialize" … … 16 32 IGCM_debug_PushStack "SRF_Update" 17 33 34 typeset SECHIBA_WRITE_STEP 35 18 36 case ${config_SRF_WriteFrequency} in 19 1Y|1y) 20 (( STOMATE_WRITE_STEP = PeriodLengthInDays )) 21 (( SECHIBA_WRITE_STEP = PeriodLengthInDays * 86400 )) ;; 22 1M|1m) 23 if [ ${config_UserChoices_PeriodLength} = 1Y ] ; then 24 (( STOMATE_WRITE_STEP = PeriodLengthInDays / 12 )) 25 (( SECHIBA_WRITE_STEP = PeriodLengthInDays * 86400 / 12 )) 26 else 27 (( STOMATE_WRITE_STEP = $( IGCM_date_DaysInMonth $year $month ) )) 37 *Y|*y) 38 WriteInYears=$( echo ${1} | awk -F '[yY]' "{print ${config_SRF_WriteFrequency}}" ) 39 PeriodLengthInYears=$( echo ${1} | awk -F '[yY]' "{print ${config_UserChoices_PeriodLength}}" ) 40 (( SECHIBA_WRITE_STEP = PeriodLengthInDays * WriteInYears / PeriodLengthInYears * 86400 )) ;; 41 *M|*m) 42 WriteInMonths=$( echo ${1} | awk -F '[mM]' "{print ${config_SRF_WriteFrequency}}" ) 43 case ${config_UserChoices_PeriodLength} in 44 *Y|*y) 45 PeriodLengthInYears=$( echo ${1} | awk -F '[yY]' "{print ${config_UserChoices_PeriodLength}}" ) 46 (( SECHIBA_WRITE_STEP = PeriodLengthInDays * 86400 / PeriodLengthInYears / 12 )) 47 ;; 48 *M|*m) 49 PeriodLengthInMonths=$( echo ${1} | awk -F '[mM]' "{print ${config_UserChoices_PeriodLength}}" ) 50 (( SECHIBA_WRITE_STEP = PeriodLengthInDays * WriteInMonths * 86400 / PeriodLengthInMonths )) 51 ;; 52 *) 28 53 (( SECHIBA_WRITE_STEP = $( IGCM_date_DaysInMonth $year $month ) * 86400 )) 29 fi ;; 54 ;; 55 esac 56 ;; 30 57 5D|5d) 31 (( STOMATE_WRITE_STEP = 5 ))32 58 (( SECHIBA_WRITE_STEP = 5 * 86400 )) ;; 33 59 1D|1d) 34 (( STOMATE_WRITE_STEP = 1 ))35 60 (( SECHIBA_WRITE_STEP = 86400 )) ;; 61 *s) 62 WriteInSeconds=$( echo ${1} | awk -F '[s]' "{print ${config_SRF_WriteFrequency}}" ) 63 (( SECHIBA_WRITE_STEP = WriteInSeconds )) ;; 36 64 *) 37 65 IGCM_debug_Exit "SRF_Update " ${config_SRF_WriteFrequency} " invalid WriteFrequency : choose in 1Y, 1M, 5D, 1D." … … 39 67 esac 40 68 69 ORCHIDEE_sed HYDROL_CWRR ${orchidee_UserChoices_NEWHYDROL} 41 70 42 if ( [ ${CumulPeriod} -eq 1 ] && [ "${config_SRF_Restart}" = "n" ] ) ; then 43 sed -e "s/_start_sech_/default/" \ 44 -e "s/_write_step_/${SECHIBA_WRITE_STEP}/" \ 45 orchidee.def > orchidee.def.tmp 46 ## For STOMATE 47 # -e "s/STOMATE_HIST_DT= 10./STOMATE_HIST_DT = ${STOMATE_WRITE_STEP}/" \ 71 ORCHIDEE_sed WRITE_STEP ${SECHIBA_WRITE_STEP} 72 ORCHIDEE_sed SECHIBA_HISTLEVEL ${orchidee_UserChoices_sechiba_LEVEL} 48 73 49 ## For ORCHIDEE_WATCHOUT_FILE : 50 # -e "s/ORCHIDEE_WATCHOUT= n/ORCHIDEE_WATCHOUT= y/" \ 51 # -e "s/DT_WATCHOUT= 1800/DT_WATCHOUT= 3600/" \ 52 else 53 sed -e "s/_start_sech_/start_sech.nc/" \ 54 -e "s/_write_step_/${SECHIBA_WRITE_STEP}/" \ 55 orchidee.def > orchidee.def.tmp 56 ## For STOMATE 57 # -e "s/STOMATE_RESTART_FILEIN= NONE/STOMATE_RESTART_FILEIN = stomate_rest_in.nc/" \ 58 # -e "s/STOMATE_HIST_DT= 10./STOMATE_HIST_DT = ${STOMATE_WRITE_STEP}/" \ 74 ## if [ ${year} -eq 1950 ] ; then 75 # ORCHIDEE_sed SECHIBA_HISTFILE2 y 76 # ORCHIDEE_sed SECHIBA_HISTLEVEL2 10 77 # ORCHIDEE_sed WRITE_STEP2 86400.0 78 ## fi 59 79 60 ## For ORCHIDEE_WATCHOUT_FILE : 61 # -e "s/ORCHIDEE_WATCHOUT= n/ORCHIDEE_WATCHOUT= y/" \ 62 # -e "s/DT_WATCHOUT= 1800/DT_WATCHOUT= 3600/" \ 80 if ( [ ${CumulPeriod} -ne 1 ] || [ "${config_SRF_Restart}" != "n" ] ) ; then 81 ORCHIDEE_sed SECHIBA_restart_in sechiba_rest_in.nc 63 82 fi 64 IGCM_sys_Mv orchidee.def.tmp orchidee.def 83 84 #IGCM_sys_Cp ${RUN_DIR}/orchidee.def ${RUN_DIR}/run.def 85 #IGCM_sys_Put_Out ${RUN_DIR}/run.def ${R_SAVE}/${PREFIX}_run.def 65 86 66 87 IGCM_debug_PopStack "SRF_Update" … … 72 93 IGCM_debug_PushStack "SRF_Finalize" 73 94 74 # For STOMATE : 75 # if [ $( IGCM_date_DaysBetweenGregorianDate ${PeriodDateEnd} ${year}1230 ) -ge 0 ] ; then 76 # IGCM_sys_Put_Out stomate_Cforcing.nc ${R_OUT_SRF_O_M}/${PREFIX}_stomate_Cforcing.nc 77 # IGCM_sys_Put_Out stomate_forcing.nc ${R_OUT_SRF_O_M}/${PREFIX}_stomate_forcing.nc 78 # fi 95 #IGCM_sys_Put_Out ${RUN_DIR}/used_run.def ${R_SAVE}/${PREFIX}_used_run.def 79 96 80 97 echo FINALIZE SRF !!!
Note: See TracChangeset
for help on using the changeset viewer.