SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/read_ideal_confn.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE READ_IDEAL_CONF_n(HPROGRAM)
00003 !     #######################################################
00004 !
00005 !!****  *READ_IDEAL_CONF* - routine to read the configuration for IDEAL
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 !-------------------------------------------------------------------------------
00033 !
00034 !*       0.    DECLARATIONS
00035 !              ------------
00036 !
00037 USE MODE_MODELN_SURFEX_HANDLER
00038 !
00039 USE MODE_POS_SURF
00040 USE MODI_GET_LUOUT
00041 USE MODI_OPEN_NAMELIST
00042 USE MODI_CLOSE_NAMELIST
00043 !
00044 USE MODN_IDEAL_n
00045 !
00046 USE MODD_READ_NAMELIST, ONLY : LNAM_READ
00047 USE MODD_SURF_PAR,   ONLY : XUNDEF
00048 !
00049 !
00050 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00051 USE PARKIND1  ,ONLY : JPRB
00052 !
00053 IMPLICIT NONE
00054 !
00055 !*       0.1   Declarations of arguments
00056 !              -------------------------
00057 !
00058  CHARACTER(LEN=6),  INTENT(IN)  :: HPROGRAM ! program calling ISBA
00059 
00060 !
00061 !*       0.2   Declarations of local variables
00062 !              -------------------------------
00063 !
00064 !
00065 LOGICAL           :: GFOUND         ! Return code when searching namelist
00066 INTEGER           :: ILUOUT         ! logical unit of output file
00067 INTEGER           :: INAM           ! logical unit of namelist file
00068 INTEGER           :: IMI
00069 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00070 !-------------------------------------------------------------------------------
00071 !
00072 !* get output listing file logical unit
00073 !
00074 IF (LHOOK) CALL DR_HOOK('READ_IDEAL_CONF_N',0,ZHOOK_HANDLE)
00075  CALL GET_LUOUT(HPROGRAM,ILUOUT)
00076 !
00077 IMI=GET_CURRENT_MODEL_INDEX_SURFEX()
00078 !
00079 IF (IMI.NE.-1 .AND. LNAM_READ) CALL INIT_NAM_DIAG_SURFn
00080 ! 
00081 IF (LNAM_READ) THEN
00082  !        
00083  !* open namelist file
00084  !
00085  CALL OPEN_NAMELIST(HPROGRAM,INAM)
00086  !
00087  !* reading of namelist
00088  !  -------------------
00089  !
00090  CALL POSNAM(INAM,'NAM_DIAG_SURFN',GFOUND,ILUOUT)
00091  IF (GFOUND) READ(UNIT=INAM,NML=NAM_DIAG_SURFn)
00092  !
00093  !* close namelist file
00094  !
00095  CALL CLOSE_NAMELIST(HPROGRAM,INAM)
00096 !
00097 ENDIF
00098 !
00099 IF (IMI.NE.-1) CALL UPDATE_NAM_DIAG_SURFn
00100 IF (LHOOK) CALL DR_HOOK('READ_IDEAL_CONF_N',1,ZHOOK_HANDLE)
00101 !
00102 !-------------------------------------------------------------------------------
00103 !
00104 !* surface time-step forced by the atmosphere
00105 !
00106 !
00107 !-------------------------------------------------------------------------------
00108 !
00109 END SUBROUTINE READ_IDEAL_CONF_n