SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/diag_misc_tebn.F90
Go to the documentation of this file.
00001 !     #########
00002        SUBROUTINE DIAG_MISC_TEB_n(PTSTEP, PDQS_TOWN,PQF_BLD,PQF_TOWN, PFLX_BLD,             &
00003                                     PRN_ROAD, PH_ROAD, PLE_ROAD, PGFLUX_ROAD,               &
00004                                     PRN_WALL_A, PH_WALL_A, PGFLUX_WALL_A,                   &
00005                                     PRN_WALL_B, PH_WALL_B, PGFLUX_WALL_B,                   &
00006                                     PRN_ROOF, PH_ROOF, PLE_ROOF, PGFLUX_ROOF,               &
00007                                     PRUNOFF,                                                &
00008                                     PRN_STRLROOF, PH_STRLROOF,                              &
00009                                     PLE_STRLROOF, PGFLUX_STRLROOF,                          &
00010                                     PRN_GREENROOF, PH_GREENROOF,                            &
00011                                     PLE_GREENROOF, PGFLUX_GREENROOF, PG_GREENROOF_ROOF,     &
00012                                     PRUNOFF_GREENROOF, PDRAIN_GREENROOF,                    &
00013                                     PRN_GARDEN,PH_GARDEN,PLE_GARDEN,PGFLUX_GARDEN,          &
00014                                     PRN_BLT,PH_BLT,PLE_BLT,PGFLUX_BLT,                      &
00015                                     PABS_SW_ROOF,PABS_LW_ROOF,                              &
00016                                     PABS_SW_SNOW_ROOF,PABS_LW_SNOW_ROOF,                    &
00017                                     PABS_SW_ROAD,PABS_LW_ROAD,                              &
00018                                     PABS_SW_SNOW_ROAD,PABS_LW_SNOW_ROAD,                    &
00019                                     PABS_SW_WALL_A, PABS_LW_WALL_A,                         &
00020                                     PABS_SW_WALL_B, PABS_LW_WALL_B,                         &
00021                                     PABS_SW_GARDEN,PABS_LW_GARDEN,                          &  
00022                                     PABS_SW_GREENROOF,PABS_LW_GREENROOF,                    &  
00023                                     PH_BLD_COOL, PT_BLD_COOL,                               &     
00024                                     PH_BLD_HEAT, PLE_BLD_COOL, PLE_BLD_HEAT,                &
00025                                     PH_WASTE, PLE_WASTE, PHVAC_COOL,                        &
00026                                     PHVAC_HEAT, PCAP_SYS, PM_SYS, PCOP,                     &
00027                                     PQ_SYS, PT_SYS, PTR_SW_WIN, PFAN_POWER,                 &
00028                                     PABS_SW_WIN, PABS_LW_WIN                                )  
00029 !     ###############################################################################
00030 !
00031 !!****  *DIAG_MISC-TEB_n * - additional diagnostics for TEB
00032 !!
00033 !!    PURPOSE
00034 !!    -------
00035 !
00036 !!**  METHOD
00037 !!    ------
00038 !!
00039 !!    REFERENCE
00040 !!    ---------
00041 !!      
00042 !!
00043 !!    AUTHOR
00044 !!    ------
00045 !!     P. Le Moigne 
00046 !!
00047 !!    MODIFICATIONS
00048 !!    -------------
00049 !!      Original    10/2005
00050 !!------------------------------------------------------------------
00051 !
00052 !
00053 !
00054 USE MODD_DIAG_MISC_TEB_n,    ONLY : XQF_BLD, XQF_TOWN, XDQS_TOWN, XFLX_BLD,       &
00055                                     LSURF_MISC_BUDGET,                            &
00056                                     XRN_ROAD, XH_ROAD, XLE_ROAD,                  &
00057                                     XGFLUX_ROAD,                                  &
00058                                     XRN_WALL_A, XH_WALL_A, XGFLUX_WALL_A,         &
00059                                     XRN_WALL_B, XH_WALL_B, XGFLUX_WALL_B,         &
00060                                     XRN_ROOF, XH_ROOF, XLE_ROOF,                  &
00061                                     XGFLUX_ROOF,                                  &
00062                                     XRN_STRLROOF, XH_STRLROOF,                    &
00063                                     XLE_STRLROOF, XGFLUX_STRLROOF,                &
00064                                     XRN_GREENROOF, XH_GREENROOF,                  &
00065                                     XLE_GREENROOF, XGFLUX_GREENROOF,              &
00066                                     XG_GREENROOF_ROOF,                            &
00067                                     XRN_GARDEN,XH_GARDEN,XLE_GARDEN,XGFLUX_GARDEN,&
00068                                     XRN_BLT,XH_BLT,XLE_BLT,XGFLUX_BLT,            &
00069                                     XRUNOFF_GREENROOF, XDRAIN_GREENROOF,          &
00070                                     XABS_SW_ROOF,XABS_LW_ROOF,                    &
00071                                     XABS_SW_SNOW_ROOF,XABS_LW_SNOW_ROOF,          &
00072                                     XABS_SW_ROAD,XABS_LW_ROAD,                    &
00073                                     XABS_SW_SNOW_ROAD,XABS_LW_SNOW_ROAD,          &
00074                                     XABS_SW_WALL_A,XABS_LW_WALL_A,                &
00075                                     XABS_SW_WALL_B,XABS_LW_WALL_B,                &
00076                                     XABS_SW_GARDEN,XABS_LW_GARDEN,                &  
00077                                     XABS_SW_GREENROOF,XABS_LW_GREENROOF,          &  
00078                                     XH_BLD_COOL, XT_BLD_COOL,                     &     
00079                                     XH_BLD_HEAT, XLE_BLD_COOL, XLE_BLD_HEAT,      &
00080                                     XH_WASTE, XLE_WASTE, XHVAC_COOL,              &
00081                                     XHVAC_HEAT, XCAP_SYS, XM_SYS, XCOP,           &
00082                                     XQ_SYS, XT_SYS, XTR_SW_WIN, XFAN_POWER,       &
00083                                     XABS_SW_WIN, XABS_LW_WIN
00084 !
00085 USE MODD_TEB_n,              ONLY : CBEM 
00086 !
00087 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00088 USE PARKIND1  ,ONLY : JPRB
00089 !
00090 IMPLICIT NONE
00091 !
00092 !*      0.1    declarations of arguments
00093 !
00094        REAL,               INTENT(IN) :: PTSTEP            ! time step
00095        REAL, DIMENSION(:), INTENT(IN) :: PQF_BLD           ! domestic heating
00096        REAL, DIMENSION(:), INTENT(IN) :: PFLX_BLD          ! heat flux from bld
00097        REAL, DIMENSION(:), INTENT(IN) :: PQF_TOWN          ! total anthropogenic heat
00098        REAL, DIMENSION(:), INTENT(IN) :: PDQS_TOWN         ! storage inside town mat.
00099        REAL, DIMENSION(:), INTENT(IN) :: PRN_ROAD          ! net radiation for roads
00100        REAL, DIMENSION(:), INTENT(IN) :: PH_ROAD           ! sensible heat flux for roads
00101        REAL, DIMENSION(:), INTENT(IN) :: PLE_ROAD          ! latent heat flux for roads
00102        REAL, DIMENSION(:), INTENT(IN) :: PGFLUX_ROAD       ! storage flux for roads
00103        REAL, DIMENSION(:), INTENT(IN) :: PRN_WALL_A        ! net radiation for wall
00104        REAL, DIMENSION(:), INTENT(IN) :: PH_WALL_A         ! sensible heat flux for walls
00105        REAL, DIMENSION(:), INTENT(IN) :: PGFLUX_WALL_A     ! storage flux for walls
00106        REAL, DIMENSION(:), INTENT(IN) :: PRN_WALL_B        ! net radiation for wall
00107        REAL, DIMENSION(:), INTENT(IN) :: PH_WALL_B         ! sensible heat flux for walls
00108        REAL, DIMENSION(:), INTENT(IN) :: PGFLUX_WALL_B     ! storage flux for walls
00109        REAL, DIMENSION(:), INTENT(IN) :: PRN_ROOF          ! net radiation for roofs
00110        REAL, DIMENSION(:), INTENT(IN) :: PH_ROOF           ! sensible heat flux for roofs
00111        REAL, DIMENSION(:), INTENT(IN) :: PLE_ROOF          ! latent heat flux for roofs
00112        REAL, DIMENSION(:), INTENT(IN) :: PGFLUX_ROOF       ! storage flux for roofs       
00113        REAL, DIMENSION(:), INTENT(IN) :: PRUNOFF           ! runoff for town    
00114        REAL, DIMENSION(:), INTENT(IN) :: PRN_STRLROOF      ! net radiation for structural roofs
00115        REAL, DIMENSION(:), INTENT(IN) :: PH_STRLROOF       ! sensible heat flux for structural roofs
00116        REAL, DIMENSION(:), INTENT(IN) :: PLE_STRLROOF      ! latent heat flux for structural roofs
00117        REAL, DIMENSION(:), INTENT(IN) :: PGFLUX_STRLROOF   ! storage flux for structural roofs       
00118        REAL, DIMENSION(:), INTENT(IN) :: PRN_GREENROOF     ! net radiation for green roofs
00119        REAL, DIMENSION(:), INTENT(IN) :: PH_GREENROOF      ! sensible heat flux for green roofs
00120        REAL, DIMENSION(:), INTENT(IN) :: PLE_GREENROOF     ! latent heat flux for green roofs
00121        REAL, DIMENSION(:), INTENT(IN) :: PGFLUX_GREENROOF  ! storage flux for green roofs
00122        REAL, DIMENSION(:), INTENT(IN) :: PG_GREENROOF_ROOF ! heat flux between green/structural roofs
00123        REAL, DIMENSION(:), INTENT(IN) :: PRUNOFF_GREENROOF ! runoff for green roofs       
00124        REAL, DIMENSION(:), INTENT(IN) :: PDRAIN_GREENROOF  ! total vertical drainage for green roofs       
00125        REAL, DIMENSION(:), INTENT(IN) :: PRN_GARDEN        ! net radiation for GARDEN areas
00126        REAL, DIMENSION(:), INTENT(IN) :: PH_GARDEN         ! sensible heat flux for GARDEN areas
00127        REAL, DIMENSION(:), INTENT(IN) :: PLE_GARDEN        ! latent heat flux for GARDEN areas
00128        REAL, DIMENSION(:), INTENT(IN) :: PGFLUX_GARDEN     ! storage flux for GARDEN areas
00129        REAL, DIMENSION(:), INTENT(IN) :: PRN_BLT           ! net radiation for built surf
00130        REAL, DIMENSION(:), INTENT(IN) :: PH_BLT            ! sensible heat flux for built surf
00131        REAL, DIMENSION(:), INTENT(IN) :: PLE_BLT           ! latent heat flux for built surf
00132        REAL, DIMENSION(:), INTENT(IN) :: PGFLUX_BLT        ! storage flux for built surf
00133 !
00134        REAL, DIMENSION(:), INTENT(IN) :: PABS_SW_ROOF      ! Sdown absorbed by roofs
00135        REAL, DIMENSION(:), INTENT(IN) :: PABS_SW_SNOW_ROOF ! Sdown absorbed by snow on roofs
00136        REAL, DIMENSION(:), INTENT(IN) :: PABS_LW_ROOF      ! Ldown absorbed by roofs
00137        REAL, DIMENSION(:), INTENT(IN) :: PABS_LW_SNOW_ROOF ! Ldown absorbed by snow on roofs
00138        REAL, DIMENSION(:), INTENT(IN) :: PABS_SW_ROAD      ! Sdown absorbed by roads
00139        REAL, DIMENSION(:), INTENT(IN) :: PABS_SW_SNOW_ROAD ! Sdown absorbed by snow on roads
00140        REAL, DIMENSION(:), INTENT(IN) :: PABS_LW_ROAD      ! Ldown absorbed by roads
00141        REAL, DIMENSION(:), INTENT(IN) :: PABS_LW_SNOW_ROAD ! Ldown absorbed by snow on roads
00142        REAL, DIMENSION(:), INTENT(IN) :: PABS_SW_WALL_A    ! Sdown absorbed by walls
00143        REAL, DIMENSION(:), INTENT(IN) :: PABS_LW_WALL_A    ! Ldown absorbed by walls
00144        REAL, DIMENSION(:), INTENT(IN) :: PABS_SW_WALL_B    ! Sdown absorbed by walls
00145        REAL, DIMENSION(:), INTENT(IN) :: PABS_LW_WALL_B    ! Ldown absorbed by walls
00146        REAL, DIMENSION(:), INTENT(IN) :: PABS_SW_GARDEN    ! Sdown absorbed by GARDEN areas
00147        REAL, DIMENSION(:), INTENT(IN) :: PABS_LW_GARDEN    ! Ldown absorbed by GARDEN areas
00148        REAL, DIMENSION(:), INTENT(IN) :: PABS_SW_GREENROOF ! Sdown absorbed by green roofs
00149        REAL, DIMENSION(:), INTENT(IN) :: PABS_LW_GREENROOF ! Ldown absorbed by green roofs
00150 !  new arguments after BEM
00151        REAL, DIMENSION(:), INTENT(IN) :: PH_BLD_COOL       ! Sensible cooling energy demand  
00152                                                            ! of the building [W m-2(bld)]
00153        REAL, DIMENSION(:), INTENT(IN) :: PT_BLD_COOL       ! Total cooling energy demand  
00154                                                            ! of the building [W m-2(bld)]
00155        REAL, DIMENSION(:), INTENT(IN) :: PH_BLD_HEAT       ! Heating energy demand       
00156                                                            ! of the building [W m-2(bld)]
00157        REAL, DIMENSION(:), INTENT(IN) :: PLE_BLD_COOL      ! Latent cooling energy demand 
00158                                                            ! of the building [W m-2(bld)]
00159        REAL, DIMENSION(:), INTENT(IN) :: PLE_BLD_HEAT      ! Latent heating energy demand 
00160                                                            ! of the building [W m-2(bld)]
00161        REAL, DIMENSION(:), INTENT(IN) :: PH_WASTE          ! Sensible waste heat from HVAC system
00162                                                            ! [W m-2(bld)]
00163        REAL, DIMENSION(:), INTENT(IN) :: PLE_WASTE         ! Latent waste heat from HVAC system
00164                                                            ! [W m-2(bld)]
00165        REAL, DIMENSION(:), INTENT(IN) :: PHVAC_COOL        ! Energy consumption of the cooling system
00166                                                            ! [W m-2(bld)]
00167        REAL, DIMENSION(:), INTENT(IN) :: PHVAC_HEAT        ! Energy consumption of the heating system
00168                                                            ! [W m-2(bld)]
00169        REAL, DIMENSION(:), INTENT(IN) :: PCAP_SYS          ! Actual capacity of the cooling system
00170                                                            ! [W m-2(bld)] 
00171        REAL, DIMENSION(:), INTENT(IN) :: PM_SYS            ! Actual HVAC mass flow rate 
00172                                                            ! [kg s-1 m-2(bld)]
00173        REAL, DIMENSION(:), INTENT(IN) :: PCOP              ! COP of the cooling system
00174        REAL, DIMENSION(:), INTENT(IN) :: PQ_SYS            ! Supply air specific humidity [kg kg-1]
00175        REAL, DIMENSION(:), INTENT(IN) :: PT_SYS            ! Supply air temperature [K]
00176        REAL, DIMENSION(:), INTENT(IN) :: PTR_SW_WIN        ! Solar radiation transmitted throught
00177                                                            ! windows [W m-2(bld)]
00178        REAL, DIMENSION(:), INTENT(IN) :: PFAN_POWER        ! HVAC fan power
00179        REAL, DIMENSION(:), INTENT(IN) :: PABS_SW_WIN       ! window absorbed shortwave radiation [W m-2] 
00180        REAL, DIMENSION(:), INTENT(IN) :: PABS_LW_WIN       ! absorbed infrared rad. [W m-2]
00181        !
00182 !
00183 !
00184 !*      0.2    declarations of local variables
00185 !
00186        REAL(KIND=JPRB) :: ZHOOK_HANDLE
00187 !-------------------------------------------------------------------------------------
00188 !
00189 IF (LHOOK) CALL DR_HOOK('DIAG_MISC_TEB_N',0,ZHOOK_HANDLE)
00190 IF (LSURF_MISC_BUDGET) THEN
00191    XQF_BLD            =  PQF_BLD
00192    XFLX_BLD           =  PFLX_BLD
00193    XQF_TOWN           =  PQF_TOWN
00194    XDQS_TOWN          =  PDQS_TOWN
00195    XRN_ROAD           = PRN_ROAD
00196    XH_ROAD            = PH_ROAD
00197    XLE_ROAD           = PLE_ROAD
00198    XGFLUX_ROAD        = PGFLUX_ROAD
00199    XRN_WALL_A         = PRN_WALL_A
00200    XH_WALL_A          = PH_WALL_A
00201    XGFLUX_WALL_A      = PGFLUX_WALL_A
00202    XRN_WALL_B         = PRN_WALL_B
00203    XH_WALL_B          = PH_WALL_B
00204    XGFLUX_WALL_B      = PGFLUX_WALL_B
00205    XRN_ROOF           = PRN_ROOF
00206    XH_ROOF            = PH_ROOF
00207    XLE_ROOF           = PLE_ROOF
00208    XGFLUX_ROOF        = PGFLUX_ROOF   
00209    XRN_STRLROOF       = PRN_STRLROOF
00210    XH_STRLROOF        = PH_STRLROOF
00211    XLE_STRLROOF       = PLE_STRLROOF
00212    XGFLUX_STRLROOF    = PGFLUX_STRLROOF
00213    XRN_GREENROOF      = PRN_GREENROOF
00214    XH_GREENROOF       = PH_GREENROOF
00215    XLE_GREENROOF      = PLE_GREENROOF
00216    XGFLUX_GREENROOF   = PGFLUX_GREENROOF
00217    XG_GREENROOF_ROOF  = PG_GREENROOF_ROOF
00218    XRUNOFF_GREENROOF  = PRUNOFF_GREENROOF
00219    XDRAIN_GREENROOF   = PDRAIN_GREENROOF
00220    XRN_GARDEN         = PRN_GARDEN
00221    XH_GARDEN          = PH_GARDEN
00222    XLE_GARDEN         = PLE_GARDEN
00223    XGFLUX_GARDEN      = PGFLUX_GARDEN  
00224    XRN_BLT            = PRN_BLT  
00225    XH_BLT             = PH_BLT  
00226    XLE_BLT            = PLE_BLT  
00227    XGFLUX_BLT         = PGFLUX_BLT    
00228 !
00229    XABS_SW_ROOF       = PABS_SW_ROOF
00230    XABS_LW_ROOF       = PABS_LW_ROOF
00231    XABS_SW_SNOW_ROOF  = PABS_SW_SNOW_ROOF
00232    XABS_LW_SNOW_ROOF  = PABS_LW_SNOW_ROOF
00233    XABS_SW_ROAD       = PABS_SW_ROAD
00234    XABS_LW_ROAD       = PABS_LW_ROAD
00235    XABS_SW_SNOW_ROAD  = PABS_SW_SNOW_ROAD
00236    XABS_LW_SNOW_ROAD  = PABS_LW_SNOW_ROAD
00237    XABS_SW_WALL_A     = PABS_SW_WALL_A
00238    XABS_LW_WALL_A     = PABS_LW_WALL_A
00239    XABS_SW_WALL_B     = PABS_SW_WALL_B
00240    XABS_LW_WALL_B     = PABS_LW_WALL_B
00241    XABS_SW_GARDEN     = PABS_SW_GARDEN
00242    XABS_LW_GARDEN     = PABS_LW_GARDEN
00243    XABS_SW_GREENROOF  = PABS_SW_GREENROOF
00244    XABS_LW_GREENROOF  = PABS_LW_GREENROOF
00245    !
00246    IF (CBEM=='BEM') THEN
00247      XH_BLD_COOL = PH_BLD_COOL 
00248      XT_BLD_COOL = PT_BLD_COOL  
00249      XH_BLD_HEAT = PH_BLD_HEAT  
00250      XLE_BLD_COOL= PLE_BLD_COOL  
00251      XLE_BLD_HEAT= PLE_BLD_HEAT 
00252      XH_WASTE    = PH_WASTE      
00253      XLE_WASTE   = PLE_WASTE     
00254      XHVAC_COOL  = PHVAC_COOL    
00255      XHVAC_HEAT  = PHVAC_HEAT     
00256      XCAP_SYS    = PCAP_SYS        
00257      XM_SYS      = PM_SYS         
00258      XCOP        = PCOP          
00259      XQ_SYS      = PQ_SYS     
00260      XT_SYS      = PT_SYS  
00261      XTR_SW_WIN  = PTR_SW_WIN
00262      XFAN_POWER  = PFAN_POWER 
00263      !
00264      XABS_SW_WIN = PABS_SW_WIN 
00265      XABS_LW_WIN = PABS_LW_WIN
00266    ENDIF
00267    !
00268 END IF
00269 !
00270 IF (LHOOK) CALL DR_HOOK('DIAG_MISC_TEB_N',1,ZHOOK_HANDLE)
00271 !
00272 !-------------------------------------------------------------------------------------
00273 !
00274 END SUBROUTINE DIAG_MISC_TEB_n