SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/set_surfex_filein.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE SET_SURFEX_FILEIN(HPROGRAM,HMASK)
00003 !     ############################################
00004 !
00005 !
00006 !!****  *SET_SURFEX_FILEIN* - set file name to read
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 !!      B. Decharme   *Meteo France*    
00028 !!
00029 !!    MODIFICATIONS
00030 !!    -------------
00031 !!      Original    05/2011 
00032 !-------------------------------------------------------------------------------
00033 !
00034 !*       0.    DECLARATIONS
00035 !              ------------
00036 !
00037 !
00038 #ifdef ASC
00039 USE MODD_IO_SURF_ASC,ONLY : CFILEIN_SAVE, CFILEPGD
00040 USE MODI_SET_SURFEX_FILE_NAME_ASC
00041 #endif
00042 #ifdef FA
00043 USE MODD_IO_SURF_FA, ONLY : CFILEIN_FA_SAVE, CFILEPGD_FA
00044 USE MODI_SET_SURFEX_FILE_NAME_FA
00045 #endif
00046 #ifdef LFI
00047 USE MODD_IO_SURF_LFI,ONLY : CFILEIN_LFI_SAVE, CFILEPGD_LFI
00048 USE MODI_SET_SURFEX_FILE_NAME_LFI
00049 #endif
00050 #ifdef MNH
00051 USE MODI_SET_SURFEX_FILE_NAME_MNH
00052 #endif
00053 !
00054 USE MODI_ABOR1_SFX
00055 !
00056 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00057 USE PARKIND1  ,ONLY : JPRB
00058 !
00059 IMPLICIT NONE
00060 !
00061 !*       0.1   Declarations of arguments
00062 !              -------------------------
00063 !
00064  CHARACTER(LEN=6),  INTENT(IN)  :: HPROGRAM ! main program
00065  CHARACTER(LEN=4),  INTENT(IN)  :: HMASK
00066 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00067 !
00068 !*       0.2   Declarations of local variables
00069 !              -------------------------------
00070 !
00071  CHARACTER(LEN=28)              :: YFILE
00072 !
00073 !-------------------------------------------------------------------------------
00074 !
00075 IF (LHOOK) CALL DR_HOOK('SET_SURFEX_FILEIN',0,ZHOOK_HANDLE)
00076 !
00077 IF(HMASK/='PGD'.AND.HMASK/='PREP') CALL ABOR1_SFX('SET_SURFEX_FILEIN: MASK='//HMASK//' REQUIRES MASK = PGD or PREP')
00078 !
00079 IF (HPROGRAM=='ASCII ' ) THEN
00080 !  
00081 #ifdef ASC
00082   IF(HMASK=='PGD')THEN
00083     YFILE=CFILEPGD
00084   ELSE
00085     YFILE=CFILEIN_SAVE
00086   ENDIF
00087   CALL SET_SURFEX_FILE_NAME_ASC(HNAME_IN=YFILE)
00088 #endif  
00089 !  
00090 ENDIF
00091 !
00092 IF (HPROGRAM=='FA    ' ) THEN
00093 ! 
00094 #ifdef FA
00095   IF(HMASK=='PGD')THEN
00096     YFILE=CFILEPGD_FA
00097   ELSE
00098     YFILE=CFILEIN_FA_SAVE
00099   ENDIF        
00100   CALL SET_SURFEX_FILE_NAME_FA(HNAME_IN=YFILE)
00101 #endif  
00102 !
00103 ENDIF
00104 !
00105 IF (HPROGRAM=='LFI   ' ) THEN
00106 !
00107 #ifdef LFI
00108   IF(HMASK=='PGD')THEN
00109     YFILE=CFILEPGD_LFI
00110   ELSE
00111     YFILE=CFILEIN_LFI_SAVE
00112   ENDIF 
00113   CALL SET_SURFEX_FILE_NAME_LFI(HNAME_IN=YFILE)
00114 #endif  
00115 !
00116 ENDIF
00117 !
00118 IF (HPROGRAM=='AROME ' ) THEN
00119 #ifdef ARO
00120   CALL SET_SURFEX_FILE_NAME_ARO(HMASK)
00121 #endif  
00122 ENDIF
00123 !
00124 IF (HPROGRAM=='MESONH' ) THEN
00125 #ifdef MNH
00126   CALL SET_SURFEX_FILE_NAME_MNH(HMASK)
00127 #endif  
00128 ENDIF
00129 !
00130 IF (LHOOK) CALL DR_HOOK('SET_SURFEX_FILEIN',1,ZHOOK_HANDLE)
00131 !
00132 !-------------------------------------------------------------------------------
00133 !
00134 END SUBROUTINE SET_SURFEX_FILEIN