SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/read_teb_confn.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE READ_TEB_CONF_n(HPROGRAM)
00003 !     #######################################################
00004 !
00005 !!****  *READ_TEB_CONF* - routine to read the configuration for TEB
00006 !!                        (MESONH universe)
00007 !!
00008 !!    PURPOSE
00009 !!    -------
00010 !!
00011 !!**  METHOD
00012 !!    ------
00013 !!
00014 !!    EXTERNAL
00015 !!    --------
00016 !!
00017 !!
00018 !!    IMPLICIT ARGUMENTS
00019 !!    ------------------
00020 !!
00021 !!    REFERENCE
00022 !!    ---------
00023 !!
00024 !!
00025 !!    AUTHOR
00026 !!    ------
00027 !!      V. Masson   *Meteo France*      
00028 !!
00029 !!    MODIFICATIONS
00030 !!    -------------
00031 !!      Original    01/2003 
00032 !!      G. Pigeon   09/2012: add CH_BEM option for outdoor conv. coef 
00033 !-------------------------------------------------------------------------------
00034 !
00035 !*       0.    DECLARATIONS
00036 !              ------------
00037 !
00038 USE MODE_MODELN_SURFEX_HANDLER
00039 !
00040 USE MODE_POS_SURF
00041 USE MODI_GET_LUOUT
00042 USE MODI_OPEN_NAMELIST
00043 USE MODI_CLOSE_NAMELIST
00044 !
00045 USE MODI_TEST_NAM_VAR_SURF
00046 !
00047 USE MODN_TEB_n
00048 !
00049 USE MODD_READ_NAMELIST, ONLY : LNAM_READ
00050 USE MODD_SURF_PAR,   ONLY : XUNDEF
00051 !
00052 !
00053 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00054 USE PARKIND1  ,ONLY : JPRB
00055 !
00056 IMPLICIT NONE
00057 !
00058 !*       0.1   Declarations of arguments
00059 !              -------------------------
00060 !
00061  CHARACTER(LEN=6),  INTENT(IN)  :: HPROGRAM ! program calling ISBA
00062 
00063 !
00064 !*       0.2   Declarations of local variables
00065 !              -------------------------------
00066 !
00067 !
00068 LOGICAL           :: GFOUND         ! Return code when searching namelist
00069 INTEGER           :: ILUOUT         ! logical unit of output file
00070 INTEGER           :: INAM           ! logical unit of namelist file
00071 INTEGER           :: IMI
00072 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00073 !-------------------------------------------------------------------------------
00074 !
00075 !* get output listing file logical unit
00076 !
00077 IF (LHOOK) CALL DR_HOOK('READ_TEB_CONF_N',0,ZHOOK_HANDLE)
00078  CALL GET_LUOUT(HPROGRAM,ILUOUT)
00079 !
00080 IMI=GET_CURRENT_MODEL_INDEX_SURFEX()
00081 !
00082 IF (IMI.NE.-1 .AND. LNAM_READ) THEN
00083  CALL INIT_NAM_TEBn
00084  CALL INIT_NAM_DIAG_SURFn
00085  CALL INIT_NAM_DIAG_TEBn
00086  CALL INIT_NAM_CH_TEBn
00087 ENDIF
00088 !
00089 IF (LNAM_READ) THEN
00090  !
00091  !* open namelist file
00092  !
00093  CALL OPEN_NAMELIST(HPROGRAM,INAM)
00094  !
00095  !* reading of namelist
00096  !  -------------------
00097  !
00098  CALL POSNAM(INAM,'NAM_TEBN',GFOUND,ILUOUT)
00099  IF (GFOUND) READ(UNIT=INAM,NML=NAM_TEBn)
00100  CALL POSNAM(INAM,'NAM_DIAG_SURFN',GFOUND,ILUOUT)
00101  IF (GFOUND) READ(UNIT=INAM,NML=NAM_DIAG_SURFn)
00102  CALL POSNAM(INAM,'NAM_DIAG_TEBN',GFOUND,ILUOUT)
00103  IF (GFOUND) READ(UNIT=INAM,NML=NAM_DIAG_TEBn)
00104  CALL POSNAM(INAM,'NAM_CH_TEBN',GFOUND,ILUOUT)
00105  IF (GFOUND) READ(UNIT=INAM,NML=NAM_CH_TEBn)
00106  !
00107  CALL TEST_NAM_VAR_SURF(ILUOUT,'CZ0H',CZ0H,'MASC95','BRUT82','KAND07')
00108  CALL TEST_NAM_VAR_SURF(ILUOUT,'CCH_BEM',CCH_BEM,'','DOE-2')
00109  CALL TEST_NAM_VAR_SURF(ILUOUT,'CCH_DRY_DEP',CCH_DRY_DEP,'      ','WES89 ','NONE  ')
00110  !
00111  !* close namelist file
00112  !
00113  CALL CLOSE_NAMELIST(HPROGRAM,INAM)
00114  !
00115 ENDIF
00116 !
00117 IF (IMI.NE.-1) THEN
00118  CALL UPDATE_NAM_TEBn
00119  CALL UPDATE_NAM_DIAG_SURFn
00120  CALL UPDATE_NAM_DIAG_TEBn
00121  CALL UPDATE_NAM_CH_TEBn
00122 ENDIF
00123 !
00124 !-------------------------------------------------------------------------------
00125 !
00126 !* surface time-step forced by the atmosphere
00127 !
00128 XTSTEP = XUNDEF
00129 IF (LHOOK) CALL DR_HOOK('READ_TEB_CONF_N',1,ZHOOK_HANDLE)
00130 !
00131 !-------------------------------------------------------------------------------
00132 !
00133 END SUBROUTINE READ_TEB_CONF_n