SURFEX v7.3
General documentation of Surfex
|
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