- Timestamp:
- 03/23/18 15:32:55 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
CONFIG/UNIFORM/v6/IPSLCM6CHT/GENERAL/DRIVER/stomate.driver
r2456 r3688 1 1 #!/bin/ksh 2 2 3 #D- Driver du script pour ORCHIDEE3 #D- Driver for ORCHIDEE stomate component (SBG) 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" 19 20 typeset STOMATE_WRITE_STEP 21 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 38 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 130 131 132 #Use of XIOS library only 133 134 if [ X${orchidee_UserChoices_XIOS} = Xy ] ; then 135 (( STOMATE_WRITE_STEP = 0 )) 17 18 # Output management 19 # Modify file_def_orchidee.xml file using settings from stomate.card 20 # We here suppose that for each file, in stomate.card UserChoices section, if the parameter 21 # output_level_filename is set, then also output_freq_filename must be set. The existance of output_freq_filename will not be checked. 22 # If output_level_filename=NONE or if it is not set, the corresponding file will be deactivated. 23 24 if [ X${stomate_UserChoices_output_level_stomate_history} = X ] || [ X${stomate_UserChoices_output_level_stomate_history} = XNONE ] ; then 25 # output_level_stomate_history is not set in stomate.card or it is set to NONE. 26 # Deactivate the file. 27 IGCM_comp_modifyXmlFile nonblocker file_def_orchidee.xml stomate1 enabled .FALSE. 28 IGCM_comp_modifyXmlFile nonblocker file_def_orchidee.xml stomate1 output_level 0 29 IGCM_comp_modifyXmlFile nonblocker file_def_orchidee.xml stomate1 output_freq 1mo 30 else 31 IGCM_comp_modifyXmlFile nonblocker file_def_orchidee.xml stomate1 enabled .TRUE. 32 IGCM_comp_modifyXmlFile nonblocker file_def_orchidee.xml stomate1 output_level ${stomate_UserChoices_output_level_stomate_history} 33 IGCM_comp_modifyXmlFile nonblocker file_def_orchidee.xml stomate1 output_freq ${stomate_UserChoices_output_freq_stomate_history} 34 fi 35 36 if [ X${stomate_UserChoices_output_level_stomate_ipcc_history} = X ] || [ X${stomate_UserChoices_output_level_stomate_ipcc_history} = XNONE ] ; then 37 # output_level_stomate_ipcc_history is not set in stomate.card or it is set to NONE. 38 # Deactivate the file. 39 IGCM_comp_modifyXmlFile nonblocker file_def_orchidee.xml stomate2 enabled .FALSE. 40 IGCM_comp_modifyXmlFile nonblocker file_def_orchidee.xml stomate2 output_level 0 41 IGCM_comp_modifyXmlFile nonblocker file_def_orchidee.xml stomate2 output_freq 1mo 42 else 43 IGCM_comp_modifyXmlFile nonblocker file_def_orchidee.xml stomate2 enabled .TRUE. 44 IGCM_comp_modifyXmlFile nonblocker file_def_orchidee.xml stomate2 output_level ${stomate_UserChoices_output_level_stomate_ipcc_history} 45 IGCM_comp_modifyXmlFile nonblocker file_def_orchidee.xml stomate2 output_freq ${stomate_UserChoices_output_freq_stomate_ipcc_history} 136 46 fi 137 47 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} 48 140 49 50 # Define in orchidee.def if restart file should be used 141 51 if ( [ ${CumulPeriod} -eq 1 ] && [ "${config_SBG_Restart}" = "n" ] ) ; then 142 143 52 echo "STOMATE : without restart" 53 IGCM_comp_modifyDefFile blocker orchidee.def STOMATE_RESTART_FILEIN NONE 144 54 else 145 55 IGCM_comp_modifyDefFile blocker orchidee.def STOMATE_RESTART_FILEIN stomate_rest_in.nc 146 56 fi 147 57 … … 152 62 function SBG_Finalize 153 63 { 154 #set -vx155 64 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 65 164 66 IGCM_debug_PopStack "SBG_Finalize" 165 67 }
Note: See TracChangeset
for help on using the changeset viewer.