SURFEX v7.3
General documentation of Surfex
|
00001 ! ######### 00002 SUBROUTINE DEFAULT_ISBA(PTSTEP, POUT_TSTEP, & 00003 HROUGH, HRUNOFF, HALBEDO, HSCOND, & 00004 HC1DRY, HSOILFRZ, HDIFSFCOND, HSNOWRES, & 00005 HCPSURF, PCGMAX, PCDRAG, HKSAT, HSOC, & 00006 HTOPREG, HRAIN, HHORT, OFLOOD, OTRIP, & 00007 OGLACIER, OCANOPY_DRAG, OVEGUPD, & 00008 OSPINUPCARBS, OSPINUPCARBW ) 00009 ! ######################################################################## 00010 ! 00011 !!**** *DEFAULT_ISBA* - routine to set default values for the configuration for ISBA 00012 !! 00013 !! PURPOSE 00014 !! ------- 00015 !! 00016 !!** METHOD 00017 !! ------ 00018 !! 00019 !! EXTERNAL 00020 !! -------- 00021 !! 00022 !! 00023 !! IMPLICIT ARGUMENTS 00024 !! ------------------ 00025 !! 00026 !! REFERENCE 00027 !! --------- 00028 !! 00029 !! 00030 !! AUTHOR 00031 !! ------ 00032 !! V. Masson *Meteo France* 00033 !! 00034 !! MODIFICATIONS 00035 !! ------------- 00036 !! Original 01/2004 00037 !------------------------------------------------------------------------------- 00038 ! 00039 !* 0. DECLARATIONS 00040 ! ------------ 00041 ! 00042 USE MODD_SURF_PAR, ONLY : XUNDEF 00043 ! 00044 ! 00045 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00046 USE PARKIND1 ,ONLY : JPRB 00047 ! 00048 IMPLICIT NONE 00049 ! 00050 !* 0.1 Declarations of arguments 00051 ! ------------------------- 00052 ! 00053 ! 00054 REAL, INTENT(OUT) :: PTSTEP ! time-step for run 00055 REAL, INTENT(OUT) :: POUT_TSTEP ! time-step for writing 00056 CHARACTER(LEN=4), INTENT(OUT) :: HROUGH ! type of roughness length 00057 CHARACTER(LEN=4), INTENT(OUT) :: HALBEDO ! albedo type 00058 ! ! 'DRY ' 00059 ! ! 'EVOL' 00060 ! ! 'WET ' 00061 ! ! 'USER' 00062 CHARACTER(LEN=4), INTENT(OUT) :: HSCOND ! Thermal conductivity 00063 ! ! 'DEF ' = DEFault: NP89 implicit method 00064 ! ! 'PL98' = Peters-Lidard et al. 1998 used 00065 ! ! for explicit computation of CG 00066 CHARACTER(LEN=4), INTENT(OUT) :: HC1DRY ! C1 formulation for dry soils 00067 ! ! 'DEF ' = DEFault: Giard-Bazile formulation 00068 ! ! 'GB93' = Giordani 1993, Braud 1993 00069 ! !discontinuous at WILT 00070 CHARACTER(LEN=3), INTENT(OUT) :: HSOILFRZ ! soil freezing-physics option 00071 ! ! 'DEF' = Default (Boone et al. 2000; 00072 ! ! Giard and Bazile 2000) 00073 ! ! 'LWT' = Phase changes as above, 00074 ! ! but relation between unfrozen 00075 ! ! water and temperature considered 00076 ! NOTE that when using the YISBA='DIF' multi-layer soil option, 00077 ! the 'LWT' method is used. It is only an option 00078 ! when using the force-restore soil method ('2-L' or '3-L') 00079 ! 00080 CHARACTER(LEN=4), INTENT(OUT) :: HDIFSFCOND ! Mulch effects 00081 ! ! 'MLCH' = include the insulating effect of 00082 ! ! leaf litter/mulch on the surf. thermal cond. 00083 ! ! 'DEF ' = no mulch effect 00084 ! NOTE: Only used when YISBA = DIF 00085 ! 00086 CHARACTER(LEN=3), INTENT(OUT) :: HSNOWRES ! Turbulent exchanges over snow 00087 ! ! 'DEF' = Default: Louis (ISBA) 00088 ! ! 'RIL' = Maximum Richardson number limit 00089 ! ! for stable conditions ISBA-SNOW3L 00090 ! ! turbulent exchange option 00091 CHARACTER(LEN=3), INTENT(OUT) :: HCPSURF ! SPECIFIC HEAT 00092 ! ! 'DRY' = dry Cp 00093 ! ! 'HUM' = Cp fct of qs 00094 REAL, INTENT(OUT) :: PCGMAX ! maximum soil heat capacity 00095 ! 00096 REAL, INTENT(OUT) :: PCDRAG ! drag coefficient in canopy 00097 ! 00098 CHARACTER(LEN=4), INTENT(OUT) :: HRUNOFF ! surface runoff formulation 00099 ! ! 'WSAT' 00100 ! ! 'DT92' 00101 ! ! 'SGH ' Topmodel 00102 ! 00103 CHARACTER(LEN=3), INTENT(OUT) :: HTOPREG ! Wolock and McCabe (2000) linear regression for Topmodel 00104 ! 'DEF' = reg 00105 ! 'NON' = no reg 00106 ! 00107 CHARACTER(LEN=3), INTENT(OUT) :: HKSAT ! SOIL HYDRAULIC CONDUCTIVITY PROFILE OPTION 00108 ! ! 'DEF' = ISBA homogenous soil 00109 ! ! 'SGH' = ksat exponential decay 00110 ! 00111 CHARACTER(LEN=3), INTENT(OUT) :: HSOC ! SOIL ORGANIC CARBON PROFILE OPTION 00112 ! ! 'DEF' = ISBA homogenous soil 00113 ! ! 'SGH' = SOC profile effect 00114 ! 00115 CHARACTER(LEN=3), INTENT(OUT) :: HRAIN ! Rainfall spatial distribution 00116 ! 'DEF' = No rainfall spatial distribution 00117 ! 'SGH' = Rainfall exponential spatial distribution 00118 ! 00119 ! 00120 CHARACTER(LEN=3), INTENT(OUT) :: HHORT ! Horton runoff 00121 ! 'DEF' = no Horton runoff 00122 ! 'SGH' = Horton runoff 00123 ! 00124 LOGICAL, INTENT(OUT) :: OTRIP ! True = ISBA-TRIP coupling 00125 ! False = No ISBA-TRIP coupling 00126 ! 00127 LOGICAL, INTENT(OUT) :: OFLOOD ! True = Flooding scheme 00128 ! False = No flooding scheme 00129 ! 00130 LOGICAL, INTENT(OUT) :: OGLACIER ! True = Over permanent snow and ice, 00131 ! initialise WGI=WSAT, 00132 ! Hsnow>=3.3m and allow 0.8<SNOALB<0.85 00133 ! False = No specific treatment 00134 LOGICAL, INTENT(OUT) :: OCANOPY_DRAG ! T: drag activated in SBL scheme within the canopy 00135 ! 00136 LOGICAL, INTENT(OUT) :: OVEGUPD ! T: update vegetation parameters 00137 ! every decade 00138 ! F: keep vegetation parameters 00139 ! constant in time 00140 ! 00141 LOGICAL, INTENT(OUT) :: OSPINUPCARBS ! T: carbon spinup soil 00142 LOGICAL, INTENT(OUT) :: OSPINUPCARBW ! T: carbon spinup wood 00143 ! 00144 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00145 ! 00146 !* 0.2 Declarations of local variables 00147 ! ------------------------------- 00148 ! 00149 !------------------------------------------------------------------------------- 00150 ! 00151 IF (LHOOK) CALL DR_HOOK('DEFAULT_ISBA',0,ZHOOK_HANDLE) 00152 PTSTEP = XUNDEF 00153 POUT_TSTEP = XUNDEF 00154 ! 00155 HROUGH = "UNDE" ! undefined. Needs further information on canopy scheme use to set default 00156 HSCOND = "PL98" 00157 HALBEDO = "DRY " 00158 ! 00159 HC1DRY = 'DEF ' 00160 HSOILFRZ = 'DEF' 00161 HDIFSFCOND = 'DEF ' 00162 HSNOWRES = 'DEF' 00163 HCPSURF = 'DRY' 00164 ! 00165 HRUNOFF = "WSAT" 00166 HTOPREG = 'DEF' 00167 HKSAT = 'DEF' 00168 HSOC = 'DEF' 00169 HRAIN = 'DEF' 00170 HHORT = 'DEF' 00171 ! 00172 OTRIP = .FALSE. 00173 OFLOOD = .FALSE. 00174 ! 00175 PCGMAX = 2.0E-5 00176 ! 00177 PCDRAG = 0.15 00178 ! 00179 OGLACIER = .FALSE. 00180 ! 00181 OCANOPY_DRAG = .FALSE. 00182 ! 00183 OVEGUPD = .TRUE. 00184 ! 00185 OSPINUPCARBS = .FALSE. 00186 OSPINUPCARBW = .FALSE. 00187 ! 00188 IF (LHOOK) CALL DR_HOOK('DEFAULT_ISBA',1,ZHOOK_HANDLE) 00189 ! 00190 !------------------------------------------------------------------------------- 00191 ! 00192 END SUBROUTINE DEFAULT_ISBA