SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/ini_assim.F90
Go to the documentation of this file.
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