SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/LIB/TRIP/read_trip_confn.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE READ_TRIP_CONF_n(HPROGRAM)
00003 !     #######################################################
00004 !
00005 !!****  *READ_TRIP_CONF* - routine to read the configuration for TRIP
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 !!      B. Decharme   *Meteo France*    
00027 !!
00028 !!    MODIFICATIONS
00029 !!    -------------
00030 !!      Original    05/2008 
00031 !-------------------------------------------------------------------------------
00032 !
00033 !*       0.    DECLARATIONS
00034 !              ------------
00035 !
00036 USE MODE_MODELN_TRIP_HANDLER
00037 !
00038 USE MODE_POS_SURF
00039 !
00040 USE MODI_TEST_NAM_VAR_SURF
00041 USE MODI_GET_LUOUT
00042 USE MODI_OPEN_NAMELIST
00043 USE MODI_CLOSE_NAMELIST
00044 !
00045 USE MODD_READ_NAMELIST, ONLY : LNAM_READ
00046 USE MODN_TRIP_n
00047 !
00048 !
00049 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00050 USE PARKIND1  ,ONLY : JPRB
00051 !
00052 IMPLICIT NONE
00053 !
00054 !*       0.1   Declarations of arguments
00055 !              -------------------------
00056 !
00057  CHARACTER(LEN=6),  INTENT(IN)  :: HPROGRAM ! program calling TRIP
00058 
00059 !
00060 !*       0.2   Declarations of local variables
00061 !              -------------------------------
00062 !
00063 !
00064 LOGICAL           :: GFOUND         ! Return code when searching namelist
00065 INTEGER           :: ILUOUT         ! logical unit of output file
00066 INTEGER           :: INAM           ! logical unit of namelist file
00067 INTEGER           :: IMI
00068 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00069 !-------------------------------------------------------------------------------
00070 !
00071 !* get output listing file logical unit
00072 !
00073 IF (LHOOK) CALL DR_HOOK('READ_TRIP_CONF_N',0,ZHOOK_HANDLE)
00074  CALL GET_LUOUT(HPROGRAM,ILUOUT)
00075 !
00076 IMI=GET_CURRENT_MODEL_INDEX_TRIP()
00077 !
00078 IF (IMI.NE.-1 .AND. LNAM_READ) CALL INIT_NAM_TRIPn
00079 !
00080 IF (LNAM_READ) THEN
00081  !
00082  !* open namelist file
00083  !
00084  CALL OPEN_NAMELIST(HPROGRAM,INAM)
00085  !
00086  !* reading of namelist
00087  !  -------------------
00088  !
00089  CALL POSNAM(INAM,'NAM_TRIPN',GFOUND,ILUOUT)
00090  IF (GFOUND) READ(UNIT=INAM,NML=NAM_TRIPn)
00091  !
00092  CALL TEST_NAM_VAR_SURF(ILUOUT,'CGROUNDW',CGROUNDW,'DEF','CST','VAR')
00093  CALL TEST_NAM_VAR_SURF(ILUOUT,'CVIT',CVIT,'DEF','VAR')
00094  !
00095  !* close namelist file
00096  !
00097  CALL CLOSE_NAMELIST(HPROGRAM,INAM)
00098  !
00099 ENDIF
00100 !
00101 IF (IMI.NE.-1) CALL UPDATE_NAM_TRIPn
00102 IF (LHOOK) CALL DR_HOOK('READ_TRIP_CONF_N',1,ZHOOK_HANDLE)
00103 !
00104 !
00105 !-------------------------------------------------------------------------------
00106 !
00107 END SUBROUTINE READ_TRIP_CONF_n