SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/init_io_surfn.F90
Go to the documentation of this file.
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