SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/OFFLIN/modn_io_offline.F90
Go to the documentation of this file.
00001 !     #######################
00002       MODULE  MODN_IO_OFFLINE
00003 !     #######################
00004 !
00005 !!****  *MODN_IO_OFFLINE* define the variables and namelist for SURFEX
00006 !                         offline programs (pgd, prep, offline)
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 !!      V. Masson   *Meteo France*      
00028 !!
00029 !!    MODIFICATIONS
00030 !!    -------------
00031 !!      Original    04/2008
00032 !-------------------------------------------------------------------------------
00033 !
00034 !*       0.    DECLARATIONS
00035 !              ------------
00036 !
00037 IMPLICIT NONE
00038 !
00039 !*    Types of files
00040 !     --------------
00041 !
00042  CHARACTER(LEN=6) :: CSURF_FILETYPE       = 'ASCII ' ! type of SURFEX surface files
00043 !                                                   ! 'NETDF '
00044 !                                                   ! 'FA    '
00045 !                                                   ! 'ASCII '
00046 !                                                   ! 'LFI   '
00047  CHARACTER(LEN=6) :: CTIMESERIES_FILETYPE = 'NONE  ' ! type of the files contining the
00048 !                                                   ! output diagnostic time series
00049 !                                                   ! 'NETCDF ', 'TEXTE '
00050  CHARACTER(LEN=6) :: CFORCING_FILETYPE    = 'NETCDF' ! type of atmospheric FORCING files
00051 !                                                   ! 'NETDF', 'BINARY', or 'ASCII '
00052 !
00053 !
00054 !*    Names of files
00055 !     --------------
00056 !
00057  CHARACTER(LEN=28):: CPGDFILE  ='PGD'          ! name of the PGD file
00058  CHARACTER(LEN=28):: CPREPFILE ='PREP'         ! name of the INITIAL file
00059  CHARACTER(LEN=28):: CSURFFILE ='SURFOUT'      ! name of the final output CSURFEX file
00060  CHARACTER(LEN=28):: CNAMELIST ='OPTIONS.nam'  ! name of namelist file
00061 !
00062 !
00063 !*    General flags defining output options
00064 !     -------------------------------------
00065 !
00066 LOGICAL          :: LPRINT   = .FALSE.  ! write some information on screen 
00067 LOGICAL          :: LRESTART = .FALSE.  ! write restart file
00068 LOGICAL          :: LINQUIRE = .FALSE.  ! inquiry mode
00069 !      
00070 LOGICAL          :: LWRITE_COORD = .FALSE. ! write lat/lon of the target grid
00071 !
00072 LOGICAL          :: LOUT_TIMENAME = .FALSE.! change the name of output file at the end of a day
00073                                            ! (ex: 19860502_00h00 -> 19860501_24h00)
00074 !
00075 LOGICAL          :: LDIAG_FA_NOCOMPACT = .FALSE. ! fa compaction for diagnostic files
00076 !
00077 !*    Time steps
00078 !     ----------
00079 !
00080 REAL             :: XTSTEP_SURF   = 300.   ! time step of the surface 
00081 REAL             :: XTSTEP_OUTPUT = 1800.  ! time step of the output time-series
00082 INTEGER          :: NB_READ_FORC  = 0      ! subdivisions of the reading of forcings
00083 !
00084 LOGICAL          :: LLAND_USE = .FALSE.
00085 !
00086 !*    General flag for coherence between forcing file orography and surface file orography
00087 !     ----------
00088 !
00089 LOGICAL          :: LSET_FORC_ZS =.FALSE.  ! .T. : the orography of the
00090 !                                          !  forcing file is
00091 !                                          !  automatically set to the same
00092 !                                          !  value as in the surface file
00093 !                                          ! .F. : the orography of the
00094 !                                          !  forcing file is kept as it is
00095 !
00096 !*    General flag for coherence between forcing Qair and calculated Qsat(Tair)
00097 !     ----------
00098 !
00099 LOGICAL          :: LLIMIT_QAIR = .FALSE. ! .T. : Qair always <= Qsat(Tair)
00100                                           ! .F. : No limitation
00101 
00102 ! * For offline driver with openMP
00103 INTEGER         :: NPROMA                 ! Size of openMP packets
00104 INTEGER         :: NI,NJ                  ! Domain size
00105 !
00106 REAL            :: XIO_FRAC = 1.            ! fraction of ISIZE deduced to I/O
00107  CHARACTER(LEN=4) :: YALG_MPI = "LIN "       ! type of distribution algorithm for MPI
00108 !-------------------------------------------------------------------------------
00109 !
00110 !*       1.    NAMELISTS
00111 !              ---------
00112 !
00113 NAMELIST/NAM_IO_OFFLINE/CSURF_FILETYPE, CTIMESERIES_FILETYPE, CFORCING_FILETYPE, &
00114                         CPGDFILE, CPREPFILE, CSURFFILE,                          &
00115                         LPRINT, LRESTART, LINQUIRE,                              &
00116                         XTSTEP_SURF, XTSTEP_OUTPUT, LDIAG_FA_NOCOMPACT,          &
00117                         LSET_FORC_ZS, LWRITE_COORD, LOUT_TIMENAME, LLIMIT_QAIR,  &
00118                         NB_READ_FORC, LLAND_USE, NPROMA, NI, NJ, XIO_FRAC, YALG_MPI
00119 !
00120 !-------------------------------------------------------------------------------
00121 END MODULE MODN_IO_OFFLINE