SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/open_namelist.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE OPEN_NAMELIST(HPROGRAM,KLUNAM,HFILE)
00003 !     #######################################################
00004 !
00005 !!****  *OPEN_NAMELIST* - routine to open a namelist file
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 !!      V. Masson   *Meteo France*      
00027 !!
00028 !!    MODIFICATIONS
00029 !!    -------------
00030 !!      Original    01/2003 
00031 !-------------------------------------------------------------------------------
00032 !
00033 !*       0.    DECLARATIONS
00034 !              ------------
00035 !
00036 #ifdef OL
00037 USE MODI_OPEN_NAMELIST_OL
00038 #endif
00039 #ifdef ASC
00040 USE MODI_OPEN_NAMELIST_ASC
00041 #endif
00042 #ifdef FA
00043 USE MODI_OPEN_NAMELIST_FA
00044 #endif
00045 #ifdef LFI
00046 USE MODI_OPEN_NAMELIST_LFI
00047 #endif
00048 #ifdef MNH
00049 USE MODI_MNHOPEN_NAMELIST
00050 #endif
00051 !
00052 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00053 USE PARKIND1  ,ONLY : JPRB
00054 !
00055 IMPLICIT NONE
00056 !
00057 !*       0.1   Declarations of arguments
00058 !              -------------------------
00059 !
00060  CHARACTER(LEN=6),  INTENT(IN)  :: HPROGRAM ! main program
00061 INTEGER,           INTENT(OUT) :: KLUNAM   ! logical unit of namelist
00062  CHARACTER(LEN=28), INTENT(IN), OPTIONAL :: HFILE ! ASCII file to open
00063 
00064 !
00065 !*       0.2   Declarations of local variables
00066 !              -------------------------------
00067 !
00068  CHARACTER(LEN=28) :: YFILE
00069 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00070 !
00071 !-------------------------------------------------------------------------------
00072 !
00073 IF (LHOOK) CALL DR_HOOK('OPEN_NAMELIST',0,ZHOOK_HANDLE)
00074 IF (PRESENT(HFILE)) THEN
00075   YFILE = HFILE
00076 ELSE
00077   YFILE = '                           '
00078 END IF
00079 
00080 IF (HPROGRAM=='MESONH') THEN
00081 #ifdef MNH
00082   CALL MNHOPEN_NAMELIST(HPROGRAM,KLUNAM,YFILE)
00083 #endif
00084 ELSE IF (HPROGRAM=='OFFLIN') THEN
00085 #ifdef OL
00086   CALL OPEN_NAMELIST_OL(HPROGRAM,KLUNAM,YFILE)
00087 #endif
00088 ELSE IF (HPROGRAM=='ASCII ') THEN
00089 #ifdef ASC
00090   CALL OPEN_NAMELIST_ASC(HPROGRAM,KLUNAM,YFILE)
00091 #endif
00092 ELSE IF (HPROGRAM=='AROME ') THEN
00093 #ifdef ARO
00094   CALL AROOPEN_NAMELIST(HPROGRAM,KLUNAM,YFILE)
00095 #endif
00096 ELSE IF (HPROGRAM=='FA    ') THEN
00097 #ifdef FA
00098   CALL OPEN_NAMELIST_FA(HPROGRAM,KLUNAM,YFILE)
00099 #endif
00100 ELSE IF (HPROGRAM=='LFI   ') THEN
00101 #ifdef LFI
00102   CALL OPEN_NAMELIST_LFI(HPROGRAM,KLUNAM,YFILE)
00103 #endif
00104 END IF
00105 IF (LHOOK) CALL DR_HOOK('OPEN_NAMELIST',1,ZHOOK_HANDLE)
00106 !
00107 !-------------------------------------------------------------------------------
00108 !
00109 END SUBROUTINE OPEN_NAMELIST