Changeset 263
- Timestamp:
- 2011-06-20T09:02:27+02:00 (13 years ago)
- Location:
- branches/ORCHIDEE_EXT/ORCHIDEE_OL
- Files:
-
- 32 added
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ORCHIDEE_EXT/ORCHIDEE_OL/FORCESOIL/COMP/stomate.card
r65 r263 15 15 (${R_BC}/SRF/${config_UserChoices_TagName}/reftemp.nc, .) 16 16 17 [SmoothFiles] 18 List= () 19 17 20 [ParametersFiles] 18 List= (${SUBMIT_DIR}/PARAM/orchidee.def, .) 21 List= (${SUBMIT_DIR}/PARAM/stomate.def, .) \ 22 (${SUBMIT_DIR}/PARAM/driver.def, .) \ 23 (${SUBMIT_DIR}/PARAM/run.def, .) 19 24 20 25 [RestartFiles] … … 23 28 24 29 [OutputText] 25 List= ( run.def, used_run.def, out_forcesoil)30 List= (stomate.def, driver.def, used_run.def, out_forcesoil) 26 31 27 32 [OutputFiles] -
branches/ORCHIDEE_EXT/ORCHIDEE_OL/FORCESOIL/COMP/stomate.driver
r65 r263 1 1 #!/bin/ksh 2 2 3 #D- Driver du script pour ORCHIDEE3 #D- Driver du script pour STOMATE FORCESOIL 4 4 5 function ORCHIDEE_sed5 function STOMATE_sed 6 6 { 7 IGCM_debug_PushStack " ORCHIDEE_sed"7 IGCM_debug_PushStack "STOMATE_sed" 8 8 9 9 sed -e "s/^${1}\ *=.*/${1}= ${2}/" \ 10 orchidee.def > orchidee.def.tmp10 stomate.def > stomate.def.tmp 11 11 RET=$? 12 echo " ORCHIDEE_sed : ${1} ${2}"13 \mv orchidee.def.tmp orchidee.def12 echo "STOMATE_sed : ${1} ${2}" 13 \mv stomate.def.tmp stomate.def 14 14 15 IGCM_debug_PopStack "ORCHIDEE_sed" 15 IGCM_debug_PopStack "STOMATE_sed" 16 return $RET 17 } 18 19 function DRIVER_sed 20 { 21 IGCM_debug_PushStack "DRIVER_sed" 22 23 sed -e "s/^${1}\ *=.*/${1}= ${2}/" \ 24 driver.def > driver.def.tmp 25 RET=$? 26 echo "DRIVER_sed : ${1} ${2}" 27 \mv driver.def.tmp driver.def 28 29 IGCM_debug_PopStack "DRIVER_sed" 16 30 return $RET 17 31 } … … 51 65 IGCM_debug_PushStack "SBG_Update" 52 66 53 typeset S ECHIBA_WRITE_STEP STOMATE_WRITE_STEP67 typeset STOMATE_WRITE_STEP 54 68 55 69 case ${config_SBG_WriteFrequency} in 56 70 *Y|*y) 57 WriteInYears=$( echo ${ 1} | awk -F '[yY]' "{print ${config_SBG_WriteFrequency}}")58 PeriodLengthInYears=$( echo ${ 1} | awk -F '[yY]' "{print ${config_UserChoices_PeriodLength}}")71 WriteInYears=$( echo ${config_SBG_WriteFrequency} | awk -F '[yY]' '{print $1}' ) 72 PeriodLengthInYears=$( echo ${config_UserChoices_PeriodLength} | awk -F '[yY]' '{print $1}' ) 59 73 (( STOMATE_WRITE_STEP = PeriodLengthInDays * WriteInYears / PeriodLengthInYears )) ;; 60 *M|*m) 61 WriteInMonths=$( echo ${1} | awk -F '[mM]' "{print ${config_SBG_WriteFrequency}}" ) 74 1M|1m) 62 75 case ${config_UserChoices_PeriodLength} in 63 76 *Y|*y) 64 PeriodLengthInYears=$( echo ${1} | awk -F '[yY]' "{print ${config_UserChoices_PeriodLength}}" ) 77 STOMATE_WRITE_STEP=-1. 78 ;; 79 *M|*m) 80 STOMATE_WRITE_STEP=-1. 81 ;; 82 *) 83 (( STOMATE_WRITE_STEP = $( IGCM_date_DaysInMonth $year $month ) )) ;; 84 esac 85 ;; 86 *M|*m) 87 WriteInMonths=$( echo ${config_SBG_WriteFrequency} | awk -F '[mM]' '{print $1}' ) 88 case ${config_UserChoices_PeriodLength} in 89 *Y|*y) 90 PeriodLengthInYears=$( echo ${config_UserChoices_PeriodLength} | awk -F '[yY]' '{print $1}' ) 65 91 (( STOMATE_WRITE_STEP = 30 )) ;; 66 92 *M|*m) 67 PeriodLengthInMonths=$( echo ${ 1} | awk -F '[mM]' "{print ${config_UserChoices_PeriodLength}}")93 PeriodLengthInMonths=$( echo ${config_UserChoices_PeriodLength} | awk -F '[mM]' '{print $1}' ) 68 94 (( STOMATE_WRITE_STEP = PeriodLengthInDays * WriteInMonths / PeriodLengthInMonths )) ;; 69 95 *) … … 76 102 (( STOMATE_WRITE_STEP = 1 )) ;; 77 103 *s) 78 WriteInSeconds=$( echo ${ 1} | awk -F '[s]' "{print ${config_SBG_WriteFrequency}}")104 WriteInSeconds=$( echo ${config_SBG_WriteFrequency} | awk -F '[s]' '{print $1}' ) 79 105 (( STOMATE_WRITE_STEP = 1 )) ;; 80 106 *) … … 83 109 esac 84 110 85 ORCHIDEE_sed STOMATE_HIST_DT ${STOMATE_WRITE_STEP} 86 ORCHIDEE_sed STOMATE_HISTLEVEL ${stomate_UserChoices_stomate_LEVEL} 111 STOMATE_sed STOMATE_OK_STOMATE y 112 STOMATE_sed STOMATE_OK_CO2 y 113 114 STOMATE_sed STOMATE_HIST_DT ${STOMATE_WRITE_STEP} 115 STOMATE_sed STOMATE_HISTLEVEL ${stomate_UserChoices_stomate_LEVEL} 87 116 if ( [ ${CumulPeriod} -eq 1 ] && [ "${config_SBG_Restart}" = "n" ] ) ; then 88 117 echo "Error in forcesoil !" … … 92 121 IGCM_debug_Verif_Exit 93 122 else 94 ORCHIDEE_sed STOMATE_RESTART_FILEIN stomate_rest_in.nc 95 ORCHIDEE_sed STOMATE_CFORCING_NAME stomate_Cforcing.nc 96 ORCHIDEE_sed STOMATE_HIST_DT ${STOMATE_WRITE_STEP} 97 ORCHIDEE_sed STOMATE_HISTLEVEL 6 123 STOMATE_sed STOMATE_RESTART_FILEIN stomate_rest_in.nc 124 STOMATE_sed STOMATE_CFORCING_NAME stomate_Cforcing.nc 98 125 fi 99 126 100 ORCHIDEE_sed TIME_LENGTH ${PeriodLengthInDays}D 101 # ORCHIDEE_sed TIME_SKIP ${OldSimulationLengthInDays}D 102 103 IGCM_sys_Mv orchidee.def run.def 104 # IGCM_sys_Put_Out run.def ${R_OUT_FOR}/${PREFIX}_run.def 105 # FileToBeDeleted[${#FileToBeDeleted[@]}]=run.def 127 DRIVER_sed TIME_LENGTH ${PeriodLengthInDays}D 128 # DRIVER_sed TIME_SKIP ${OldSimulationLengthInDays}D 106 129 107 130 IGCM_debug_PopStack "SBG_Update" -
branches/ORCHIDEE_EXT/ORCHIDEE_OL/FORCESOIL/config.card
r65 r263 13 13 #-- (<8 chars MAX for JobName) 14 14 JobName=ForceSo 15 LongName=" forcesoil"15 LongName="Please, explain here what is this simulation for" 16 16 TagName=OL2 17 17 #============================ … … 27 27 #============================ 28 28 #-- PBS Class (required on brodie mono/multi) 29 JobClass=mono 29 #JobClass=mono 30 JobClass=multi 30 31 #============================ 31 32 #-- Total Number of Processors (minimum is 2 for a coupled configuration) 32 JobNumProcTot=1 33 #JobNumProcTot=2 34 JobNumProcTot=4 33 35 #============================ 34 36 #-- Run Options : here for oasis coupling … … 42 44 [ListOfComponents] 43 45 #D- For each component, Name of component, Tag of component 44 SBG= (stomate, orchidee_1_9_5 )46 SBG= (stomate, orchidee_1_9_5_1) 45 47 46 48 #======================================================================== … … 61 63 RestartJobName=TESTFORCE 62 64 #D- Path Server Group Login (=> PSGL) 63 RestartPath=${ARCHIVE}/ ${LOGIN}/IGCM_OUT65 RestartPath=${ARCHIVE}/IGCM_OUT 64 66 # Attention login depend de la machine 65 67 … … 78 80 #D- the period of this average 79 81 SeasonalFrequency=NONE 82 #D- Offset for seasonal average first start dates ; same unit as SeasonalFrequency 83 #D- Usefull if you do not want to consider the first X simulation's years 84 SeasonalFrequencyOffset= 0 80 85 81 86 #======================================================================== -
branches/ORCHIDEE_EXT/ORCHIDEE_OL/OOL_SEC/COMP/orchidee_ol.card
r65 r263 17 17 18 18 [ParametersFiles] 19 List= () 19 List= (${SUBMIT_DIR}/PARAM/driver.def, .) \ 20 (${SUBMIT_DIR}/PARAM/run.def, .) 20 21 21 22 [RestartFiles] … … 27 28 28 29 [OutputText] 29 List= ( run.def, used_run.def, out_orchidee_ol)30 List= (used_driver.def, out_orchidee_ol) 30 31 # avec la // : out_orchidee_* 31 32 -
branches/ORCHIDEE_EXT/ORCHIDEE_OL/OOL_SEC/COMP/orchidee_ol.driver
r65 r263 2 2 3 3 #D- Driver du script pour ORCHIDEE_OL (off-line) 4 5 function DRIVER_sed 6 { 7 IGCM_debug_PushStack "DRIVER_sed" 8 9 sed -e "s/^${1}\ *=.*/${1}= ${2}/" \ 10 driver.def > driver.def.tmp 11 RET=$? 12 echo "DRIVER_sed : ${1} ${2}" 13 \mv driver.def.tmp driver.def 14 15 IGCM_debug_PopStack "DRIVER_sed" 16 return $RET 17 } 4 18 5 19 #----------------------------------------------------------------- … … 33 47 case ${config_UserChoices_PeriodLength} in 34 48 *Y|*y|*M|*m|*D|*d) 35 ORCHIDEE_sed TIME_LENGTH ${PeriodLengthInDays}D49 DRIVER_sed TIME_LENGTH ${PeriodLengthInDays}D 36 50 ;; 37 51 *s) 38 ORCHIDEE_sed TIME_LENGTH ${config_UserChoices_PeriodLength}52 DRIVER_sed TIME_LENGTH ${config_UserChoices_PeriodLength} 39 53 esac 40 54 41 55 if ( ${FirstInitialize} ) ; then 42 56 if ( [ "${config_OOL_Restart}" = "y" ] ) ; then 43 ORCHIDEE_sed RESTART_FILEIN driver_rest_in.nc57 DRIVER_sed RESTART_FILEIN driver_rest_in.nc 44 58 else 45 ORCHIDEE_sed TIME_SKIP $( IGCM_date_DaysBetweenGregorianDate ${DateBegin} ${year}0101 )D59 DRIVER_sed TIME_SKIP $( IGCM_date_DaysBetweenGregorianDate ${DateBegin} ${year}0101 )D 46 60 fi 47 61 else 48 62 if [ X${orchidee_ol_UserChoices_NORESTART} = Xn ] ; then 49 ORCHIDEE_sed RESTART_FILEIN driver_rest_in.nc63 DRIVER_sed RESTART_FILEIN driver_rest_in.nc 50 64 else 51 rm driver_rest_in.nc 52 ORCHIDEE_sed RESTART_FILEIN NONE 65 if [ ${DRYRUN} -le 2 ] ; then 66 IGCM_sys_Rm driver_rest_in.nc 67 fi 68 DRIVER_sed RESTART_FILEIN NONE 53 69 fi 54 70 fi 55 71 56 IGCM_sys_Mv orchidee.def run.def57 72 # IGCM_sys_Put_Out run.def ${R_OUT_OOL}/${PREFIX}_run.def 58 73 FileToBeDeleted[${#FileToBeDeleted[@]}]=run.def 74 FileToBeDeleted[${#FileToBeDeleted[@]}]=driver.def 59 75 60 76 IGCM_debug_PopStack "OOL_Update" -
branches/ORCHIDEE_EXT/ORCHIDEE_OL/OOL_SEC/config.card
r65 r263 13 13 #-- (<8 chars MAX for JobName) 14 14 JobName=SECHIBA 15 LongName= ORCHIDEE_OL_HEAD15 LongName="Please, explain here what is this simulation for" 16 16 TagName=OL2 17 17 #============================ … … 44 44 [ListOfComponents] 45 45 #D- For each component, Name of component, Tag of component 46 SRF= ( orchidee, orchidee_1_9_5)47 OOL= (orchidee_ol, OOL_1_9_5 )46 SRF= (sechiba, orchidee_1_9_5_1) 47 OOL= (orchidee_ol, OOL_1_9_5_1) 48 48 49 49 #======================================================================== … … 82 82 #D- the period of this average 83 83 SeasonalFrequency=10Y 84 #D- Offset for seasonal average first start dates ; same unit as SeasonalFrequency 85 #D- Usefull if you do not want to consider the first X simulation's years 86 SeasonalFrequencyOffset= 0 84 87 85 88 #======================================================================== -
branches/ORCHIDEE_EXT/ORCHIDEE_OL/OOL_SEC_STO/COMP/orchidee_ol.card
r65 r263 8 8 # If you want to use the same forcing file 9 9 NORESTART=n 10 # If you want use config.card PeriodLength for TIME_LENGTH 11 TIMELENGTH=y 10 12 11 13 [InitialStateFiles] … … 17 19 18 20 [ParametersFiles] 19 List= () 21 List= (${SUBMIT_DIR}/PARAM/driver.def, .) \ 22 (${SUBMIT_DIR}/PARAM/run.def, .) 20 23 21 24 [RestartFiles] … … 27 30 28 31 [OutputText] 29 List= ( run.def, used_run.def, out_orchidee_ol)32 List= (used_driver.def, out_orchidee_ol) 30 33 # avec la // : out_orchidee_* 31 34 -
branches/ORCHIDEE_EXT/ORCHIDEE_OL/OOL_SEC_STO/COMP/orchidee_ol.driver
r65 r263 2 2 3 3 #D- Driver du script pour ORCHIDEE_OL (off-line) 4 5 function DRIVER_sed 6 { 7 IGCM_debug_PushStack "DRIVER_sed" 8 9 sed -e "s/^${1}\ *=.*/${1}= ${2}/" \ 10 driver.def > driver.def.tmp 11 RET=$? 12 echo "DRIVER_sed : ${1} ${2}" 13 \mv driver.def.tmp driver.def 14 15 IGCM_debug_PopStack "DRIVER_sed" 16 return $RET 17 } 4 18 5 19 #----------------------------------------------------------------- … … 31 45 IGCM_debug_PushStack "OOL_Update" 32 46 33 case ${config_UserChoices_PeriodLength} in 34 *Y|*y|*M|*m|*D|*d) 35 ORCHIDEE_sed TIME_LENGTH ${PeriodLengthInDays}D 36 ;; 37 *s) 38 ORCHIDEE_sed TIME_LENGTH ${config_UserChoices_PeriodLength} 39 esac 47 if [ X"${orchidee_ol_UserChoices_TIMELENGTH}" = Xy ] ; then 48 case ${config_UserChoices_PeriodLength} in 49 *Y|*y|*M|*m|*D|*d) 50 DRIVER_sed TIME_LENGTH ${PeriodLengthInDays}D 51 ;; 52 *s) 53 DRIVER_sed TIME_LENGTH ${config_UserChoices_PeriodLength} 54 esac 55 fi 40 56 41 57 if ( ${FirstInitialize} ) ; then 42 58 if ( [ "${config_OOL_Restart}" = "y" ] ) ; then 43 ORCHIDEE_sed RESTART_FILEIN driver_rest_in.nc59 DRIVER_sed RESTART_FILEIN driver_rest_in.nc 44 60 else 45 ORCHIDEE_sed TIME_SKIP $( IGCM_date_DaysBetweenGregorianDate ${DateBegin} ${year}0101 )D61 DRIVER_sed TIME_SKIP $( IGCM_date_DaysBetweenGregorianDate ${DateBegin} ${year}0101 )D 46 62 fi 47 63 else 48 64 if [ X${orchidee_ol_UserChoices_NORESTART} = Xn ] ; then 49 ORCHIDEE_sed RESTART_FILEIN driver_rest_in.nc65 DRIVER_sed RESTART_FILEIN driver_rest_in.nc 50 66 else 51 rm driver_rest_in.nc 52 ORCHIDEE_sed RESTART_FILEIN NONE 67 if [ ${DRYRUN} -le 2 ] ; then 68 IGCM_sys_Rm driver_rest_in.nc 69 fi 70 DRIVER_sed RESTART_FILEIN NONE 53 71 fi 54 72 fi 55 73 56 IGCM_sys_Mv orchidee.def run.def57 74 # IGCM_sys_Put_Out run.def ${R_OUT_OOL}/${PREFIX}_run.def 58 75 FileToBeDeleted[${#FileToBeDeleted[@]}]=run.def 76 FileToBeDeleted[${#FileToBeDeleted[@]}]=driver.def 59 77 60 78 IGCM_debug_PopStack "OOL_Update" -
branches/ORCHIDEE_EXT/ORCHIDEE_OL/OOL_SEC_STO/COMP/stomate.card
r65 r263 16 16 17 17 [ParametersFiles] 18 List= ( )18 List= (${SUBMIT_DIR}/PARAM/stomate.def, .) 19 19 20 20 [RestartFiles] … … 27 27 28 28 [OutputText] 29 List= ( )29 List= (used_stomate.def) 30 30 31 31 [OutputFiles] … … 36 36 Patches= () 37 37 GatherWithInternal= (lon, lat, PFT, time_counter, Areas) 38 TimeSeriesVars2D= (T2M_MONTH,CONTFRAC,RESOLUTION_X,RESOLUTION_Y,CONVFLUX,CFLUX_PROD10,CFLUX_PROD100, HARVEST_ABOVE)38 TimeSeriesVars2D= (T2M_MONTH,CONTFRAC,RESOLUTION_X,RESOLUTION_Y,CONVFLUX,CFLUX_PROD10,CFLUX_PROD100,CO2FLUX_MONTHLY_SUM,HARVEST_ABOVE) 39 39 ChunckJob2D = NONE 40 TimeSeriesVars3D = (CO2FLUX _MONTHLY,LAI,VEGET,VEGET_MAX,NPP,GPP,HET_RESP,MAINT_RESP,GROWTH_RESP,AGE,HEIGHT,TOTAL_M,TOTAL_BM_LITTER,TOTAL_SOIL_CARB)40 TimeSeriesVars3D = (CO2FLUX,LAI,VEGET,VEGET_MAX,NPP,GPP,HET_RESP,MAINT_RESP,GROWTH_RESP,AGE,HEIGHT,TOTAL_M,TOTAL_BM_LITTER,TOTAL_SOIL_CARB) 41 41 ChunckJob3D = NONE 42 42 Seasonal=ON -
branches/ORCHIDEE_EXT/ORCHIDEE_OL/OOL_SEC_STO/COMP/stomate.driver
r65 r263 1 1 #!/bin/ksh 2 2 3 #D- Driver du script pour ORCHIDEE 3 #D- Driver du script pour STOMATE 4 5 function STOMATE_sed 6 { 7 IGCM_debug_PushStack "STOMATE_sed" 8 9 sed -e "s/^${1}\ *=.*/${1}= ${2}/" \ 10 stomate.def > stomate.def.tmp 11 RET=$? 12 echo "STOMATE_sed : ${1} ${2}" 13 \mv stomate.def.tmp stomate.def 14 15 IGCM_debug_PopStack "STOMATE_sed" 16 return $RET 17 } 4 18 5 19 #----------------------------------------------------------------- … … 9 23 10 24 RESOL_SBG=ALL 25 26 typeset frequency 27 for frequency in ${config_SBG_WriteFrequency} ; do 28 case ${frequency} in 29 HF|hf) SBG_ok_hf=y ;; 30 esac 31 done 11 32 12 33 IGCM_debug_PopStack "SBG_Initialize" … … 62 83 esac 63 84 64 ORCHIDEE_sed STOMATE_OK_STOMATE y 65 ORCHIDEE_sed STOMATE_OK_CO2 y 85 STOMATE_sed STOMATE_OK_STOMATE y 66 86 67 ORCHIDEE_sed STOMATE_HIST_DT ${STOMATE_WRITE_STEP}68 ORCHIDEE_sed STOMATE_HISTLEVEL ${stomate_UserChoices_stomate_LEVEL}87 STOMATE_sed STOMATE_HIST_DT ${STOMATE_WRITE_STEP} 88 STOMATE_sed STOMATE_HISTLEVEL ${stomate_UserChoices_stomate_LEVEL} 69 89 if ( [ ${CumulPeriod} -eq 1 ] && [ "${config_SBG_Restart}" = "n" ] ) ; then 70 90 echo "STOMATE : without restart" 71 91 else 72 ORCHIDEE_sed STOMATE_RESTART_FILEIN stomate_rest_in.nc 92 STOMATE_sed STOMATE_RESTART_FILEIN stomate_rest_in.nc 93 fi 94 95 if [ X${SBG_ok_hf} = Xy ] ; then 96 STOMATE_sed STOMATE_IPCC_HIST_DT 1D 97 else 98 STOMATE_sed STOMATE_IPCC_HIST_DT ${STOMATE_WRITE_STEP} 73 99 fi 74 100 -
branches/ORCHIDEE_EXT/ORCHIDEE_OL/OOL_SEC_STO/POST/monitoring01_stomate.cfg
r65 r263 2 2 # Author: Patrick Brockmann 3 3 # Contact: Patrick.Brockmann@cea.fr 4 # $Date: 201 0/05/17 16:19:33$5 # $Name : OOL_1_9_5$6 # $Revision: 1.3 $4 # $Date: 2011-01-01 22:28:25 +0100 (Sat, 01 Jan 2011) $ 5 # $Name$ 6 # $Revision: 53 $ 7 7 # History: 8 8 # Modification: … … 46 46 BIOMASS_lands | "TOTAL_M VEGET_MAX CONTFRAC" | "" | "(TOTAL_M[d=1]*VEGET_MAX[d=2]*AREAS[d=1]*CONTFRAC[d=3]/1e15)" | "Total Biomass (LANDS)" | "PgC" | "2" 47 47 LITTER_lands | "TOTAL_BM_LITTER VEGET_MAX CONTFRAC" | "" | "(TOTAL_BM_LITTER[d=1]*365*VEGET_MAX[d=2]*AREAS[d=1]*CONTFRAC[d=3]/1e15)" | "Total Litter (LANDS)" | "PgC/yr" | "2" 48 CO2FLUX_lands | "CO2FLUX_MONTHLY VEGET_MAX CONTFRAC" | "" | "(CO2FLUX_MONTHLY[d=1]*12*VEGET_MAX[d=2]*AREAS[d=1]*CONTFRAC[d=3]/1e15)" | "NEE (LANDS)" | "PgC/yr" | "2" 48 CO2FLUX_lands | "CO2FLUX VEGET_MAX CONTFRAC" | "" | "(CO2FLUX[d=1]*12*VEGET_MAX[d=2]*AREAS[d=1]*CONTFRAC[d=3]/1e15)" | "NEE (LANDS)" | "PgC/yr" | "2" 49 CO2FLUX_MONTHLY_SUM_lands | "CO2FLUX_MONTHLY_SUM VEGET_MAX CONTFRAC" | "" | "(CO2FLUX_MONTHLY_SUM[d=1]*12)" | "NEE Sum (LANDS)" | "PgC/yr" | "Areas[d=1]" 49 50 NPP_lands | "NPP VEGET_MAX CONTFRAC" | "" | "(NPP[d=1]*365*VEGET_MAX[d=2]*AREAS[d=1]*CONTFRAC[d=3]/1e15)" | "Net Primary Produc (LANDS)" | "PgC/yr" | "2" 50 51 GPP_lands | "GPP VEGET_MAX CONTFRAC" | "" | "(GPP[d=1]*365*VEGET_MAX[d=2]*AREAS[d=1]*CONTFRAC[d=3]/1e15)" | "Gross Primary Produc (LANDS)" | "PgC/yr" | "2" … … 52 53 MAINT_RESP_lands | "MAINT_RESP VEGET_MAX CONTFRAC" | "" | "(MAINT_RESP[d=1]*365*VEGET_MAX[d=2]*AREAS[d=1]*CONTFRAC[d=3]/1e15)" | "Maintenance Resp. (LANDS)" | "PgC/yr" | "2" 53 54 GROWTH_RESP_lands | "GROWTH_RESP VEGET_MAX CONTFRAC" | "" | "(GROWTH_RESP[d=1]*365*VEGET_MAX[d=2]*AREAS[d=1]*CONTFRAC[d=3]/1e15)" | "Growth Resp. (LANDS)" | "PgC/yr" | "2" 55 cVeg_lands | "cVeg" | "" | "(cVeg[d=1])" | "Carbon in Vegetation" | "kg C m-2" | "Areas[d=1]" 56 cLitter_lands | "cLitter" | "" | "(cLitter[d=1])" | "Carbon in Litter Pool" | "kg C m-2" | "Areas[d=1]" 57 cSoil_lands | "cSoil" | "" | "(cSoil[d=1])" | "Carbon in Soil Pool" | "kg C m-2" | "Areas[d=1]" 58 cProduct_lands | "cProduct" | "" | "(cProduct[d=1])" | "Carbon in Products of Land Use Change" | "kg C m-2" | "Areas[d=1]" 59 lai_lands | "lai" | "" | "(lai[d=1])" | "Leaf Area Fraction" | "1" | "Areas[d=1]" 60 gpp_lands | "gpp" | "" | "(gpp[d=1])" | "Gross Primary Production" | "kg C m-2 s-1" | "Areas[d=1]" 61 ra_lands | "ra" | "" | "(ra[d=1])" | "Autotrophic Respiration" | "kg C m-2 s-1" | "Areas[d=1]" 62 npp_lands | "npp" | "" | "(npp[d=1])" | "Net Primary Production" | "kg C m-2 s-1" | "Areas[d=1]" 63 rh_lands | "rh" | "" | "(rh[d=1])" | "Heterotrophic Respiration" | "kg C m-2 s-1" | "Areas[d=1]" 64 fFire_lands | "fFire" | "" | "(fFire[d=1])" | "CO2 Emission from Fire" | "kg C m-2 s-1" | "Areas[d=1]" 65 fHarvest_lands | "fHarvest" | "" | "(fHarvest[d=1])" | "CO2 Flux to Atmosphere from Crop Harvesting" | "kg C m-2 s-1" | "Areas[d=1]" 66 fLuc_lands | "fLuc" | "" | "(fLuc[d=1])" | "CO2 Flux to Atmosphere from Land Use Change" | "kg C m-2 s-1" | "Areas[d=1]" 67 nbp_lands | "nbp" | "" | "(nbp[d=1])" | "Net Biospheric Production" | "kg C m-2 s-1" | "Areas[d=1]" 68 fVegLitter_lands | "fVegLitter" | "" | "(fVegLitter[d=1])" | "Total Carbon Flux from Vegetation to Litter" | "kg C m-2 s-1" | "Areas[d=1]" 69 fLitterSoil_lands | "fLitterSoil" | "" | "(fLitterSoil[d=1])" | "Total Carbon Flux from Litter to Soil" | "kg C m-2 s-1" | "Areas[d=1]" 70 cLeaf_lands | "cLeaf" | "" | "(cLeaf[d=1])" | "Carbon in Leaves" | "kg C m-2" | "Areas[d=1]" 71 cWood_lands | "cWood" | "" | "(cWood[d=1])" | "Carbon in Wood" | "kg C m-2" | "Areas[d=1]" 72 cRoot_lands | "cRoot" | "" | "(cRoot[d=1])" | "Carbon in Roots" | "kg C m-2" | "Areas[d=1]" 73 cMisc_lands | "cMisc" | "" | "(cMisc[d=1])" | "Carbon in Other Living Compartments" | "kg C m-2" | "Areas[d=1]" 74 cLitterAbove_lands | "cLitterAbove" | "" | "(cLitterAbove[d=1])" | "Carbon in Above-Ground Litter" | "kg C m-2" | "Areas[d=1]" 75 cLitterBelow_lands | "cLitterBelow" | "" | "(cLitterBelow[d=1])" | "Carbon in Below-Ground Litter" | "kg C m-2" | "Areas[d=1]" 76 cSoilFast_lands | "cSoilFast" | "" | "(cSoilFast[d=1])" | "Carbon in Fast Soil Pool" | "kg C m-2" | "Areas[d=1]" 77 cSoilMedium_lands | "cSoilMedium" | "" | "(cSoilMedium[d=1])" | "Carbon in Medium Soil Pool" | "kg C m-2" | "Areas[d=1]" 78 cSoilSlow_lands | "cSoilSlow" | "" | "(cSoilSlow[d=1])" | "Carbon in Slow Soil Pool" | "kg C m-2" | "Areas[d=1]" 79 treeFracPrimDec_lands | "treeFracPrimDec" | "" | "(treeFracPrimDec[d=1])" | "Total Primary Deciduous Tree Cover Fraction" | "%" | "Areas[d=1]" 80 treeFracPrimEver_lands | "treeFracPrimEver" | "" | "(treeFracPrimEver[d=1])"| "Total Primary Evergreen Tree Cover Fraction" | "%" | "Areas[d=1]" 81 c3PftFrac_lands | "c3PftFrac" | "" | "(c3PftFrac[d=1])" | "Total C3 PFT Cover Fraction" | "%" | "Areas[d=1]" 82 c4PftFrac_lands | "c4PftFrac" | "" | "(c4PftFrac[d=1])" | "Total C4 PFT Cover Fraction" | "%" | "Areas[d=1]" 83 rGrowth_lands | "rGrowth" | "" | "(rGrowth[d=1])" | "Growth Autotrophic Respiration" | "kg C m-2 s-1" | "Areas[d=1]" 84 rMaint_lands | "rMaint" | "" | "(rMaint[d=1])" | "Maintenance Autotrophic Respiration" | "kg C m-2 s-1" | "Areas[d=1]" 85 nppLeaf_lands | "nppLeaf" | "" | "(nppLeaf[d=1])" | "CO2 Flux from Atmosphere due to NPP Allocation to Leaf" | "kg C m-2 s-1" | "Areas[d=1]" 86 nppWood_lands | "nppWood" | "" | "(nppWood[d=1])" | "CO2 Flux from Atmosphere due to NPP Allocation to Wood" | "kg C m-2 s-1" | "Areas[d=1]" 87 nppRoot_lands | "nppRoot" | "" | "(nppRoot[d=1])" | "CO2 Flux from Atmosphere due to NPP Allocation to Root" | "kg C m-2 s-1" | "Areas[d=1]" 88 nep_lands | "nep" | "" | "(nep[d=1])" | "Net Carbon Mass Flux out of Atmophere due to Net Ecosystem Productivity." | "kg C m-2 s-1" | "Areas[d=1]" 54 89 #------------------------------------------------------------------------------------------------------------------------------------------------------ -
branches/ORCHIDEE_EXT/ORCHIDEE_OL/OOL_SEC_STO/config.card
r65 r263 13 13 #-- (<8 chars MAX for JobName) 14 14 JobName=SECHSTOM 15 LongName= ORCHIDEE_OL_HEAD15 LongName="Please, explain here what is this simulation for" 16 16 TagName=OL2 17 17 #============================ … … 44 44 [ListOfComponents] 45 45 #D- For each component, Name of component, Tag of component 46 SRF= ( orchidee, orchidee_1_9_5)47 SBG= (stomate, orchidee_1_9_5 )48 OOL= (orchidee_ol, OOL_1_9_5 )46 SRF= (sechiba, orchidee_1_9_5_1) 47 SBG= (stomate, orchidee_1_9_5_1) 48 OOL= (orchidee_ol, OOL_1_9_5_1) 49 49 50 50 #======================================================================== … … 84 84 #D- the period of this average 85 85 SeasonalFrequency=10Y 86 #D- Offset for seasonal average first start dates ; same unit as SeasonalFrequency 87 #D- Usefull if you do not want to consider the first X simulation's years 88 SeasonalFrequencyOffset= 0 86 89 87 90 #======================================================================== -
branches/ORCHIDEE_EXT/ORCHIDEE_OL/SPINUP/COMP/spinup.card
r65 r263 16 16 # If you want to use the same forcing file 17 17 DRIVER_NORESTART=n 18 # If you want use config.card PeriodLength for TIME_LENGTH 19 DRIVER_TIMELENGTH=y 18 20 19 21 # … … 31 33 # 32 34 lai_map=n 35 36 # 37 ###-- fix végétation flag 38 # 39 impose_veg=n 40 41 # 42 ###-- historical vegetation maps 43 # 44 land_use=n 33 45 34 46 # … … 51 63 # ---------------------- 52 64 # Initialisation for spin-up : 53 # orchidee with sechiba alone (!!!if ok_stomate == n !!!)65 # sechiba alone (!!! only if ok_stomate == n !!!) 54 66 duree_nostomate=1 55 # orchidee withstomate67 # sechiba and stomate 56 68 duree_inistomate=0 57 69 # teststomate (only if duree_nostomate or duree_inistomate > 0) … … 89 101 90 102 [SubJobParams] 91 # You can specify here any parameters to be modified in run.def for SpinUp Subjobs. 92 DEBUG_INFO=n 93 LONGPRINT=n 103 # You can specify here any parameters to be modified in sechiba.def, stomate.def or driver.def for SpinUp Subjobs. 104 # NEW : due to split of orchidee.def in component specific parameter files, 105 # you must add here a prefix for the specific parameter file. 106 driver_DEBUG_INFO=n 107 sechiba_LONGPRINT=n 94 108 95 109 [SubJobPost] … … 97 111 ##-- TimeSeries 98 112 # 99 sechiba_TimeSeriesVars2D=(nobiofrac, alb_nir, alb_vis, bqsb, evap, fluxlat, fluxsens, gqsb, netrad, qair, rain, runoff, snow, snownobio, snowf, subli, tair, temp_sol, tsol_max, tsol_min, drainage )100 sechiba_TimeSeriesVars3D=(lai, maxvegetfrac, vegetfrac, CO2FLUX )113 sechiba_TimeSeriesVars2D=(nobiofrac, alb_nir, alb_vis, bqsb, evap, fluxlat, fluxsens, gqsb, netrad, qair, rain, runoff, snow, snownobio, snowf, subli, tair, temp_sol, tsol_max, tsol_min, drainage,mrsos, mrso, mrros, mrro, prveg, evspsblveg, evspsblsoi, tran, treeFrac, grassFrac, cropFrac, baresoilFrac, residualFrac) 114 sechiba_TimeSeriesVars3D=(lai, maxvegetfrac, vegetfrac, CO2FLUX, ptn, nee) 101 115 # ALMAOUTPUT 102 116 #sechiba_TimeSeriesVars2D = (vegetfrac, maxvegetfrac, nobiofrac, SWnet, LWnet, Qh, Qle, Qg, Qf, DelSurfHeat, DelColdCont, Snowf, Rainf, Evap, \ … … 104 118 # ECanop, TVeg, ESoil, RootMoist, SubSnow, ACond, SnowFrac, SAlbedo, SnowDepth, dis, GPP) 105 119 stomate_TimeSeriesVars2D=(T2M_MONTH, CONTFRAC, RESOLUTION_X, RESOLUTION_Y, CONVFLUX, CFLUX_PROD10, CFLUX_PROD100,HARVEST_ABOVE) 106 stomate_TimeSeriesVars3D=(CO2FLUX_MONTHLY, LAI, VEGET, VEGET_MAX, NPP, GPP, HET_RESP, MAINT_RESP, GROWTH_RESP, AGE, HEIGHT, TOTAL_SOIL_CARB, TOTAL_M, TOTAL_BM_LITTER)120 stomate_TimeSeriesVars3D=(CO2FLUX_MONTHLY,LAI,VEGET,VEGET_MAX,NPP,GPP,HET_RESP,MAINT_RESP,GROWTH_RESP,AGE,HEIGHT,TOTAL_M,TOTAL_BM_LITTER,TOTAL_SOIL_CARB) 107 121 108 122 # !!! DO NOT MODIFY spinup.card AFTER THIS LINE !!! -
branches/ORCHIDEE_EXT/ORCHIDEE_OL/SPINUP/COMP/spinup.driver
r65 r263 3 3 #D- Driver du script pour SPINUP (off-line) 4 4 5 function ORCHIDEE_sed5 function SECHIBA_sed 6 6 { 7 IGCM_debug_PushStack " ORCHIDEE_sed"7 IGCM_debug_PushStack "SECHIBA_sed" 8 8 9 if [ -f ${New_SUBMIT_DIR}/PARAM/sechiba.def ] ; then 9 10 sed -e "s/^${1}\ *=.*/${1}= ${2}/" \ 10 ${New_SUBMIT_DIR}/PARAM/orchidee.def > ${New_SUBMIT_DIR}/PARAM/orchidee.def.tmp11 ${New_SUBMIT_DIR}/PARAM/sechiba.def > ${New_SUBMIT_DIR}/PARAM/sechiba.def.tmp 11 12 RET=$? 12 echo "ORCHIDEE_sed : ${1} ${2}" 13 \mv ${New_SUBMIT_DIR}/PARAM/orchidee.def.tmp ${New_SUBMIT_DIR}/PARAM/orchidee.def 14 15 IGCM_debug_PopStack "ORCHIDEE_sed" 13 echo "SECHIBA_sed : ${1} ${2}" 14 \mv ${New_SUBMIT_DIR}/PARAM/sechiba.def.tmp ${New_SUBMIT_DIR}/PARAM/sechiba.def 15 fi 16 17 IGCM_debug_PopStack "SECHIBA_sed" 18 return $RET 19 } 20 21 function STOMATE_sed 22 { 23 IGCM_debug_PushStack "STOMATE_sed" 24 25 if [ -f ${New_SUBMIT_DIR}/PARAM/stomate.def ] ; then 26 sed -e "s/^${1}\ *=.*/${1}= ${2}/" \ 27 ${New_SUBMIT_DIR}/PARAM/stomate.def > ${New_SUBMIT_DIR}/PARAM/stomate.def.tmp 28 RET=$? 29 echo "STOMATE_sed : ${1} ${2}" 30 \mv ${New_SUBMIT_DIR}/PARAM/stomate.def.tmp ${New_SUBMIT_DIR}/PARAM/stomate.def 31 fi 32 33 IGCM_debug_PopStack "STOMATE_sed" 34 return $RET 35 } 36 37 function DRIVER_sed 38 { 39 IGCM_debug_PushStack "DRIVER_sed" 40 41 if [ -f ${New_SUBMIT_DIR}/PARAM/driver.def ] ; then 42 sed -e "s/^${1}\ *=.*/${1}= ${2}/" \ 43 ${New_SUBMIT_DIR}/PARAM/driver.def > ${New_SUBMIT_DIR}/PARAM/driver.def.tmp 44 RET=$? 45 echo "DRIVER_sed : ${1} ${2}" 46 \mv ${New_SUBMIT_DIR}/PARAM/driver.def.tmp ${New_SUBMIT_DIR}/PARAM/driver.def 47 fi 48 49 IGCM_debug_PopStack "DRIVER_sed" 16 50 return $RET 17 51 } … … 30 64 if [ ! -f ${SUBMIT_DIR}/output.card ] ; then 31 65 IGCM_sys_Cp ${SUBMIT_DIR}/output.card_init ${SUBMIT_DIR}/output.card 32 IGCM_card_WriteOption ${SUBMIT_DIR}/output.card Global Path "${SUBMIT_DIR}"33 66 iter=0 34 67 else … … 40 73 StageName=${output_Stage_StageName} 41 74 fi 75 IGCM_card_WriteOption ${SUBMIT_DIR}/output.card Global Path "${SUBMIT_DIR}" 42 76 43 77 # Compute DateEnd for ALL SPINUP … … 81 115 82 116 # 1) SRF section of config.card 83 # This section gives first restart file path , WriteFrequency and Post-treatment behaviour.117 # This section gives first restart file path and WriteFrequency. 84 118 IGCM_card_DefineArrayFromSection ${SUBMIT_DIR}/config.card SRF 85 119 set +A config_SRF -- ${config_SRF[*]} > /dev/null 2>&1 … … 99 133 100 134 101 # 2) Subjob orchidee.def parametrisation : SubJobParams in spinup.card102 # This section give flags to put in orchidee.def of Subjobs.135 # 2) Subjob parametrization : SubJobParams in spinup.card 136 # This section give flags to put in sechiba.def, stomate.def or driver.def of Subjobs. 103 137 IGCM_card_DefineArrayFromSection ${SUBMIT_DIR}/COMP/spinup.card SubJobParams 104 138 set +A spinup_SubJobParams -- ${spinup_SubJobParams[*]} > /dev/null 2>&1 … … 112 146 fi 113 147 114 # Get the forcing file name (structure with variables inside) for this Spinup 148 # 3) Post-treatment 149 IGCM_card_DefineArrayFromSection ${SUBMIT_DIR}/config.card SubJobPost 150 typeset option 151 for option in ${config_SubJobPost[*]} ; do 152 IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/config.card SubJobPost ${option} 153 done 154 155 # 4) Get the forcing file name (structure with variables inside) for this Spinup 115 156 IGCM_card_DefineArrayFromOption ${SUBMIT_DIR}/COMP/spinup.card SubJobForcingFile List 116 157 IGCM_card_DefineArrayFromOption ${SUBMIT_DIR}/COMP/spinup.card SubJobForcingFile ListNonDel … … 168 209 chmod u+x ${New_SUBMIT_DIR}/Job_${SubJobName} 169 210 170 IGCM_sys_Cp ${SUBMIT_DIR}/PARAM/orchidee.def ${New_SUBMIT_DIR}/PARAM/orchidee.def 211 IGCM_sys_Cp ${SUBMIT_DIR}/PARAM/sechiba.def ${New_SUBMIT_DIR}/PARAM/sechiba.def 212 IGCM_sys_Cp ${SUBMIT_DIR}/PARAM/stomate.def ${New_SUBMIT_DIR}/PARAM/stomate.def 213 IGCM_sys_Cp ${SUBMIT_DIR}/PARAM/driver.def ${New_SUBMIT_DIR}/PARAM/driver.def 171 214 172 215 eval first_option=${spinup_SubJobParams[0]} > /dev/null 2>&1 173 216 if [ X${first_option} != X"Error:" ] ; then 174 typeset option 217 typeset option PARAM_FILE 175 218 for option in ${spinup_SubJobParams[*]} ; do 176 eval echo "${option}="\${spinup_SubJobParams_${option}} 177 eval ORCHIDEE_sed ${option} \${spinup_SubJobParams_${option}} 219 PARAM_FILE=$( echo ${option} | awk -F_ '{print $1}' ) 220 echo "For parameter file ${PARAM_FILE}.def" 221 option_=$( echo ${option} | sed -e "s/${PARAM_FILE}_//" ) 222 eval echo "${option_}="\${spinup_SubJobParams_${option}} 223 case ${PARAM_FILE} in 224 sechiba) 225 eval SECHIBA_sed ${option_} \${spinup_SubJobParams_${option}} 226 ;; 227 stomate) 228 eval STOMATE_sed ${option_} \${spinup_SubJobParams_${option}} 229 ;; 230 driver) 231 eval DRIVER_sed ${option_} \${spinup_SubJobParams_${option}} 232 ;; 233 esac 178 234 done 179 235 fi … … 189 245 IGCM_card_WriteOption ${New_SUBMIT_DIR}/config.card OOL Restart n 190 246 191 IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/config.card SRF TimeSeriesFrequency 192 IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/config.card SRF SeasonalFrequency 193 IGCM_card_WriteOption ${New_SUBMIT_DIR}/config.card Post TimeSeriesFrequency ${config_SRF_TimeSeriesFrequency} 194 IGCM_card_WriteOption ${New_SUBMIT_DIR}/config.card Post SeasonalFrequency ${config_SRF_SeasonalFrequency} 247 typeset option 248 for option in ${config_SubJobPost[*]} ; do 249 eval value=\${config_SubJobPost_${option}} 250 eval echo ${option} ${value} 251 if [ X${value} != X ] ; then 252 eval IGCM_card_WriteOption ${New_SUBMIT_DIR}/config.card Post ${option} \${config_SubJobPost_${option}} 253 fi 254 done 195 255 196 256 # For Subjob special flags 197 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/orchidee.card UserChoices ROUTING ${spinup_UserChoices_ok_routing} 198 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/orchidee.card UserChoices NEWHYDROL ${spinup_UserChoices_ok_newhydrol} 199 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/orchidee.card UserChoices LAIMAP ${spinup_UserChoices_lai_map} 200 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/orchidee.card UserChoices OKCO2 ${spinup_UserChoices_ok_co2} 257 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/sechiba.card UserChoices ROUTING ${spinup_UserChoices_ok_routing} 258 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/sechiba.card UserChoices NEWHYDROL ${spinup_UserChoices_ok_newhydrol} 259 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/sechiba.card UserChoices LAIMAP ${spinup_UserChoices_lai_map} 260 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/sechiba.card UserChoices IMPOSE_VEG ${spinup_UserChoices_impose_veg} 261 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/sechiba.card UserChoices LAND_USE ${spinup_UserChoices_land_use} 262 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/sechiba.card UserChoices OKCO2 ${spinup_UserChoices_ok_co2} 201 263 202 264 if [ X${spinup_UserChoices_BoundaryFilesListNonDel} = Xy ] ; then 203 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/ orchidee.card BoundaryFiles ListNonDel "()"265 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/sechiba.card BoundaryFiles ListNonDel "()" 204 266 fi 205 267 206 268 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/orchidee_ol.card UserChoices NORESTART ${spinup_UserChoices_DRIVER_NORESTART} 269 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/orchidee_ol.card UserChoices TIMELENGTH ${spinup_UserChoices_DRIVER_TIMELENGTH} 207 270 208 271 spinup_SubJobForcingFile_List0=${spinup_SubJobForcingFile_List[0]} > /dev/null 2>&1 … … 228 291 IGCM_debug_PushStack "SPIN_OptionsSechiba" 229 292 230 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/ orchidee.card UserChoices sechiba_LEVEL ${spinup_UserChoices_sechiba_LEVEL}293 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/sechiba.card UserChoices sechiba_LEVEL ${spinup_UserChoices_sechiba_LEVEL} 231 294 spinup_SubJobPost_sechiba_TimeSeriesVars0=${spinup_SubJobPost_sechiba_TimeSeriesVars2D[0]} > /dev/null 2>&1 232 295 if [ X${spinup_SubJobPost_sechiba_TimeSeriesVars0} != X${NULL_STR} ] ; then 233 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/ orchidee.card Post_1M_sechiba_history TimeSeriesVars2D "("$( echo ${spinup_SubJobPost_sechiba_TimeSeriesVars[@]} | sed -e "s/ /,/g" )")"234 else 235 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/ orchidee.card Post_1M_sechiba_history TimeSeriesVars2D "()"296 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/sechiba.card Post_1M_sechiba_history TimeSeriesVars2D "("$( echo ${spinup_SubJobPost_sechiba_TimeSeriesVars[@]} | sed -e "s/ /,/g" )")" 297 else 298 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/sechiba.card Post_1M_sechiba_history TimeSeriesVars2D "()" 236 299 fi 237 300 spinup_SubJobPost_sechiba_TimeSeriesVars0=${spinup_SubJobPost_sechiba_TimeSeriesVars3D[0]} > /dev/null 2>&1 238 301 if [ X${spinup_SubJobPost_sechiba_TimeSeriesVars0} != X${NULL_STR} ] ; then 239 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/ orchidee.card Post_1M_sechiba_history TimeSeriesVars3D "("$( echo ${spinup_SubJobPost_sechiba_TimeSeriesVars[@]} | sed -e "s/ /,/g" )")"240 else 241 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/ orchidee.card Post_1M_sechiba_history TimeSeriesVars3D "()"302 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/sechiba.card Post_1M_sechiba_history TimeSeriesVars3D "("$( echo ${spinup_SubJobPost_sechiba_TimeSeriesVars[@]} | sed -e "s/ /,/g" )")" 303 else 304 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/sechiba.card Post_1M_sechiba_history TimeSeriesVars3D "()" 242 305 fi 243 306 … … 265 328 266 329 # Nb years for forcing FORCESOIL 267 ORCHIDEE_sed FORCESOIL_NB_YEAR ${PeriodLengthInYears}330 STOMATE_sed FORCESOIL_NB_YEAR ${PeriodLengthInYears} 268 331 269 332 IGCM_debug_PopStack "SPIN_OptionsStomate" 333 } 334 335 #----------------------------------------------------------------- 336 function SPIN_PeriodStart 337 { 338 IGCM_debug_PushStack "SPIN_PeriodStart" 339 echo "" > stack 340 IGCM_debug_PopStack "SPIN_PeriodStart" 270 341 } 271 342 … … 507 578 # For some jobs : 508 579 if ( [ X${config_UserChoices_JobNumProcTot} != X ] && [ "${config_UserChoices_JobNumProcTot}" -gt 1 ] ) ; then 509 IGCM_card_WriteOption ${New_SUBMIT_DIR}/config.card UserChoices JobNumProcTot ${config_UserChoices_JobNumProcTot}510 580 gawk -- "{if (! match(\$0,/^# .Date.*/) ) { print \$0 } else { printf(\"BATCH_NUM_PROC_TOT=%d \\n\\n\",${config_UserChoices_JobNumProcTot}) ; print \$0 } }" \ 511 581 ${New_SUBMIT_DIR}/Job_${SubJobName} > ${New_SUBMIT_DIR}/Job_${SubJobName}_ 512 582 IGCM_sys_Mv ${New_SUBMIT_DIR}/Job_${SubJobName}_ ${New_SUBMIT_DIR}/Job_${SubJobName} 513 583 chmod u+x ${New_SUBMIT_DIR}/Job_${SubJobName} 514 if [ X"${config_UserChoices_JobRunOptions}" != X ] ; then515 sed -e "s/^JobRunOptions=.*/JobRunOptions=\'${config_UserChoices_JobRunOptions}\'/" ${New_SUBMIT_DIR}/config.card > temp.card516 IGCM_sys_Mv temp.card ${New_SUBMIT_DIR}/config.card517 fi518 584 fi 519 585 … … 536 602 # For some jobs : 537 603 if ( [ X${config_UserChoices_JobNumProcTot} != X ] && [ "${config_UserChoices_JobNumProcTot}" -gt 1 ] ) ; then 538 IGCM_card_WriteOption ${New_SUBMIT_DIR}/config.card UserChoices JobNumProcTot ${config_UserChoices_JobNumProcTot}539 604 gawk -- "{if (! match(\$0,/^# .Date.*/) ) { print \$0 } else { printf(\"BATCH_NUM_PROC_TOT=%d \\n\\n\",${config_UserChoices_JobNumProcTot}) ; print \$0 } }" \ 540 605 ${New_SUBMIT_DIR}/Job_${SubJobName} > ${New_SUBMIT_DIR}/Job_${SubJobName}_ 541 606 IGCM_sys_Mv ${New_SUBMIT_DIR}/Job_${SubJobName}_ ${New_SUBMIT_DIR}/Job_${SubJobName} 542 607 chmod u+x ${New_SUBMIT_DIR}/Job_${SubJobName} 543 if [ X"${config_UserChoices_JobRunOptions}" != X ] ; then544 sed -e "s/^JobRunOptions=.*/JobRunOptions=\'${config_UserChoices_JobRunOptions}\'/" ${New_SUBMIT_DIR}/config.card > temp.card545 IGCM_sys_Mv temp.card ${New_SUBMIT_DIR}/config.card546 fi547 608 fi 548 609 … … 570 631 # !!! must not have been modified !!! 571 632 SPIN_Cp_Job ${spinup_UserChoices_SubJobPath}/TESTSTOMATE ${ExtName} 633 IGCM_card_WriteOption ${New_SUBMIT_DIR}/config.card UserChoices JobNumProcTot 1 634 gawk -- "{if (! match(\$0,/^# .Date.*/) ) { print \$0 } else { printf(\"BATCH_NUM_PROC_TOT=%d \\n\\n\",1) ; print \$0 } }" \ 635 ${New_SUBMIT_DIR}/Job_${SubJobName} > ${New_SUBMIT_DIR}/Job_${SubJobName}_ 636 IGCM_sys_Mv ${New_SUBMIT_DIR}/Job_${SubJobName}_ ${New_SUBMIT_DIR}/Job_${SubJobName} 637 chmod u+x ${New_SUBMIT_DIR}/Job_${SubJobName} 572 638 573 639 # Always restart for teststomate … … 588 654 589 655 IGCM_card_DefineVariableFromOption ${SUBMIT_DIR}/output.card PreviousStage LastRestartDate 590 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/orchidee.card BoundaryFiles ListNonDel \ 591 "(${config_SRF_RestartPath}/${LastJobName}/SBG/Restart/${LastJobName}_${output_PreviousStage_LastRestartDate}_stomate_forcing.nc, stomate_forcing.nc)" 656 657 # We Get the forcing file from the previous run of ORCHIDEE 658 ORCHIDEE_JobName=${LastJobName} 659 sed -e "s&(\${config_SBG_RestartPath}/\${config_SBG_RestartJobName}/SBG/Restart/\${config_SBG_RestartJobName}_\${Date_Restarts}_stomate_forcing.nc, stomate_forcing.nc)&(${config_SBG_RestartPath}/${ORCHIDEE_JobName}/SBG/Restart/${ORCHIDEE_JobName}_${output_PreviousStage_LastRestartDate}_stomate_forcing.nc, stomate_forcing.nc)&" ${New_SUBMIT_DIR}/COMP/sechiba.card > sechiba.card.tmp 660 IGCM_sys_Mv sechiba.card.tmp ${New_SUBMIT_DIR}/COMP/sechiba.card 661 662 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/sechiba.card UserChoices IMPOSE_VEG ${spinup_UserChoices_impose_veg} 663 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/sechiba.card UserChoices LAND_USE ${spinup_UserChoices_land_use} 592 664 593 665 SPIN_OptionsStomate … … 610 682 # For some jobs : 611 683 if ( [ X${config_UserChoices_JobNumProcTot} != X ] && [ "${config_UserChoices_JobNumProcTot}" -gt 1 ] ) ; then 612 IGCM_card_WriteOption ${New_SUBMIT_DIR}/config.card UserChoices JobNumProcTot ${config_UserChoices_JobNumProcTot}613 684 gawk -- "{if (! match(\$0,/^# .Date.*/) ) { print \$0 } else { printf(\"BATCH_NUM_PROC_TOT=%d \\n\\n\",${config_UserChoices_JobNumProcTot}) ; print \$0 } }" \ 614 685 ${New_SUBMIT_DIR}/Job_${SubJobName} > ${New_SUBMIT_DIR}/Job_${SubJobName}_ 615 686 IGCM_sys_Mv ${New_SUBMIT_DIR}/Job_${SubJobName}_ ${New_SUBMIT_DIR}/Job_${SubJobName} 616 687 chmod u+x ${New_SUBMIT_DIR}/Job_${SubJobName} 617 if [ X"${config_UserChoices_JobRunOptions}" != X ] ; then618 sed -e "s/^JobRunOptions=.*/JobRunOptions=\'${config_UserChoices_JobRunOptions}\'/" ${New_SUBMIT_DIR}/config.card > temp.card619 IGCM_sys_Mv temp.card ${New_SUBMIT_DIR}/config.card620 fi621 688 fi 622 689 … … 694 761 # !!! must not have been modified !!! 695 762 SPIN_Cp_Job ${spinup_UserChoices_SubJobPath}/TESTSTOMATE ${ExtName} 763 IGCM_card_WriteOption ${New_SUBMIT_DIR}/config.card UserChoices JobNumProcTot 1 764 gawk -- "{if (! match(\$0,/^# .Date.*/) ) { print \$0 } else { printf(\"BATCH_NUM_PROC_TOT=%d \\n\\n\",1) ; print \$0 } }" \ 765 ${New_SUBMIT_DIR}/Job_${SubJobName} > ${New_SUBMIT_DIR}/Job_${SubJobName}_ 766 IGCM_sys_Mv ${New_SUBMIT_DIR}/Job_${SubJobName}_ ${New_SUBMIT_DIR}/Job_${SubJobName} 767 chmod u+x ${New_SUBMIT_DIR}/Job_${SubJobName} 696 768 697 769 # Always restart for teststomate … … 713 785 # We Get the forcing file from the previous run of ORCHIDEE 714 786 ORCHIDEE_JobName=${config_UserChoices_JobName}ORC_${iter} 715 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/orchidee.card BoundaryFiles ListNonDel \ 716 "(${config_SBG_RestartPath}/${ORCHIDEE_JobName}/SBG/Restart/${ORCHIDEE_JobName}_${output_PreviousStage_LastRestartDate}_stomate_forcing.nc, stomate_forcing.nc), \\" 717 787 sed -e "s&(\${config_SBG_RestartPath}/\${config_SBG_RestartJobName}/SBG/Restart/\${config_SBG_RestartJobName}_\${Date_Restarts}_stomate_forcing.nc, stomate_forcing.nc)&(${config_SBG_RestartPath}/${ORCHIDEE_JobName}/SBG/Restart/${ORCHIDEE_JobName}_${output_PreviousStage_LastRestartDate}_stomate_forcing.nc, stomate_forcing.nc)&" ${New_SUBMIT_DIR}/COMP/sechiba.card > sechiba.card.tmp 788 IGCM_sys_Mv sechiba.card.tmp ${New_SUBMIT_DIR}/COMP/sechiba.card 789 790 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/sechiba.card UserChoices IMPOSE_VEG ${spinup_UserChoices_impose_veg} 791 IGCM_card_WriteOption ${New_SUBMIT_DIR}/COMP/sechiba.card UserChoices LAND_USE ${spinup_UserChoices_land_use} 718 792 SPIN_OptionsStomate 719 793 … … 732 806 # For some jobs : 733 807 if ( [ X${config_UserChoices_JobNumProcTot} != X ] && [ "${config_UserChoices_JobNumProcTot}" -gt 1 ] ) ; then 734 IGCM_card_WriteOption ${New_SUBMIT_DIR}/config.card UserChoices JobNumProcTot ${config_UserChoices_JobNumProcTot}735 808 gawk -- "{if (! match(\$0,/^# .Date.*/) ) { print \$0 } else { printf(\"BATCH_NUM_PROC_TOT=%d \\n\\n\",${config_UserChoices_JobNumProcTot}) ; print \$0 } }" \ 736 809 ${New_SUBMIT_DIR}/Job_${SubJobName} > ${New_SUBMIT_DIR}/Job_${SubJobName}_ 737 810 IGCM_sys_Mv ${New_SUBMIT_DIR}/Job_${SubJobName}_ ${New_SUBMIT_DIR}/Job_${SubJobName} 738 811 chmod u+x ${New_SUBMIT_DIR}/Job_${SubJobName} 739 if [ X"${config_UserChoices_JobRunOptions}" != X ] ; then740 sed -e "s/^JobRunOptions=.*/JobRunOptions=\'${config_UserChoices_JobRunOptions}\'/" ${New_SUBMIT_DIR}/config.card > temp.card741 IGCM_sys_Mv temp.card ${New_SUBMIT_DIR}/config.card742 fi743 812 fi 744 813 … … 766 835 767 836 # Nb years for forcing FORCESOIL 768 ORCHIDEE_sed FORCESOIL_NB_YEAR ${PeriodLengthInYears}837 STOMATE_sed FORCESOIL_NB_YEAR ${PeriodLengthInYears} 769 838 770 839 ;; … … 785 854 # For some jobs : 786 855 if ( [ X${config_UserChoices_JobNumProcTot} != X ] && [ "${config_UserChoices_JobNumProcTot}" -gt 1 ] ) ; then 787 IGCM_card_WriteOption ${New_SUBMIT_DIR}/config.card UserChoices JobNumProcTot ${config_UserChoices_JobNumProcTot}788 856 gawk -- "{if (! match(\$0,/^# .Date.*/) ) { print \$0 } else { printf(\"BATCH_NUM_PROC_TOT=%d \\n\\n\",${config_UserChoices_JobNumProcTot}) ; print \$0 } }" \ 789 857 ${New_SUBMIT_DIR}/Job_${SubJobName} > ${New_SUBMIT_DIR}/Job_${SubJobName}_ 790 858 IGCM_sys_Mv ${New_SUBMIT_DIR}/Job_${SubJobName}_ ${New_SUBMIT_DIR}/Job_${SubJobName} 791 859 chmod u+x ${New_SUBMIT_DIR}/Job_${SubJobName} 792 if [ X"${config_UserChoices_JobRunOptions}" != X ] ; then793 sed -e "s/^JobRunOptions=.*/JobRunOptions=\'${config_UserChoices_JobRunOptions}\'/" ${New_SUBMIT_DIR}/config.card > temp.card794 IGCM_sys_Mv temp.card ${New_SUBMIT_DIR}/config.card795 fi796 860 fi 797 861 … … 851 915 # For some jobs : 852 916 if ( [ X${config_UserChoices_JobNumProcTot} != X ] && [ "${config_UserChoices_JobNumProcTot}" -gt 1 ] ) ; then 853 IGCM_card_WriteOption ${New_SUBMIT_DIR}/config.card UserChoices JobNumProcTot ${config_UserChoices_JobNumProcTot}854 917 gawk -- "{if (! match(\$0,/^# .Date.*/) ) { print \$0 } else { printf(\"BATCH_NUM_PROC_TOT=%d \\n\\n\",${config_UserChoices_JobNumProcTot}) ; print \$0 } }" \ 855 918 ${New_SUBMIT_DIR}/Job_${SubJobName} > ${New_SUBMIT_DIR}/Job_${SubJobName}_ 856 919 IGCM_sys_Mv ${New_SUBMIT_DIR}/Job_${SubJobName}_ ${New_SUBMIT_DIR}/Job_${SubJobName} 857 920 chmod u+x ${New_SUBMIT_DIR}/Job_${SubJobName} 858 if [ X"${config_UserChoices_JobRunOptions}" != X ] ; then859 sed -e "s/^JobRunOptions=.*/JobRunOptions=\'${config_UserChoices_JobRunOptions}\'/" ${New_SUBMIT_DIR}/config.card > temp.card860 IGCM_sys_Mv temp.card ${New_SUBMIT_DIR}/config.card861 fi862 921 fi 863 922 … … 941 1000 echo "cd ${New_SUBMIT_DIR}" >> ${RUN_DIR}/SubJob$$.ksh 942 1001 echo "export SUBMIT_DIR=${New_SUBMIT_DIR}" >> ${RUN_DIR}/SubJob$$.ksh 943 echo "./Job_${SubJobName} > ${New_SUBMIT_DIR}/Script_${SubJobName}. 1 </dev/null 2>&1" >> ${RUN_DIR}/SubJob$$.ksh1002 echo "./Job_${SubJobName} > ${New_SUBMIT_DIR}/Script_${SubJobName}.000001 </dev/null 2>&1" >> ${RUN_DIR}/SubJob$$.ksh 944 1003 echo "echo 'End of Subjob : ' \$( date )" >> ${RUN_DIR}/SubJob$$.ksh 945 1004 echo "echo 'finish.'" >> ${RUN_DIR}/SubJob$$.ksh … … 1017 1076 # we can move Previous Job in SPINUP save DIR. 1018 1077 if ( [ X${spinup_UserChoices_DEBUG_SPIN} = Xn ] && [ X${output_PreviousStage_LastStageName} != Xstart ] ) ; then 1019 IGCM_sys_RshPost <<-EOF1020 \mv -f ${R_OUT}/${config_UserChoices_TagName}/${config_UserChoices_JobName}${output_PreviousStage_LastExtName} ${R_OUT}/${config_UserChoices_TagName}/${config_UserChoices_JobName}/SPIN/Output/1021 EOF1022 1078 if ( [ X${spinup_UserChoices_CONSERVE} = Xn ] \ 1023 1079 && [ X${output_PreviousStage_LastStageName} != XSECINI ] \ 1024 1080 && [ X${output_PreviousStage_LastStageName} != XSECSTOINI ] ) ; then 1025 IGCM_sys_RshPost <<-EOF 1026 \rm -Rf ${R_OUT}/${config_UserChoices_TagName}/${config_UserChoices_JobName}${output_PreviousStage_LastExtName}/*/Analyse/* 1027 EOF 1028 # \rm -Rf ${R_OUT}/${config_UserChoices_TagName}/${config_UserChoices_JobName}${output_PreviousStage_LastExtName}/*/Output/* 1081 IGCM_sys_RshArchive "rm -Rf ${R_OUT}/${config_UserChoices_TagName}/${config_UserChoices_JobName}${output_PreviousStage_LastExtName}/*/Analyse/*" 1082 IGCM_sys_RshArchive "rm -Rf ${R_OUT}/${config_UserChoices_TagName}/${config_UserChoices_JobName}${output_PreviousStage_LastExtName}/*/Output/*" 1029 1083 fi 1084 1085 IGCM_sys_RshArchive "mv -f ${R_OUT}/${config_UserChoices_TagName}/${config_UserChoices_JobName}${output_PreviousStage_LastExtName} ${R_OUT}/${config_UserChoices_TagName}/${config_UserChoices_JobName}/SPIN/Output/" 1030 1086 fi 1031 1087 -
branches/ORCHIDEE_EXT/ORCHIDEE_OL/SPINUP/config.card
r65 r263 51 51 # Old component name for restart (if empty, use new name) 52 52 OldName= 53 #D- If you want to produce time series, this flag determines54 #D- frequency of post-processing submission55 TimeSeriesFrequency= NONE56 #D- If you want to produce seasonal average, this flag determines57 #D- the period of this average58 SeasonalFrequency= NONE59 53 60 54 #D-- Surface BioGeochemistry ( STOMATE ) subjobs … … 69 63 # Old component name for restart (if empty, use new name) 70 64 OldName= 65 66 #D-- Post-treatment options passed to SubJobs 67 [SubJobPost] 68 #D- Do we rebuild parallel output, this flag determines 69 #D- frequency of rebuild submission 70 RebuildFrequency=NONE 71 #D- Do we rebuild parallel output from archive (use NONE to use SCRATCHDIR as buffer) 72 RebuildFromArchive=NONE 73 #D- If you want to produce time series, this flag determines 74 #D- frequency of post-processing submission 75 TimeSeriesFrequency= NONE 76 #D- If you want to produce seasonal average, this flag determines 77 #D- the period of this average 78 SeasonalFrequency= NONE 79 #D- Offset for seasonal average first start dates ; same unit as SeasonalFrequency 80 #D- Usefull if you do not want to consider the first X simulation's years 81 SeasonalFrequencyOffset=0 82 71 83 #======================================================================== 72 84 #======================================================================== … … 93 105 #D- frequency of rebuild submission 94 106 RebuildFrequency=NONE 95 #D- If you want to monitor variables, this flag determines 96 #D- frequency of post-processing submission 97 MonitoringFrequency=NONE 107 #D- Do we rebuild parallel output from archive (use NONE to use SCRATCHDIR as buffer) 108 RebuildFromArchive=NONE 98 109 #D- If you want to produce time series, this flag determines 99 110 #D- frequency of post-processing submission … … 102 113 #D- the period of this average 103 114 SeasonalFrequency= NONE 104 # 105 RebuildFromArchive=NONE 115 #D- Offset for seasonal average first start dates ; same unit as SeasonalFrequency 116 #D- Usefull if you do not want to consider the first X simulation's years 117 SeasonalFrequencyOffset=0 106 118 107 119 #======================================================================== -
branches/ORCHIDEE_EXT/ORCHIDEE_OL/TESTSTOMATE/COMP/stomate.card
r65 r263 16 16 17 17 [ParametersFiles] 18 List= ( )18 List= (${SUBMIT_DIR}/PARAM/stomate.def, .) 19 19 20 20 [RestartFiles] … … 27 27 28 28 [OutputText] 29 List= ( )29 List= (used_stomate.def) 30 30 31 31 [OutputFiles] -
branches/ORCHIDEE_EXT/ORCHIDEE_OL/TESTSTOMATE/COMP/stomate.driver
r65 r263 1 1 #!/bin/ksh 2 2 3 #D- Driver du script pour ORCHIDEE 3 #D- Driver du script pour STOMATE 4 5 function STOMATE_sed 6 { 7 IGCM_debug_PushStack "STOMATE_sed" 8 9 sed -e "s/^${1}\ *=.*/${1}= ${2}/" \ 10 stomate.def > stomate.def.tmp 11 RET=$? 12 echo "STOMATE_sed : ${1} ${2}" 13 \mv stomate.def.tmp stomate.def 14 15 IGCM_debug_PopStack "STOMATE_sed" 16 return $RET 17 } 4 18 5 19 #----------------------------------------------------------------- … … 62 76 esac 63 77 64 ORCHIDEE_sed STOMATE_OK_STOMATE y65 ORCHIDEE_sed STOMATE_OK_CO2 y78 STOMATE_sed STOMATE_OK_STOMATE y 79 STOMATE_sed STOMATE_OK_CO2 y 66 80 67 ORCHIDEE_sed STOMATE_HIST_DT ${STOMATE_WRITE_STEP}68 ORCHIDEE_sed STOMATE_HISTLEVEL ${stomate_UserChoices_stomate_LEVEL}81 STOMATE_sed STOMATE_HIST_DT ${STOMATE_WRITE_STEP} 82 STOMATE_sed STOMATE_HISTLEVEL ${stomate_UserChoices_stomate_LEVEL} 69 83 if ( [ ${CumulPeriod} -eq 1 ] && [ "${config_SBG_Restart}" = "n" ] ) ; then 70 84 echo "STOMATE : without restart" 71 85 else 72 ORCHIDEE_sed STOMATE_RESTART_FILEIN stomate_rest_in.nc86 STOMATE_sed STOMATE_RESTART_FILEIN stomate_rest_in.nc 73 87 fi 74 88 -
branches/ORCHIDEE_EXT/ORCHIDEE_OL/TESTSTOMATE/config.card
r65 r263 13 13 #-- (<8 chars MAX for JobName) 14 14 JobName=TestSTO 15 LongName=" teststomate"15 LongName="Please, explain here what is this simulation for" 16 16 TagName=OL2 17 17 #============================ … … 44 44 [ListOfComponents] 45 45 #D- For each component, Name of component, Tag of component 46 SRF= ( orchidee, orchidee_1_9_5)47 SBG= (stomate, orchidee_1_9_5 )46 SRF= (sechiba, orchidee_1_9_5_1) 47 SBG= (stomate, orchidee_1_9_5_1) 48 48 49 49 #======================================================================== … … 82 82 #D- the period of this average 83 83 SeasonalFrequency=NONE 84 #D- Offset for seasonal average first start dates ; same unit as SeasonalFrequency 85 #D- Usefull if you do not want to consider the first X simulation's years 86 SeasonalFrequencyOffset= 0 84 87 85 88 #========================================================================
Note: See TracChangeset
for help on using the changeset viewer.