SURFEX v7.3
General documentation of Surfex
|
00001 ! ######### 00002 SUBROUTINE INIT_IO_SURF_n(HPROGRAM,HMASK,HSCHEME,HACTION) 00003 ! ####################################################### 00004 ! 00005 ! 00006 !!**** *INIT_IO_SURF_n* - chooses the routine to initialize IO 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 !! S.Malardel *Meteo France* 00028 !! 00029 !! MODIFICATIONS 00030 !! ------------- 00031 !! Original 09/2003 00032 !! Modified 04/2004 by P. LeMoigne: add HACTION if ASCII mode selected 00033 !! Modified 01/2009 by B. Decjharme: add HPROGRAM if FA mode selected 00034 !------------------------------------------------------------------------------- 00035 ! 00036 !* 0. DECLARATIONS 00037 ! ------------ 00038 ! 00039 #ifdef ASC 00040 USE MODI_INIT_IO_SURF_ASC_n 00041 #endif 00042 #ifdef BIN 00043 USE MODI_INIT_IO_SURF_BIN_n 00044 #endif 00045 #ifdef FA 00046 USE MODI_INIT_IO_SURF_FA_n 00047 #endif 00048 #ifdef LFI 00049 USE MODI_INIT_IO_SURF_LFI_n 00050 #endif 00051 #ifdef OL 00052 USE MODI_INIT_IO_SURF_OL_n 00053 #endif 00054 #ifdef TXT 00055 USE MODI_INIT_IO_SURF_TXT_n 00056 #endif 00057 #ifdef MNH 00058 USE MODI_MNHINIT_IO_SURF_n 00059 #endif 00060 ! 00061 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00062 USE PARKIND1 ,ONLY : JPRB 00063 ! 00064 IMPLICIT NONE 00065 ! 00066 !* 0.1 Declarations of arguments 00067 ! ------------------------- 00068 ! 00069 CHARACTER(LEN=6), INTENT(IN) :: HPROGRAM ! main program 00070 CHARACTER(LEN=6), INTENT(IN) :: HMASK 00071 CHARACTER(LEN=6), INTENT(IN) :: HSCHEME ! scheme used 00072 CHARACTER(LEN=5), INTENT(IN) :: HACTION ! action performed ('READ ','WRITE') 00073 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00074 ! 00075 !* 0.2 Declarations of local variables 00076 ! ------------------------------- 00077 ! 00078 !------------------------------------------------------------------------------- 00079 ! 00080 IF (LHOOK) CALL DR_HOOK('INIT_IO_SURF_N',0,ZHOOK_HANDLE) 00081 IF (HPROGRAM=='MESONH') THEN 00082 #ifdef MNH 00083 CALL MNHINIT_IO_SURF_n(HPROGRAM,HMASK,HACTION) 00084 #endif 00085 END IF 00086 ! 00087 IF (HPROGRAM=='OFFLIN' ) THEN 00088 #ifdef OL 00089 CALL INIT_IO_SURF_OL_n(HPROGRAM,HMASK,HSCHEME,HACTION) 00090 #endif 00091 ENDIF 00092 ! 00093 IF (HPROGRAM=='ASCII ' ) THEN 00094 #ifdef ASC 00095 CALL INIT_IO_SURF_ASC_n(HMASK,HACTION) 00096 #endif 00097 ENDIF 00098 ! 00099 IF (HPROGRAM=='TEXTE ' ) THEN 00100 #ifdef TXT 00101 CALL INIT_IO_SURF_TXT_n(HMASK,HACTION) 00102 #endif 00103 ENDIF 00104 ! 00105 IF (HPROGRAM=='BINARY' ) THEN 00106 #ifdef BIN 00107 CALL INIT_IO_SURF_BIN_n(HMASK,HACTION) 00108 #endif 00109 ENDIF 00110 ! 00111 IF (HPROGRAM=='AROME ' ) THEN 00112 #ifdef ARO 00113 CALL AROINIT_IO_SURF_n(HPROGRAM,HMASK,HACTION) 00114 #endif 00115 ENDIF 00116 ! 00117 IF (HPROGRAM=='FA ' ) THEN 00118 #ifdef FA 00119 CALL INIT_IO_SURF_FA_n(HPROGRAM,HMASK,HACTION) 00120 #endif 00121 ENDIF 00122 ! 00123 IF (HPROGRAM=='LFI ' ) THEN 00124 #ifdef LFI 00125 CALL INIT_IO_SURF_LFI_n(HMASK,HACTION) 00126 #endif 00127 ENDIF 00128 IF (LHOOK) CALL DR_HOOK('INIT_IO_SURF_N',1,ZHOOK_HANDLE) 00129 ! 00130 !------------------------------------------------------------------------------- 00131 ! 00132 END SUBROUTINE INIT_IO_SURF_n