SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/diag_misc_teb_initn.F90
Go to the documentation of this file.
00001 !     ######spl
00002       SUBROUTINE DIAG_MISC_TEB_INIT_n(HPROGRAM,KLU,KSW)
00003 !     #####################
00004 !
00005 !!****  *DIAG_MISC_TEB_INIT_n* - routine to initialize TEB diagnostic variables
00006 !!
00007 !!    PURPOSE
00008 !!    -------
00009 !!
00010 !!**  METHOD
00011 !!    ------
00012 !!
00013 !!    EXTERNAL
00014 !!    --------
00015 !!
00016 !!
00017 !!    IMPLICIT ARGUMENTS
00018 !!    ------------------
00019 !!
00020 !!    REFERENCE
00021 !!    ---------
00022 !!
00023 !!
00024 !!    AUTHOR
00025 !!    ------
00026 !!      V. Masson   *Meteo France*      
00027 !!
00028 !!    MODIFICATIONS
00029 !!    -------------
00030 !!      Original    01/2004 
00031 !-------------------------------------------------------------------------------
00032 !
00033 !*       0.    DECLARATIONS
00034 !              ------------
00035 !
00036 USE MODD_SURF_PAR,   ONLY : XUNDEF
00037 USE MODD_TYPE_DATE_SURF
00038 !
00039 USE MODD_TEB_n,             ONLY : CBEM
00040 USE MODD_DIAG_MISC_TEB_n,   ONLY : LSURF_MISC_BUDGET,                         &
00041                                      XQF_BLD, XQF_TOWN, XDQS_TOWN, XFLX_BLD,  &
00042                                      XRN_ROAD, XH_ROAD, XLE_ROAD, XGFLUX_ROAD,&
00043                                      XRN_WALL_A, XH_WALL_A, XGFLUX_WALL_A,    &
00044                                      XRN_WALL_B, XH_WALL_B, XGFLUX_WALL_B,    &
00045                                      XRN_ROOF, XH_ROOF, XLE_ROOF, XGFLUX_ROOF,&
00046                                      XRN_GARDEN,XH_GARDEN,XLE_GARDEN,         &
00047                                      XGFLUX_GARDEN,                           &
00048                                      XRN_STRLROOF, XH_STRLROOF,               &
00049                                      XLE_STRLROOF, XGFLUX_STRLROOF,           &
00050                                      XRN_GREENROOF, XH_GREENROOF,             &
00051                                      XLE_GREENROOF, XGFLUX_GREENROOF,         &
00052                                      XRUNOFF_GREENROOF, XDRAIN_GREENROOF,     &
00053                                      XRN_BLT,XH_BLT,XLE_BLT,XGFLUX_BLT,       &
00054                                      XABS_SW_ROOF ,XABS_SW_SNOW_ROOF,         &
00055                                      XABS_LW_ROOF ,XABS_LW_SNOW_ROOF,         &
00056                                      XABS_SW_ROAD ,XABS_SW_SNOW_ROAD,         &
00057                                      XABS_LW_ROAD ,XABS_LW_SNOW_ROAD,         &
00058                                      XABS_SW_WALL_A, XABS_SW_WALL_B,          &
00059                                      XABS_LW_WALL_A, XABS_LW_WALL_B,          &
00060                                      XABS_SW_GARDEN,XABS_LW_GARDEN,           &
00061                                      XABS_SW_GREENROOF,XABS_LW_GREENROOF,     &
00062                                      XG_GREENROOF_ROOF,                       &
00063                                      XH_BLD_COOL, XT_BLD_COOL,                &
00064                                      XH_BLD_HEAT, XLE_BLD_COOL, XLE_BLD_HEAT, &
00065                                      XH_WASTE, XLE_WASTE, XHVAC_COOL,         &
00066                                      XHVAC_HEAT, XCAP_SYS, XM_SYS, XCOP,      &
00067                                      XQ_SYS, XT_SYS, XTR_SW_WIN, XFAN_POWER,  &
00068                                      XABS_SW_WIN, XABS_LW_WIN, XEMIT_LW_GRND, &
00069                                      XEMIT_LW_FAC, XT_RAD_IND,                &
00070                                      XREF_SW_GRND, XREF_SW_FAC, XHU_BLD
00071 
00072 !
00073 USE MODI_READ_SURF
00074 !
00075 !
00076 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00077 USE PARKIND1  ,ONLY : JPRB
00078 !
00079 IMPLICIT NONE
00080 !
00081 !*       0.1   Declarations of arguments
00082 !              -------------------------
00083 !
00084 INTEGER, INTENT(IN) :: KLU   ! size of arrays
00085 INTEGER, INTENT(IN) :: KSW   ! spectral bands
00086  CHARACTER(LEN=6), INTENT(IN):: HPROGRAM  ! program calling
00087 !
00088 !*       0.2   Declarations of local variables
00089 !              -------------------------------
00090 !
00091 INTEGER           :: IRESP          ! IRESP  : return-code if a problem appears
00092  CHARACTER(LEN=12) :: YREC           ! Name of the article to be read
00093 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00094 !
00095 !-------------------------------------------------------------------------------
00096 !
00097 !* surface energy budget
00098 !
00099 IF (LHOOK) CALL DR_HOOK('DIAG_MISC_TEB_INIT_N',0,ZHOOK_HANDLE)
00100 !
00101 !* miscellaneous fields
00102 !
00103 IF (LSURF_MISC_BUDGET) THEN
00104   ALLOCATE(XQF_BLD           (KLU))
00105   ALLOCATE(XFLX_BLD          (KLU))
00106   ALLOCATE(XQF_TOWN          (KLU))
00107   ALLOCATE(XDQS_TOWN         (KLU))
00108   ALLOCATE(XRN_ROAD          (KLU))
00109   ALLOCATE(XH_ROAD           (KLU))
00110   ALLOCATE(XLE_ROAD          (KLU))
00111   ALLOCATE(XGFLUX_ROAD       (KLU))
00112   ALLOCATE(XRN_WALL_A        (KLU))
00113   ALLOCATE(XH_WALL_A         (KLU))
00114   ALLOCATE(XGFLUX_WALL_A     (KLU))
00115   ALLOCATE(XRN_WALL_B        (KLU))
00116   ALLOCATE(XH_WALL_B         (KLU))
00117   ALLOCATE(XGFLUX_WALL_B     (KLU))
00118   ALLOCATE(XRN_ROOF          (KLU))
00119   ALLOCATE(XH_ROOF           (KLU))
00120   ALLOCATE(XLE_ROOF          (KLU))
00121   ALLOCATE(XGFLUX_ROOF       (KLU))
00122   ALLOCATE(XRN_GARDEN        (KLU))
00123   ALLOCATE(XH_GARDEN         (KLU))
00124   ALLOCATE(XLE_GARDEN        (KLU))
00125   ALLOCATE(XGFLUX_GARDEN     (KLU))
00126   ALLOCATE(XRN_BLT           (KLU))
00127   ALLOCATE(XH_BLT            (KLU))
00128   ALLOCATE(XLE_BLT           (KLU))
00129   ALLOCATE(XGFLUX_BLT        (KLU))
00130   ALLOCATE(XRN_STRLROOF      (KLU))
00131   ALLOCATE(XH_STRLROOF       (KLU))
00132   ALLOCATE(XLE_STRLROOF      (KLU))
00133   ALLOCATE(XGFLUX_STRLROOF   (KLU))
00134   ALLOCATE(XRN_GREENROOF     (KLU))
00135   ALLOCATE(XH_GREENROOF      (KLU))
00136   ALLOCATE(XLE_GREENROOF     (KLU))
00137   ALLOCATE(XGFLUX_GREENROOF  (KLU))
00138   ALLOCATE(XG_GREENROOF_ROOF (KLU))
00139   ALLOCATE(XRUNOFF_GREENROOF (KLU))
00140   ALLOCATE(XDRAIN_GREENROOF  (KLU))
00141   !
00142   ALLOCATE(XABS_SW_ROOF      (KLU))
00143   ALLOCATE(XABS_SW_SNOW_ROOF (KLU))
00144   ALLOCATE(XABS_LW_ROOF      (KLU))
00145   ALLOCATE(XABS_LW_SNOW_ROOF (KLU))
00146   ALLOCATE(XABS_SW_ROAD      (KLU))
00147   ALLOCATE(XABS_SW_SNOW_ROAD (KLU))
00148   ALLOCATE(XABS_LW_ROAD      (KLU))
00149   ALLOCATE(XABS_LW_SNOW_ROAD (KLU))
00150   ALLOCATE(XABS_SW_WALL_A    (KLU))
00151   ALLOCATE(XABS_SW_WALL_B    (KLU))
00152   ALLOCATE(XABS_LW_WALL_A    (KLU))
00153   ALLOCATE(XABS_LW_WALL_B    (KLU))
00154   ALLOCATE(XABS_SW_GARDEN    (KLU))
00155   ALLOCATE(XABS_LW_GARDEN    (KLU))
00156   ALLOCATE(XABS_SW_GREENROOF (KLU))
00157   ALLOCATE(XABS_LW_GREENROOF (KLU))
00158   !
00159   ALLOCATE(XREF_SW_FAC       (KLU))  
00160   ALLOCATE(XREF_SW_GRND      (KLU))
00161   !
00162   ALLOCATE(XEMIT_LW_FAC      (KLU))
00163   ALLOCATE(XEMIT_LW_GRND     (KLU))
00164   !
00165   IF (CBEM=='BEM') THEN
00166     ALLOCATE(XH_BLD_COOL    (KLU))
00167     ALLOCATE(XT_BLD_COOL    (KLU))
00168     ALLOCATE(XH_BLD_HEAT    (KLU))
00169     ALLOCATE(XLE_BLD_COOL   (KLU))
00170     ALLOCATE(XLE_BLD_HEAT   (KLU))
00171     ALLOCATE(XH_WASTE       (KLU))
00172     ALLOCATE(XLE_WASTE      (KLU))
00173     ALLOCATE(XHVAC_COOL     (KLU))
00174     ALLOCATE(XHVAC_HEAT     (KLU))
00175     ALLOCATE(XCAP_SYS       (KLU))
00176     ALLOCATE(XM_SYS         (KLU))
00177     ALLOCATE(XCOP           (KLU))
00178     ALLOCATE(XQ_SYS         (KLU))
00179     ALLOCATE(XT_SYS         (KLU))
00180     ALLOCATE(XTR_SW_WIN     (KLU))
00181     ALLOCATE(XFAN_POWER     (KLU))
00182     ALLOCATE(XT_RAD_IND     (KLU))
00183     ALLOCATE(XHU_BLD        (KLU))
00184     ALLOCATE(XABS_SW_WIN    (KLU)) 
00185     ALLOCATE(XABS_LW_WIN    (KLU))    
00186   ENDIF
00187   !
00188   XQF_BLD            = XUNDEF
00189   XFLX_BLD           = XUNDEF
00190   XQF_TOWN           = XUNDEF
00191   XDQS_TOWN          = XUNDEF
00192   XRN_ROAD           = XUNDEF
00193   XH_ROAD            = XUNDEF
00194   XLE_ROAD           = XUNDEF
00195   XGFLUX_ROAD        = XUNDEF
00196   XRN_WALL_A         = XUNDEF
00197   XH_WALL_A          = XUNDEF
00198   XGFLUX_WALL_A      = XUNDEF
00199   XRN_WALL_B         = XUNDEF
00200   XH_WALL_B          = XUNDEF
00201   XGFLUX_WALL_B      = XUNDEF
00202   XRN_ROOF           = XUNDEF
00203   XH_ROOF            = XUNDEF
00204   XLE_ROOF           = XUNDEF
00205   XGFLUX_ROOF        = XUNDEF 
00206   XRN_GARDEN         = XUNDEF
00207   XH_GARDEN          = XUNDEF
00208   XLE_GARDEN         = XUNDEF
00209   XGFLUX_GARDEN      = XUNDEF  
00210   XRN_BLT            = XUNDEF
00211   XH_BLT             = XUNDEF
00212   XLE_BLT            = XUNDEF
00213   XGFLUX_BLT         = XUNDEF  
00214   XRN_STRLROOF       = XUNDEF
00215   XH_STRLROOF        = XUNDEF
00216   XLE_STRLROOF       = XUNDEF
00217   XGFLUX_STRLROOF    = XUNDEF  
00218   XRN_GREENROOF      = XUNDEF
00219   XH_GREENROOF       = XUNDEF
00220   XLE_GREENROOF      = XUNDEF
00221   XGFLUX_GREENROOF   = XUNDEF  
00222   XG_GREENROOF_ROOF  = XUNDEF  
00223   XRUNOFF_GREENROOF  = XUNDEF  
00224   XDRAIN_GREENROOF   = XUNDEF  
00225 !
00226   XABS_SW_ROOF       = XUNDEF  
00227   XABS_SW_SNOW_ROOF  = XUNDEF  
00228   XABS_LW_ROOF       = XUNDEF  
00229   XABS_LW_SNOW_ROOF  = XUNDEF  
00230   XABS_SW_ROAD       = XUNDEF  
00231   XABS_SW_SNOW_ROAD  = XUNDEF  
00232   XABS_LW_ROAD       = XUNDEF  
00233   XABS_LW_SNOW_ROAD  = XUNDEF  
00234   XABS_SW_WALL_A     = XUNDEF  
00235   XABS_SW_WALL_B     = XUNDEF  
00236   XABS_LW_WALL_A     = XUNDEF  
00237   XABS_LW_WALL_B     = XUNDEF  
00238   XABS_SW_GARDEN     = XUNDEF  
00239   XABS_LW_GARDEN     = XUNDEF 
00240   XABS_SW_GREENROOF  = XUNDEF  
00241   XABS_LW_GREENROOF  = XUNDEF 
00242   !
00243   XREF_SW_FAC        = XUNDEF
00244   XREF_SW_GRND       = XUNDEF
00245   !
00246   XEMIT_LW_FAC       = XUNDEF
00247   XEMIT_LW_GRND      = XUNDEF
00248   !
00249   IF (CBEM=='BEM') THEN
00250     XH_BLD_COOL     = XUNDEF
00251     XT_BLD_COOL     = XUNDEF
00252     XH_BLD_HEAT     = XUNDEF
00253     XLE_BLD_COOL    = XUNDEF
00254     XLE_BLD_HEAT    = XUNDEF
00255     XH_WASTE        = XUNDEF
00256     XLE_WASTE       = XUNDEF
00257     XHVAC_COOL      = XUNDEF
00258     XHVAC_HEAT      = XUNDEF
00259     XCAP_SYS        = XUNDEF
00260     XM_SYS          = XUNDEF
00261     XCOP            = XUNDEF
00262     XQ_SYS          = XUNDEF
00263     XT_SYS          = XUNDEF
00264     XTR_SW_WIN      = XUNDEF
00265     XFAN_POWER      = XUNDEF
00266     XT_RAD_IND      = XUNDEF
00267     XHU_BLD         = XUNDEF
00268     XABS_SW_WIN     = XUNDEF 
00269     XABS_LW_WIN     = XUNDEF    
00270   ENDIF
00271 !  
00272 ENDIF
00273 !
00274 IF (LHOOK) CALL DR_HOOK('DIAG_MISC_TEB_INIT_N',1,ZHOOK_HANDLE)
00275 !
00276 !-------------------------------------------------------------------------------
00277 !
00278 END SUBROUTINE DIAG_MISC_TEB_INIT_n