SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/init_from_data_grdnn.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE INIT_FROM_DATA_GRDN_n(KDECADE, HPHOTO,                               &
00003                                                PVEG,                                  &
00004                                                PLAI,PRSMIN,PGAMMA,PWRMAX_CF,          &
00005                                                PRGL,PCV,PDG,PD_ICE,PZ0,PZ0_O_Z0H,     &
00006                                                PALBNIR_VEG,PALBVIS_VEG,PALBUV_VEG,    &
00007                                                PEMIS,                                 &
00008                                                PVEGTYPE,PROOTFRAC,                    &
00009                                                PGMES,PBSLAI,PLAIMIN,PSEFOLD,PGC,      &
00010                                                PDMAX, PF2I, OSTRESS,                  &
00011                                                PH_TREE, PRE25,                        &
00012                                                PCE_NITRO, PCF_NITRO, PCNA_NITRO,      &
00013                                                PALBNIR_SOIL,PALBVIS_SOIL,PALBUV_SOIL  )  
00014 !     ##############################################################
00015 !
00016 !!**** *CONVERT_COVER* convert surface cover classes into secondary 
00017 !!                     physiographic variables for ISBA
00018 !!
00019 !!    PURPOSE
00020 !!    -------
00021 !!
00022 !!    METHOD
00023 !!    ------
00024 !!   
00025 !!    EXTERNAL
00026 !!    --------
00027 !!
00028 !!    IMPLICIT ARGUMENTS
00029 !!    ------------------
00030 !!
00031 !!    REFERENCE
00032 !!    ---------
00033 !!
00034 !!    AUTHOR
00035 !!    ------
00036 !!
00037 !!    V. Masson        Meteo-France
00038 !!
00039 !!    MODIFICATION
00040 !!    ------------
00041 !!
00042 !!    Original   01/2004
00043 !     
00044 !!      P Le Moigne 09/2005 AGS modifs of L. Jarlan
00045 !----------------------------------------------------------------------------
00046 !
00047 !*    0.     DECLARATION
00048 !            -----------
00049 !
00050 USE MODD_DATA_TEB_GARDEN_n, ONLY : XDATA_LAI, XDATA_H_TREE, XDATA_VEGTYPE, &
00051                                    XDATA_VEG, XDATA_Z0, XDATA_Z0_O_Z0H,    &
00052                                    XDATA_EMIS, XDATA_GAMMA, XDATA_CV,      &
00053                                    XDATA_RGL, XDATA_RSMIN, XDATA_DG,       &
00054                                    XDATA_ALBNIR_VEG, XDATA_ALBVIS_VEG,     &
00055                                    XDATA_ALBUV_VEG, XDATA_DICE,            &
00056                                    XDATA_ALBNIR_SOIL, XDATA_ALBVIS_SOIL,   &
00057                                    XDATA_ALBUV_SOIL,                       &
00058                                    XDATA_GMES, XDATA_BSLAI, XDATA_LAIMIN,  &
00059                                    XDATA_SEFOLD, XDATA_GC, XDATA_WRMAX_CF, &
00060                                    XDATA_ROOTFRAC, LDATA_STRESS,           &
00061                                    XDATA_DMAX, XDATA_F2I, XDATA_RE25,      &
00062                                    XDATA_CE_NITRO, XDATA_CF_NITRO,         &
00063                                    XDATA_CNA_NITRO  
00064 
00065 !
00066 !
00067 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00068 USE PARKIND1  ,ONLY : JPRB
00069 !
00070 IMPLICIT NONE
00071 !
00072 !*    0.1    Declaration of arguments
00073 !            ------------------------
00074 !
00075 INTEGER,                INTENT(IN)    :: KDECADE
00076  CHARACTER(LEN=*),       INTENT(IN)    :: HPHOTO  ! type of photosynthesis
00077 !
00078 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PVEG
00079 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PLAI
00080 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PRSMIN
00081 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PGAMMA
00082 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PWRMAX_CF
00083 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PRGL
00084 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PCV
00085 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT)   :: PDG
00086 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PD_ICE
00087 REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT)   :: PROOTFRAC
00088 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PZ0
00089 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PZ0_O_Z0H
00090 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PALBNIR_VEG
00091 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PALBVIS_VEG
00092 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PALBUV_VEG
00093 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PEMIS
00094 !
00095 REAL, DIMENSION(:,:),   OPTIONAL, INTENT(OUT)   :: PVEGTYPE
00096 !
00097 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PGMES
00098 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PRE25
00099 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PBSLAI
00100 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PLAIMIN
00101 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PSEFOLD
00102 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PGC
00103 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PDMAX
00104 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PF2I
00105 LOGICAL, DIMENSION(:),OPTIONAL, INTENT(OUT)   :: OSTRESS
00106 !
00107 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PH_TREE
00108 !
00109 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PCE_NITRO
00110 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PCF_NITRO
00111 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PCNA_NITRO
00112 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PALBNIR_SOIL
00113 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PALBVIS_SOIL
00114 REAL, DIMENSION(:),   OPTIONAL, INTENT(OUT)   :: PALBUV_SOIL
00115 !
00116 !*    0.2    Declaration of local variables
00117 !            ------------------------------
00118 !
00119 INTEGER :: ITIME
00120 INTEGER :: ILUOUT
00121 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00122 !-------------------------------------------------------------------------------
00123 !
00124 !*    1.      TIME INITIALIZATION
00125 !             -------------------
00126 !
00127 ! data every month
00128 IF (LHOOK) CALL DR_HOOK('INIT_FROM_DATA_GRDN_N',0,ZHOOK_HANDLE)
00129 ITIME = (KDECADE+2)/3      
00130 !
00131 !*    2.      SECONDARY VARIABLES
00132 !             -------------------
00133 !
00134 !*    2.1     fields on natural surfaces only, taking into account patches/ 
00135 !             -------------------------------
00136 !
00137 !
00138 IF (PRESENT(PH_TREE)) THEN
00139   IF (SIZE(PH_TREE)>0) PH_TREE = XDATA_H_TREE
00140 ENDIF
00141 !
00142 IF (PRESENT(PVEGTYPE)) PVEGTYPE = XDATA_VEGTYPE
00143 !
00144 ! vegetation fraction
00145 ! -------------------
00146 !
00147 IF (PRESENT(PVEG)) PVEG(:) =  XDATA_VEG (:,ITIME)
00148 !
00149 ! Leaf Aera Index
00150 ! ---------------
00151 !
00152 IF (PRESENT(PLAI)) PLAI(:) = XDATA_LAI (:,ITIME)
00153 !
00154 ! roughness length
00155 ! ----------------
00156 !
00157 IF (PRESENT(PZ0)) PZ0(:) =  XDATA_Z0 (:,ITIME)
00158 !
00159 IF (PRESENT(PZ0_O_Z0H)) PZ0_O_Z0H = XDATA_Z0_O_Z0H
00160 !
00161 !
00162 !emis-eco
00163 !--------
00164 !
00165 IF (PRESENT(PEMIS)) PEMIS(:) =  XDATA_EMIS (:,ITIME)
00166 ! 
00167 !---------------------------------------------------------------------------------
00168 ! 
00169 !* 1/Rsmin
00170 !
00171 IF (PRESENT(PRSMIN)) THEN
00172   IF (SIZE(PRSMIN)>0) PRSMIN = XDATA_RSMIN
00173 END IF
00174 !
00175 !* other vegetation parameters
00176 !
00177 IF (PRESENT(PGAMMA)) PGAMMA = XDATA_GAMMA
00178 IF (PRESENT(PWRMAX_CF)) PWRMAX_CF = XDATA_WRMAX_CF
00179 !
00180 !
00181 IF (PRESENT(PRGL)) PRGL = XDATA_RGL
00182 IF (PRESENT(PCV)) PCV = XDATA_CV
00183 !
00184 !---------------------------------------------------------------------------------
00185 !
00186 !* soil layers
00187 !  -----------
00188 !
00189 IF (PRESENT(PDG)) PDG = XDATA_DG
00190 !
00191 !* cumulative root fraction
00192 !
00193 IF (PRESENT(PROOTFRAC)) THEN
00194   IF (SIZE(PROOTFRAC)>0) PROOTFRAC = XDATA_ROOTFRAC
00195 ENDIF
00196 !
00197 !* soil ice for runoff
00198 !
00199 IF (PRESENT(PD_ICE)) PD_ICE = XDATA_DICE
00200 !
00201 !---------------------------------------------------------------------------------
00202 IF (PRESENT(PALBNIR_VEG)) PALBNIR_VEG = XDATA_ALBNIR_VEG
00203 IF (PRESENT(PALBVIS_VEG)) PALBVIS_VEG = XDATA_ALBVIS_VEG
00204 IF (PRESENT(PALBUV_VEG)) PALBUV_VEG = XDATA_ALBUV_VEG
00205 
00206 IF (PRESENT(PALBNIR_SOIL)) PALBNIR_SOIL(:) = XDATA_ALBNIR_SOIL
00207 IF (PRESENT(PALBVIS_SOIL)) PALBVIS_SOIL(:) = XDATA_ALBVIS_SOIL
00208 IF (PRESENT(PALBUV_SOIL)) PALBUV_SOIL(:) = XDATA_ALBUV_SOIL
00209 
00210 IF (PRESENT(PGMES)) THEN
00211   IF (SIZE(PGMES)>0) PGMES = XDATA_GMES
00212 END IF
00213 
00214 IF (PRESENT(PBSLAI)) THEN
00215   IF (SIZE(PBSLAI)>0) PBSLAI = XDATA_BSLAI
00216 END IF
00217 
00218 IF (PRESENT(PSEFOLD)) THEN
00219   IF (SIZE(PSEFOLD)>0) PSEFOLD = XDATA_SEFOLD
00220 END IF
00221 
00222 IF (PRESENT(PGC)) THEN
00223   IF (SIZE(PGC)>0) PGC = XDATA_GC
00224 END IF
00225 
00226 IF (PRESENT(PDMAX)) THEN
00227   IF (SIZE(PDMAX)>0) PDMAX = XDATA_DMAX
00228 END IF
00229 
00230 IF (PRESENT(PRE25)) THEN
00231   IF (SIZE(PRE25)>0) PRE25 = XDATA_RE25
00232 END IF
00233 
00234 IF (PRESENT(PLAIMIN)) THEN
00235   IF (SIZE(PLAIMIN)>0) PLAIMIN = XDATA_LAIMIN
00236 END IF
00237 
00238 IF (PRESENT(PCE_NITRO)) THEN
00239   IF (SIZE(PCE_NITRO)>0) PCE_NITRO = XDATA_CE_NITRO
00240 END IF
00241 
00242 IF (PRESENT(PCF_NITRO)) THEN
00243   IF (SIZE(PCF_NITRO)>0) PCF_NITRO = XDATA_CF_NITRO
00244 END IF
00245 
00246 IF (PRESENT(PCNA_NITRO)) THEN
00247   IF (SIZE(PCNA_NITRO)>0) PCNA_NITRO = XDATA_CNA_NITRO
00248 END IF
00249 
00250 IF (PRESENT(PF2I)) THEN
00251   IF (SIZE(PF2I)>0) PF2I = XDATA_F2I
00252 END IF
00253 !
00254 IF (PRESENT(OSTRESS)) THEN
00255   IF (SIZE(OSTRESS)>0) OSTRESS = LDATA_STRESS
00256 END IF
00257 IF (LHOOK) CALL DR_HOOK('INIT_FROM_DATA_GRDN_N',1,ZHOOK_HANDLE)
00258 !
00259 !-------------------------------------------------------------------------------
00260 !
00261 END SUBROUTINE INIT_FROM_DATA_GRDN_n