- Timestamp:
- 01/07/16 16:13:28 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
CONFIG/UNIFORM/v6/LMDZORINCA_v6/GENERAL/DRIVER/stomate.driver
r2346 r2694 1 1 #!/bin/ksh 2 2 3 #D- Driver du script pour ORCHIDEE3 #D- Driver pour ORCHIDEE stomate component 4 4 5 5 #----------------------------------------------------------------- … … 8 8 IGCM_debug_PushStack "SBG_Initialize" 9 9 10 RESOL_SBG=ALL11 12 10 IGCM_debug_PopStack "SBG_Initialize" 13 11 } … … 17 15 { 18 16 IGCM_debug_PushStack "SBG_Update" 17 18 # Output management 19 19 20 typeset STOMATE_WRITE_STEP 20 # Set default values for stomate output files. 21 stomate_enabled=.FALSE. 22 stomate_freq=0s 21 23 22 if [ X${orchidee_UserChoices_XIOS} = Xy ] ; then 23 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 enabled .FALSE. 24 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 enabled .FALSE. 25 fi 26 case ${config_SBG_WriteFrequency} in 27 *Y|*y) 28 WriteInYears=$( echo ${config_SBG_WriteFrequency} | awk -F '[yY]' '{print $1}' ) 29 PeriodLengthInYears=$( echo ${config_UserChoices_PeriodLength} | awk -F '[yY]' '{print $1}' ) 30 (( STOMATE_WRITE_STEP = PeriodLengthInDays * WriteInYears / PeriodLengthInYears )) 31 if [ X${orchidee_UserChoices_XIOS} = Xy ] ; then 32 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 enabled .TRUE. 33 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 output_freq ${WriteInYears}y 34 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 name stomate_history 35 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 enabled .TRUE. 36 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 output_freq ${WriteInYears}y 37 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 name stomate_ipcc_history 24 # Read WriteFrequency set in config.card section SBG. 25 # Only one choice can be set as WriteFrequency. The same choice will be used for 26 # both stomate_history and stomate_ipcc_history files. 27 for frequency in ${config_SBG_WriteFrequency} ; do 28 case ${frequency} in 29 *Y|*y) 30 NbYears=$( echo ${frequency} | awk -F '[yY]' '{print $1}' ) 31 NbDaysYear=$( IGCM_date_DaysInYear ${year} ) 32 stomate_enabled=.TRUE. 33 stomate_freq=${NbYears}y ;; 34 *M|*m) 35 NbMonths=$( echo ${frequency} | awk -F '[mM]' '{print $1}' ) 36 stomate_enabled=.TRUE. 37 stomate_freq=${NbMonths}mo ;; 38 *D|*d) 39 NbDays=$( echo ${frequency} | awk -F '[dD]' '{print $1}' ) 40 stomate_enabled=.TRUE. 41 stomate_freq=${NbDays}d ;; 42 *) 43 IGCM_debug_Exit "SBG WriteFrequency=${frequency} is invalid. Choose between xY, xM and xD for Stomate." ;; 44 esac 45 done 38 46 39 fi 40 ;; 41 1M|1m) 42 if [ X${orchidee_UserChoices_XIOS} = Xy ] ; then 43 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 enabled .TRUE. 44 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 output_freq 1mo 45 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 name stomate_history 46 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 enabled .TRUE. 47 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 output_freq 1mo 48 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 name stomate_ipcc_history 49 fi 50 case ${config_UserChoices_PeriodLength} in 51 *Y|*y) 52 STOMATE_WRITE_STEP=-1. 53 ;; 54 *M|*m) 55 STOMATE_WRITE_STEP=-1. 56 ;; 57 *) 58 (( STOMATE_WRITE_STEP = $( IGCM_date_DaysInMonth $year $month ) )) ;; 59 esac 60 ;; 61 *M|*m) 62 WriteInMonths=$( echo ${config_SBG_WriteFrequency} | awk -F '[mM]' '{print $1}' ) 63 if [ X${orchidee_UserChoices_XIOS} = Xy ] ; then 64 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 enabled .TRUE. 65 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 output_freq ${WriteInMonths}mo 66 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 name stomate_history 67 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 enabled .TRUE. 68 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 output_freq ${WriteInMonths}mo 69 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 name stomate_ipcc_history 70 fi 71 case ${config_UserChoices_PeriodLength} in 72 *Y|*y) 73 PeriodLengthInYears=$( echo ${config_UserChoices_PeriodLength} | awk -F '[yY]' '{print $1}' ) 74 (( STOMATE_WRITE_STEP = 30 )) 75 ;; 76 *M|*m) 77 PeriodLengthInMonths=$( echo ${config_UserChoices_PeriodLength} | awk -F '[mM]' '{print $1}' ) 78 (( STOMATE_WRITE_STEP = PeriodLengthInDays * WriteInMonths / PeriodLengthInMonths )) 79 ;; 80 *) 81 (( STOMATE_WRITE_STEP = $( IGCM_date_DaysInMonth $year $month ) )) 82 if [ X${orchidee_UserChoices_XIOS} = Xy ] ; then 83 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 enabled .TRUE. 84 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 output_freq ${STOMATE_WRITE_STEP}s 85 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 name stomate_history 86 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 enabled .TRUE. 87 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 output_freq ${STOMATE_WRITE_STEP}s 88 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 name stomate_ipcc_history 89 fi 90 ;; 91 esac 92 ;; 93 5D|5d) 94 (( STOMATE_WRITE_STEP = 5 )) 95 if [ X${orchidee_UserChoices_XIOS} = Xy ] ; then 96 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 enabled .TRUE. 97 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 output_freq 5d 98 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 name stomate_history 99 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 enabled .TRUE. 100 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 output_freq 5d 101 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 name stomate_ipcc_history 102 fi 103 ;; 104 1D|1d) 105 (( STOMATE_WRITE_STEP = 1 )) 106 if [ X${orchidee_UserChoices_XIOS} = Xy ] ; then 107 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 enabled .TRUE. 108 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 output_freq 1d 109 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 name stomate_history 110 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 enabled .TRUE. 111 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 output_freq 1d 112 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 name stomate_ipcc_history 113 fi 114 ;; 115 *s) 116 WriteInSeconds=$( echo ${config_SBG_WriteFrequency} | awk -F '[s]' '{print $1}' ) 117 if [ X${orchidee_UserChoices_XIOS} = Xy ] ; then 118 IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba1 enabled .TRUE. 119 IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba1 output_freq ${WriteInSeconds}s 120 IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba1 name sechiba_history 121 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 enabled .TRUE. 122 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 output_freq ${WriteInSeconds}s 123 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 name stomate_ipcc_history 124 fi 125 (( STOMATE_WRITE_STEP = 1 )) ;; 126 *) 127 IGCM_debug_Exit "SBG_Update " ${config_SBG_WriteFrequency} " invalid WriteFrequency : choose in 1Y, 1M, 5D, 1D." 128 IGCM_debug_Verif_Exit ;; 129 esac 47 # Modify file_def_orchidee.xml 48 IGCM_comp_modifyXmlFile nonblocker file_def_orchidee.xml stomate1 enabled ${stomate_enabled} 49 IGCM_comp_modifyXmlFile nonblocker file_def_orchidee.xml stomate1 output_freq ${stomate_freq} 50 IGCM_comp_modifyXmlFile nonblocker file_def_orchidee.xml stomate2 enabled ${stomate_enabled} 51 IGCM_comp_modifyXmlFile nonblocker file_def_orchidee.xml stomate2 output_freq ${stomate_freq} 52 130 53 131 132 #Use of XIOS library only 133 134 if [ X${orchidee_UserChoices_XIOS} = Xy ] ; then 135 (( STOMATE_WRITE_STEP = 0 )) 136 fi 137 138 IGCM_comp_modifyDefFile nonblocker orchidee.def STOMATE_HIST_DT ${STOMATE_WRITE_STEP} 139 IGCM_comp_modifyDefFile nonblocker orchidee.def STOMATE_HISTLEVEL ${stomate_UserChoices_stomate_LEVEL} 140 54 # Define in orchidee.def if restart file should be used 141 55 if ( [ ${CumulPeriod} -eq 1 ] && [ "${config_SBG_Restart}" = "n" ] ) ; then 142 143 56 echo "STOMATE : without restart" 57 IGCM_comp_modifyDefFile blocker orchidee.def STOMATE_RESTART_FILEIN NONE 144 58 else 145 59 IGCM_comp_modifyDefFile blocker orchidee.def STOMATE_RESTART_FILEIN stomate_rest_in.nc 146 60 fi 147 61 … … 152 66 function SBG_Finalize 153 67 { 154 #set -vx155 68 IGCM_debug_PushStack "SBG_Finalize" 156 157 if [ $( IGCM_date_DaysBetweenGregorianDate ${PeriodDateEnd} ${year}1230 ) -ge 0 ] ; then 158 IGCM_sys_Put_Out stomate_Cforcing.nc ${R_OUT_SBG_R}/${config_UserChoices_JobName}_${PeriodDateEnd}_stomate_Cforcing.nc 159 IGCM_sys_Put_Out stomate_forcing.nc ${R_OUT_SBG_R}/${config_UserChoices_JobName}_${PeriodDateEnd}_stomate_forcing.nc 160 # rm -f stomate_Cforcing.nc 161 # rm -f stomate_forcing.nc 162 fi 163 69 164 70 IGCM_debug_PopStack "SBG_Finalize" 165 71 }
Note: See TracChangeset
for help on using the changeset viewer.