SURFEX v7.3
General documentation of Surfex
|
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