SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/prep_teb.F90
Go to the documentation of this file.
00001 !     #########
00002 SUBROUTINE PREP_TEB(HPROGRAM,HATMFILE,HATMFILETYPE,HPGDFILE,HPGDFILETYPE)
00003 !     #################################################################################
00004 !
00005 !!****  *PREP_TEB* - prepares TEB fields
00006 !!
00007 !!    PURPOSE
00008 !!    -------
00009 !
00010 !!**  METHOD
00011 !!    ------
00012 !!
00013 !!    REFERENCE
00014 !!    ---------
00015 !!      
00016 !!
00017 !!    AUTHOR
00018 !!    ------
00019 !!     V. Masson 
00020 !!
00021 !!    MODIFICATIONS
00022 !!    -------------
00023 !!      Original    01/2004
00024 !!      S. Riette   06/2009 PREP_TEB_CANOPY has no more argument
00025 !!------------------------------------------------------------------
00026 !
00027 !
00028 USE MODI_PREP_HOR_TEB_FIELD
00029 USE MODI_PREP_VER_TEB
00030 USE MODI_PREP_OUTPUT_GRID
00031 USE MODI_GET_LUOUT
00032 USE MODI_PREP_TEB_CANOPY
00033 USE MODI_PREP_TEB_GARDEN
00034 USE MODI_PREP_TEB_GREENROOF
00035 USE MODI_GOTO_TEB
00036 !
00037 USE MODN_PREP_TEB
00038 !
00039 USE MODD_READ_NAMELIST, ONLY : LNAM_READ
00040 USE MODD_PREP,       ONLY : XZS_LS
00041 USE MODD_SURF_ATM,   ONLY : LVERTSHIFT
00042 USE MODD_TEB_n,      ONLY : TSNOW_ROOF,TSNOW_ROAD, NTEB_PATCH,              &
00043                             LCANOPY, LGARDEN, LGREENROOF,                   &
00044                             CBEM,                                           &
00045                             CROAD_DIR_n=>CROAD_DIR, CWALL_OPT_n=>CWALL_OPT
00046 USE MODD_TEB_GRID_n, ONLY : CGRID, XGRID_PAR, XLAT, XLON
00047 !
00048 !
00049 !
00050 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00051 USE PARKIND1  ,ONLY : JPRB
00052 !
00053 USE MODI_CLEAN_PREP_OUTPUT_GRID
00054 !
00055 IMPLICIT NONE
00056 !
00057 !*      0.1    declarations of arguments
00058 !
00059  CHARACTER(LEN=6),   INTENT(IN)  :: HPROGRAM  ! program calling surf. schemes
00060  CHARACTER(LEN=28),  INTENT(IN)  :: HATMFILE    ! name of the Atmospheric file
00061  CHARACTER(LEN=6),   INTENT(IN)  :: HATMFILETYPE! type of the Atmospheric file
00062  CHARACTER(LEN=28),  INTENT(IN)  :: HPGDFILE    ! name of the Atmospheric file
00063  CHARACTER(LEN=6),   INTENT(IN)  :: HPGDFILETYPE! type of the Atmospheric file
00064 !
00065 !*      0.2    declarations of local variables
00066 !
00067 INTEGER :: ILUOUT
00068 INTEGER :: JPATCH         ! TEB patch number
00069 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00070 !-------------------------------------------------------------------------------------
00071 !
00072 !*      1.     Default of configuration
00073 !
00074 !
00075 IF (LHOOK) CALL DR_HOOK('PREP_TEB',0,ZHOOK_HANDLE)
00076  CALL GET_LUOUT(HPROGRAM,ILUOUT)
00077 !
00078  CALL PREP_OUTPUT_GRID(ILUOUT,CGRID,XGRID_PAR,XLAT,XLON)
00079 !
00080 !-------------------------------------------------------------------------------------
00081 !
00082 !*      2.     Reading and horizontal interpolations
00083 !
00084 !
00085 !*      2.0    Large scale orography
00086 !
00087  CALL PREP_HOR_TEB_FIELD(HPROGRAM,'ZS     ',HATMFILE,HATMFILETYPE,HPGDFILE,HPGDFILETYPE)
00088 !
00089 !* option for roads
00090 !
00091 CROAD_DIR_n = CROAD_DIR
00092 CWALL_OPT_n = CWALL_OPT
00093 !
00094 DO JPATCH=1,NTEB_PATCH
00095   !
00096   CALL GOTO_TEB(JPATCH)
00097   !*      2.1    Water reservoirs
00098   !
00099   CALL PREP_HOR_TEB_FIELD(HPROGRAM,'WS_ROOF',HATMFILE,HATMFILETYPE,HPGDFILE,HPGDFILETYPE)
00100   CALL PREP_HOR_TEB_FIELD(HPROGRAM,'WS_ROAD',HATMFILE,HATMFILETYPE,HPGDFILE,HPGDFILETYPE)
00101   !
00102   !*      2.2    Building temperature
00103   !
00104   CALL PREP_HOR_TEB_FIELD(HPROGRAM,'TI_BLD ',HATMFILE,HATMFILETYPE,HPGDFILE,HPGDFILETYPE)
00105   !
00106   !*      2.3    Road deep temperature
00107   !
00108   CALL PREP_HOR_TEB_FIELD(HPROGRAM,'TI_ROAD',HATMFILE,HATMFILETYPE,HPGDFILE,HPGDFILETYPE)
00109   !
00110   !*      2.4    Temperature profiles
00111   !
00112   CALL PREP_HOR_TEB_FIELD(HPROGRAM,'T_ROAD ',HATMFILE,HATMFILETYPE,HPGDFILE,HPGDFILETYPE)
00113   CALL PREP_HOR_TEB_FIELD(HPROGRAM,'T_WALLA',HATMFILE,HATMFILETYPE,HPGDFILE,HPGDFILETYPE)
00114   CALL PREP_HOR_TEB_FIELD(HPROGRAM,'T_WALLB',HATMFILE,HATMFILETYPE,HPGDFILE,HPGDFILETYPE)
00115   CALL PREP_HOR_TEB_FIELD(HPROGRAM,'T_ROOF ',HATMFILE,HATMFILETYPE,HPGDFILE,HPGDFILETYPE)
00116   !
00117   CALL PREP_HOR_TEB_FIELD(HPROGRAM,'T_WIN1 ',HATMFILE,HATMFILETYPE,HPGDFILE,HPGDFILETYPE)
00118   IF (CBEM == 'BEM') THEN
00119     CALL PREP_HOR_TEB_FIELD(HPROGRAM,'QI_BLD ',HATMFILE,HATMFILETYPE,HPGDFILE,HPGDFILETYPE)
00120     CALL PREP_HOR_TEB_FIELD(HPROGRAM,'T_WIN2 ',HATMFILE,HATMFILETYPE,HPGDFILE,HPGDFILETYPE)
00121     CALL PREP_HOR_TEB_FIELD(HPROGRAM,'T_FLOOR',HATMFILE,HATMFILETYPE,HPGDFILE,HPGDFILETYPE)
00122     CALL PREP_HOR_TEB_FIELD(HPROGRAM,'T_MASS ',HATMFILE,HATMFILETYPE,HPGDFILE,HPGDFILETYPE)
00123   ENDIF  
00124   !*      2.5    Snow variables
00125   !
00126   TSNOW_ROOF%SCHEME='1-L'
00127   CALL PREP_HOR_TEB_FIELD(HPROGRAM,'SN_ROOF',HATMFILE,HATMFILETYPE,HPGDFILE,HPGDFILETYPE)
00128   TSNOW_ROAD%SCHEME='1-L'
00129   CALL PREP_HOR_TEB_FIELD(HPROGRAM,'SN_ROAD',HATMFILE,HATMFILETYPE,HPGDFILE,HPGDFILETYPE)
00130   !
00131   !*      2.6    Canyon air variables
00132   !
00133   CALL PREP_HOR_TEB_FIELD(HPROGRAM,'T_CAN  ',HATMFILE,HATMFILETYPE,HPGDFILE,HPGDFILETYPE)
00134   CALL PREP_HOR_TEB_FIELD(HPROGRAM,'Q_CAN  ',HATMFILE,HATMFILETYPE,HPGDFILE,HPGDFILETYPE)
00135   !
00136   !-------------------------------------------------------------------------------------
00137   !
00138   !*      3.     Vertical interpolations of all variables
00139   !
00140   IF(LVERTSHIFT)THEN
00141     CALL PREP_VER_TEB
00142   ENDIF
00143   !
00144   !-------------------------------------------------------------------------------------
00145   !
00146   !*      4.     Urban green areas
00147   !
00148   IF (LGARDEN)    CALL PREP_TEB_GARDEN   (HPROGRAM,HATMFILE,HATMFILETYPE,HPGDFILE,HPGDFILETYPE)
00149   IF (LGREENROOF) CALL PREP_TEB_GREENROOF(HPROGRAM,HATMFILE,HATMFILETYPE,HPGDFILE,HPGDFILETYPE)
00150   !  
00151 ENDDO
00152 !-------------------------------------------------------------------------------------
00153 !
00154 !*      5.     Preparation of canopy air variables
00155 !
00156 LCANOPY = LTEB_CANOPY
00157 IF (LCANOPY) CALL PREP_TEB_CANOPY()
00158 !
00159 DEALLOCATE(XZS_LS)
00160 !
00161 !-------------------------------------------------------------------------------------
00162  CALL CLEAN_PREP_OUTPUT_GRID
00163 IF (LHOOK) CALL DR_HOOK('PREP_TEB',1,ZHOOK_HANDLE)
00164 !
00165 !-------------------------------------------------------------------------------------
00166 !
00167 END SUBROUTINE PREP_TEB