SURFEX v7.3
General documentation of Surfex
|
00001 ! ######### 00002 SUBROUTINE INI_ASSIM 00003 ! #################### 00004 ! 00005 !!**** *INI_ASSIM * - routine to initialize the module MODD_ASSIM 00006 !! 00007 !! PURPOSE 00008 !! ------- 00009 ! The purpose of this routine is to initialize variables in module MODD_ASSIM. 00010 ! 00011 ! 00012 !!** METHOD 00013 !! ------ 00014 !! The various constants are set to their numerical values 00015 !! 00016 !! 00017 !! IMPLICIT ARGUMENTS 00018 !! ------------------ 00019 !! Module MODD_ASSIM : contains constants for soil assimilation 00020 !! 00021 !! 00022 !! AUTHOR 00023 !! ------ 00024 !! J.-F. Mahfouf * Meteo France * 00025 !! 00026 !! MODIFICATIONS 00027 !! ------------- 00028 !! Original 21/05/09 00029 !! 00030 !------------------------------------------------------------------------------- 00031 ! 00032 !* 0. DECLARATIONS 00033 ! ------------ 00034 ! 00035 USE MODD_ASSIM 00036 USE MODD_CSTS, ONLY : XRHOLW, XPI 00037 ! 00038 ! 00039 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00040 USE PARKIND1 ,ONLY : JPRB 00041 ! 00042 IMPLICIT NONE 00043 INTEGER :: J 00044 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00045 ! 00046 !**----------------------------------------------------------------------- 00047 !** - 1 - Initialisations, diagnostics. 00048 !** ---------------------------- 00049 00050 !* 1.1 Constantes 00051 ! 00052 ! NECHGU : ECHEANCE DU GUESS EN HEURES (0 A 30). 00053 ! 00054 IF (LHOOK) CALL DR_HOOK('INI_ASSIM',0,ZHOOK_HANDLE) 00055 NECHGU = 6 00056 ! 00057 ! 00058 !LFGEL : CLE D'APPEL DU GEL DE L'EAU DU SOL AVEC ISBA (LSOLV) 00059 ! : KEY FOR SOIL FREEZING WITH ISBA (LSOLV) 00060 ! ( ACSOL, ACDROV) 00061 LFGEL = .TRUE. 00062 LCLIM = .TRUE. 00063 ! 00064 ! Characteristics of ice and sea 00065 !SODELX(0:9): DISCRETISATION VERTICALE DU SOL (MAXI 10 COUCHES) 00066 ! : SOIL VERTICAL DISCRETIZATION (MAX 10 LAYERS) 00067 !GCONV : FACTEUR DE CHANGEMENT D'UNITE (MASSE VOL. DE L'EAU LIQUIDE) 00068 !RD1 : EPAISSEUR DU RESERVOIR SUPERFICIEL. 00069 ! : UPPER RESERVOIR DEPTH. 00070 !RTINER : RAPPORT DES INERTIES THERMIQUES PROFONDEUR/SURFACE. 00071 ! : RATIO OF THE DEEP/SURFACE THERMAL INERTIAS. 00072 !WCRIN : QUANTITE CRITIQUE POUR LA NEIGE MI-COUVRANTE. 00073 ! : CRITICAL TRANSITION VALUE FOR SNOW DEPTH (HALF-COVER). 00074 !WPMX : VALEUR MAXIMUN POUR LE CONTENU EN EAU EN PROFONDEUR. 00075 ! : MAXIMUM VALUE FOR DEEP SOIL WATER CONTENT. 00076 !WSMX : VALEUR MAXIMUN POUR LE CONTENU EN EAU DE SURFACE. 00077 ! : MAXIMUM VALUE FOR SURFACE SOIL WATER CONTENT. 00078 !NTVGLA : INDICE DE VEGETATION SUR GLACE. 00079 !TMERGL : TEMPERATURE DE FONTE DE LA GLACE DE MER. 00080 ! : MELTING TEMPERATURE OF FLOATING ICE. 00081 !RZHZ0G : RAPPORT LONGUEUR DE RUGOSITE THERMIQUE SUR LONGUEUR 00082 ! RUGOSITE DYNAMIQUE DE LA BANQUISE 00083 SODELX(0)=1.0/SQRT(1.0+2.0*XPI) 00084 DO J=1,9 00085 SODELX(J)=SODELX(J-1)*2.0*XPI 00086 ENDDO 00087 RD1 = 1.E-2 00088 RTINER = 5. 00089 WCRIN = 10. 00090 WPMX = 100. 00091 WSMX = 20. 00092 NTVGLA = 2 00093 TMERGL = 271.23 00094 RZHZ0G = 1.0 00095 ! 00096 !nactex, canali 00097 ! RCLIMCA : coef. de rappel vers la climatologie des champs de surface 00098 ! RCLISST : coef. de rappel vers la climatologie de SST 00099 ! NSEAICE : utilsation limite glace SSM/I (et nb de jours de retard possible) 00100 ! RSNSA : Coefficient pour l'analyse de neige 00101 ! RSNSB : Coefficient pour l'analyse de neige 00102 ! RWPIA : Coefficient pour l'analyse de l'eau gelee 00103 ! RWPIB : Coefficient pour l'analyse de l'eau gelee 00104 ! 00105 !RCLIMCA=0.045 00106 RCLIMCA = 0. ! no climatology relaxation 00107 !RCLISST=0.05 ! as in the original cacsts 00108 RCLISST = 0.05 00109 NSEAICE = 0 00110 RWPIA = 0.025 00111 RWPIB = 2. 00112 RSNSA = 0.025 00113 RSNSB = 1.0 00114 ! 00115 !yomcli 00116 ! SALBN,SALBX,SALBM,SALBG,SALBB,SALBD : albedo 00117 ! SEMIN,SEMIX,SEMIM,SEMIG,SEMIB,SEMID : emissivity 00118 ! (minimum,maximum,sea,ice,sea ice,desert) 00119 ! SZZ0N,SZZ0M,SZZ0B,SZZ0U,SZZ0D : roughness length 00120 ! (minimum,sea,sea-ice,urban areas,desert) 00121 ! 00122 SALBM = 0.07 00123 SALBB = 0.65 00124 SEMIM = 0.96 00125 SEMIB = 0.97 00126 SZZ0B = 0.001 00127 ! 00128 ! ecarts-type d'erreurs d'observation 00129 ! T2m -> SIGT2MO 00130 ! Hu2m -> SIGH2MO 00131 ! LSGOBS : activee si l'une des valeurs ci-dessus differe de la reference 00132 ! 00133 ! seuils sur la force du vent a 10m , la duree du jour , les precipitations, 00134 ! ws/wfc, evaporation en (mm/jour), presence de glace 00135 ! V10MX , MINDJ , SPRECIP , SWFC , SEVAP , SICE , SMU0 00136 ! 00137 ! cles et coefficients de reglage 00138 ! LIMVEG : activation de la limitation a wp > veg*wwilt 00139 ! LHUMID : activation de la clef LIMVEG ou du seuil SWFC limitee 00140 ! LISSEW : activation du lissage des increments de wp (si NLISSEW=3) 00141 ! NLISSEW: nombre de reseaux anterieurs utilisables pour le lissage 00142 ! ANEBUL , NNEBUL : dependance par rapport a la nebulosite 00143 ! SNEIGT , NNEIGT : dependance par rapport a la neige (T) 00144 ! SNEIGW , NNEIGW : dependance par rapport a la neige (w) 00145 ! coefficients pour le retrait du biais de T2m et Hu2m 00146 ! SCOEFT , SCOEFH : =0. pas de retrait / =1. increment mis a zero 00147 00148 ! champs d'increments pour le lissage (transfert dans GPPBUF de RINCW) 00149 ! RINCW(jrof,j) j=1/2/3 pour reseau courant - 06h/12h/18h 00150 ! CINCW(j) : nom des champs d'increments dans les fichiers ARPEGE 00151 ! 00152 ! biais moyen 00153 ! RBIAT(jrof) : biais moyen de temperature } tableaux supprimes et mis dans 00154 ! RBIAH(jrof) : biais moyen d'humidite } GPPBUF (adresse: MCANRI0) 00155 ! 00156 ! reglage du rappel clim 00157 ! RCLIMTS : coef. multiplicateur de RCLIMCA pour Ts 00158 ! RCLIMTP : coef. multiplicateur de RCLIMCA pour Tp 00159 ! RCLIMWS : coef. multiplicateur de RCLIMCA pour Ws 00160 ! RCLIMWP : coef. multiplicateur de RCLIMCA pour Wp 00161 ! RCLIMN : impact de la fraction de neige 00162 ! RCLIMV : coef. multiplicateur sur desert pour Ws, Wp 00163 ! 00164 !NACVEG 00165 ! 00166 !*** 00167 !*** conditions d'analyse 00168 !*** LIMVEG : si wp >= veg*wwilt 00169 !*** MINDJ : duree du jour minimale (heure) 00170 !*** V10MX : seuil sur le module du vent (analyse) a 10m 00171 !*** SPRECIP : seuil sur les precipitations (prevues) en mm 00172 !*** SEVAP : seuil l'evaporation inst. en (mm/jour) 00173 !*** SICE : seuil sur la quantite totale de glace (Kg/m2) 00174 !*** SMU0 : seuil utilisant l'angle zenithal solaire 00175 !*** SWFC : seuil sur ws/wfc (pas d'analyse de ws si ws > SWFC*wfc) 00176 !*** ponderations 00177 !*** LHUMID : humidification seulement si wp < veg*wwilt 00178 !*** : assechement seulement si ws > SWFC*wfc (pour ws) 00179 !*** LISSEW : lissage des increments de wp (moyenne glissante sur 24h) 00180 !*** SIGT2MO : ecart-type d'erreur "d'observation" sur T2m 00181 !*** SIGH2MO : ecart-type d'erreur "d'observation" sur Hu2m 00182 !*** ANEBUL : reduction maximale par la nebulosite 00183 !*** NNEBUL : puissance de la nebulosite prise en compte 00184 !*** nebulosite moyenne neb <--> poids 1-ANEBUL*neb**NNEBUL 00185 !*** SNEIGT : seuil sur la fraction de la maille recouverte de neige (T) 00186 !*** NNEIGT : coefficient de ponderation (T) 00187 !*** SNEIGW : seuil sur la fraction de la maille recouverte de neige (w) 00188 !*** NNEIGW : coefficient de ponderation (w) 00189 !*** retrait du biais sur T2m et Hu2m 00190 !*** SCOEFT : coefficient pour le retrait du biais de temperature 00191 !*** SCOEFH : coefficient pour le retrait du biais d'humidite 00192 !*** =0 pas de retrait. =1 increment mis a zero 00193 !*** reglage du rappel clim 00194 !*** RCLIMTS : coef. multiplicateur de RCLIMCA pour Ts 00195 !*** RCLIMTP : coef. multiplicateur de RCLIMCA pour Tp 00196 !*** RCLIMWS : coef. multiplicateur de RCLIMCA pour Ws 00197 !*** RCLIMWP : coef. multiplicateur de RCLIMCA pour Wp 00198 !*** RCLIMN : impact de la fraction de neige 00199 !*** RCLIMV : coef. multiplicateur sur desert pour Ws, Wp 00200 !*** lissage spatial du SWI et modification de Wp a partir du SWI lisse 00201 !*** L_SM_WP : lissage spatial du SWI (Soil Wetness Index) et modif Wp 00202 !*** NR_SM_WP: nombre d'appel de la routine de lissage spatial du SWI 00203 !*** RA_SM_WP: distance caracteristique du lissage spatial (en metres) 00204 !*** 00205 !***--------------------------------------------------------------------- 00206 ! 00207 ANEBUL = 0.75 00208 LHUMID = .TRUE. 00209 LIMVEG = .TRUE. 00210 LLDHMT = .FALSE. 00211 LISSEW = .FALSE. 00212 LOBSWG = .TRUE. ! assimilation of WG 00213 LOBS2M = .FALSE. ! assimilation of T2M + RH2M (with WG) 00214 LAROME = .TRUE. ! if AROME model 00215 LPRINT = .TRUE. ! for additional prints 00216 NLISSEW = 0 00217 MINDJ = 6 00218 NNEBUL = 1 00219 NNEIGT = 0 00220 NNEIGW = 1 00221 RCLIMN = 0. 00222 RCLIMTP = 0. 00223 RCLIMTS = 0. 00224 RCLIMV = 1. 00225 RCLIMWP = 0.1 00226 RCLIMWS = 0. 00227 SCOEFH = 0. 00228 SCOEFT = 0. 00229 SEVAP = 0. 00230 SICE = 5 00231 SIGH2MO = 0.1 ! observation error for HU2m 00232 SIGT2MO = 1.0 ! observation error for T2m 00233 SIGWGO = 0.06 ! observation error for WG 00234 SIGWGB = 0.06 ! background error for WG 00235 SIGW2B = 0.03 ! background error for W2 00236 SNEIGT = 1. 00237 SNEIGW = 0. 00238 SPRECIP = .3 00239 SPRECIP2 = 4.0 00240 SWFC = 1.0 00241 V10MX = 10. 00242 SMU0 = 7. 00243 RTHR_QC = 3.0 00244 SIGWGO_MAX = 6.0 ! maximum acceptable WG obs error (%) 00245 RSCAL_JAC = 4.0 ! to modify the "effective" assimilation window 00246 ! 00247 ! PARAMETERS TO SWITCH ON CASMSWI - SPATIAL SMOOTHING OF SWI (SOIL WETNESS INDEX) 00248 ! THEN CHANGING OF Wp ( TOTAL SOIL WATER CONTENT) IN CANARI OI. 00249 ! CASMSWI IS CALLED BY CANARI 00250 ! 00251 L_SM_WP = .FALSE. 00252 NR_SM_WP = 1 00253 RA_SM_WP = 5000.0 00254 ! 00255 ! Standard deviation of background error 00256 ! 00257 SIGHP1 = 15.E-2 00258 ! 00259 ! Standard deviation of observation errors (referencce) 00260 ! 00261 SIGT2MR = 1.0 00262 SIGH2MR = 10.E-2 00263 ! 00264 ! Soil textural properties (reference = loam) 00265 ! 00266 RSABR = 43. 00267 RARGR = 18. 00268 GWFC = 89.0467E-3 00269 EWFC = 0.35 00270 GWWILT = 37.1342E-3 00271 EWWILT = 0.5 00272 G1WSAT = -1.08E-3 00273 G2WSAT = 494.31E-3 00274 ADWR = GWFC*(RARGR**EWFC) - GWWILT*(RARGR**EWWILT) 00275 ! 00276 ! Low threshold values 00277 ! 00278 REPS1 = 1.E-3 00279 REPS2 = 1.E-1 00280 REPS3 = 1.E-13 00281 ! 00282 ! Astronomical and time constants 00283 ! 00284 REPSM = 0.409093 ! obliquity 00285 IDJ = 12.0 ! day duration 00286 RCDTR = 24./360. 00287 ! ITRAD (half assimilation window in sec) --> dependant from NECHGU --> set in OI_MAIN 00288 IF (LHOOK) CALL DR_HOOK('INI_ASSIM',1,ZHOOK_HANDLE) 00289 ! 00290 !------------------------------------------------------------------------------- 00291 ! 00292 END SUBROUTINE INI_ASSIM