New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
iom_def.F90 in NEMO/trunk/src/OCE/IOM – NEMO

source: NEMO/trunk/src/OCE/IOM/iom_def.F90

Last change on this file was 14072, checked in by laurent, 3 years ago

Merging branch "2020/dev_r13648_ASINTER-04_laurent_bulk_ice", ticket #2369

  • Property svn:keywords set to Id
File size: 4.4 KB
RevLine 
[544]1MODULE iom_def
[9019]2   !!======================================================================
[544]3   !!                    ***  MODULE  iom_def ***
4   !! IOM variables definitions
[9019]5   !!======================================================================
6   !! History :  9.0  ! 2006 09  (S. Masson) Original code
7   !!             -   ! 2007 07  (D. Storkey) Add uldname
8   !!            4.0  ! 2017-11 (M. Andrejczuk) Extend IOM interface to write any 3D fields
9   !!----------------------------------------------------------------------
[544]10   USE par_kind
[13970]11   USE netcdf
[544]12
13   IMPLICIT NONE
14   PRIVATE
15
[13286]16   INTEGER, PARAMETER, PUBLIC ::   jpdom_global        = 1   !: ( 1  :Ni0glo, 1  :Nj0glo)
17   INTEGER, PARAMETER, PUBLIC ::   jpdom_local         = 2   !: (Nis0: Nie0 ,Njs0: Nje0 )
18   INTEGER, PARAMETER, PUBLIC ::   jpdom_unknown       = 3   !: No dimension checking
[14072]19   INTEGER, PARAMETER, PUBLIC ::   jpdom_auto          = 4   !:
[13286]20   INTEGER, PARAMETER, PUBLIC ::   jpdom_auto_xy       = 5   !: Automatically set horizontal dimensions only
[544]21
[556]22   INTEGER, PARAMETER, PUBLIC ::   jp_r8    = 200      !: write REAL(8)
23   INTEGER, PARAMETER, PUBLIC ::   jp_r4    = 201      !: write REAL(4)
24   INTEGER, PARAMETER, PUBLIC ::   jp_i4    = 202      !: write INTEGER(4)
25   INTEGER, PARAMETER, PUBLIC ::   jp_i2    = 203      !: write INTEGER(2)
26   INTEGER, PARAMETER, PUBLIC ::   jp_i1    = 204      !: write INTEGER(1)
[544]27
[7646]28   INTEGER, PARAMETER, PUBLIC ::   jpmax_files  = 100  !: maximum number of simultaneously opened file
29   INTEGER, PARAMETER, PUBLIC ::   jpmax_vars   = 1200 !: maximum number of variables in one file
[544]30   INTEGER, PARAMETER, PUBLIC ::   jpmax_dims   =  4   !: maximum number of dimensions for one variable
[13062]31   INTEGER, PARAMETER, PUBLIC ::   jpmax_digits =  9   !: maximum number of digits for the cpu number in the file name
[544]32
[571]33!$AGRIF_DO_NOT_TREAT
[1359]34   INTEGER, PUBLIC            ::   iom_open_init = 0   !: used to initialize iom_file(:)%nfid to 0
[14072]35!XIOS write restart
[13558]36   LOGICAL, PUBLIC            ::   lwxios = .FALSE.    !: write single file restart using XIOS
37   INTEGER, PUBLIC            ::   nxioso = 0          !: type of restart file when writing using XIOS 1 - single, 2 - multiple
[14072]38!XIOS read restart
[13970]39   LOGICAL, PUBLIC            ::   lrxios = .FALSE.     !: read single file restart using XIOS main switch
[9367]40   LOGICAL, PUBLIC            ::   lxios_sini = .FALSE. ! is restart in a single file
[571]41
[13970]42
43
[556]44   TYPE, PUBLIC ::   file_descriptor
[544]45      CHARACTER(LEN=240)                        ::   name     !: name of the file
[12649]46      CHARACTER(LEN=3  )                        ::   comp     !: name of component opening the file ('OCE', 'ICE'...)
[544]47      INTEGER                                   ::   nfid     !: identifier of the file (0 if closed)
[6140]48                                                              !: jpioipsl option has been removed)
[544]49      INTEGER                                   ::   nvars    !: number of identified varibles in the file
50      INTEGER                                   ::   iduld    !: id of the unlimited dimension
[6140]51      INTEGER                                   ::   lenuld   !: length of the unlimited dimension (number of records in file)
[14072]52      INTEGER                                   ::   irec     !: writing record position
[911]53      CHARACTER(LEN=32)                         ::   uldname  !: name of the unlimited dimension
[577]54      CHARACTER(LEN=32), DIMENSION(jpmax_vars)  ::   cn_var   !: names of the variables
[544]55      INTEGER, DIMENSION(jpmax_vars)            ::   nvid     !: id of the variables
56      INTEGER, DIMENSION(jpmax_vars)            ::   ndims    !: number of dimensions of the variables
57      LOGICAL, DIMENSION(jpmax_vars)            ::   luld     !: variable using the unlimited dimension
[14072]58      INTEGER, DIMENSION(jpmax_dims,jpmax_vars) ::   dimsz    !: size of variables dimensions
[544]59      REAL(kind=wp), DIMENSION(jpmax_vars)      ::   scf      !: scale_factor of the variables
60      REAL(kind=wp), DIMENSION(jpmax_vars)      ::   ofs      !: add_offset of the variables
[556]61   END TYPE file_descriptor
62   TYPE(file_descriptor), DIMENSION(jpmax_files), PUBLIC ::   iom_file !: array containing the info for all opened files
[550]63!$AGRIF_END_DO_NOT_TREAT
[9367]64   !
[12377]65   !! * Substitutions
66#  include "do_loop_substitute.h90"
[9019]67   !!----------------------------------------------------------------------
[9598]68   !! NEMO/OCE 4.0 , NEMO Consortium (2018)
[9019]69   !! $Id$
[10068]70   !! Software governed by the CeCILL license (see ./LICENSE)
[9019]71   !!======================================================================
[544]72END MODULE iom_def
Note: See TracBrowser for help on using the repository browser.