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 branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/IOM – NEMO

source: branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/IOM/iom_def.F90 @ 6491

Last change on this file since 6491 was 6491, checked in by davestorkey, 8 years ago

Commit remaining changes to UKMO/r5518_GO6_package branch from following branches:
UKMO/dev_r5021_nn_etau_revision@6238
UKMO/dev_r5107_mld_zint@5534
UKMO/dev_r5107_eorca025_closea@6390
UKMO/restart_datestamp@5539
UKMO/icebergs_latent_heat@5821
UKMO/icebergs_restart_single_file_corrected@6480
UKMO/product_diagnostics@5971
UKMO/antarctic_partial_slip@5961
Custom merge into /branches/UKMO/dev_r5518_GO6_package/NEMOGCM: r5961 cf. r5958 of /branches/UKMO/antarctic_partial_slip/NEMOGCM@6490

Custom merge into /branches/UKMO/dev_r5518_GO6_package/NEMOGCM: r6349 cf. r5962 of /branches/UKMO/product_diagnostics/NEMOGCM@6490

Custom merge into /branches/UKMO/dev_r5518_GO6_package/NEMOGCM: r6480 cf. r6479 of /branches/UKMO/icebergs_restart_single_file_corrected/NEMOGCM@6490

Custom merge into /branches/UKMO/dev_r5518_GO6_package/NEMOGCM: r5986 cf. r5852 of /branches/UKMO/icebergs_restart_single_file/NEMOGCM@6490

Custom merge into /branches/UKMO/dev_r5518_GO6_package/NEMOGCM: r5821 cf. r5808 of /branches/UKMO/icebergs_latent_heat/NEMOGCM@6490

File size: 4.7 KB
Line 
1MODULE iom_def
2   !!=====================================================================
3   !!                    ***  MODULE  iom_def ***
4   !! IOM variables definitions
5   !!====================================================================
6   !! History :  9.0  ! 06 09  (S. Masson) Original code
7   !!             "   ! 07 07  (D. Storkey) Add uldname
8   !!--------------------------------------------------------------------
9   !!---------------------------------------------------------------------------------
10   !! NEMO/OPA 3.3 , NEMO Consortium (2010)
11   !! $Id$
12   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
13   !!---------------------------------------------------------------------------------
14
15   USE par_kind
16
17   IMPLICIT NONE
18   PRIVATE
19
20   INTEGER, PARAMETER, PUBLIC ::   jpdom_data          = 1   !: ( 1  :jpidta, 1  :jpjdta)
21   INTEGER, PARAMETER, PUBLIC ::   jpdom_global        = 2   !: ( 1  :jpiglo, 1  :jpjglo)
22   INTEGER, PARAMETER, PUBLIC ::   jpdom_local         = 3   !: One of the 3 following cases
23   INTEGER, PARAMETER, PUBLIC ::   jpdom_local_full    = 4   !: ( 1  :jpi   , 1  :jpi   )
24   INTEGER, PARAMETER, PUBLIC ::   jpdom_local_noextra = 5   !: ( 1  :nlci  , 1  :nlcj  )
25   INTEGER, PARAMETER, PUBLIC ::   jpdom_local_noovlap = 6   !: (nldi:nlei  ,nldj:nlej  )
26   INTEGER, PARAMETER, PUBLIC ::   jpdom_unknown       = 7   !: No dimension checking
27   INTEGER, PARAMETER, PUBLIC ::   jpdom_autoglo       = 8   !:
28   INTEGER, PARAMETER, PUBLIC ::   jpdom_autoglo_xy    = 9   !: Automatically set horizontal dimensions only
29   INTEGER, PARAMETER, PUBLIC ::   jpdom_autodta       = 10  !:
30
31   INTEGER, PARAMETER, PUBLIC ::   jpioipsl    = 100      !: Use ioipsl (fliocom only) library
32   INTEGER, PARAMETER, PUBLIC ::   jpnf90      = 101      !: Use nf90 library
33   INTEGER, PARAMETER, PUBLIC ::   jprstdimg   = 102      !: Use restart dimgs (fortran direct acces) library
34#if defined key_dimgout
35   INTEGER, PARAMETER, PUBLIC ::   jprstlib  = jprstdimg  !: restarts io library
36#else
37   INTEGER, PARAMETER, PUBLIC ::   jprstlib  = jpnf90     !: restarts io library
38#endif
39
40   INTEGER, PARAMETER, PUBLIC ::   jp_r8    = 200      !: write REAL(8)
41   INTEGER, PARAMETER, PUBLIC ::   jp_r4    = 201      !: write REAL(4)
42   INTEGER, PARAMETER, PUBLIC ::   jp_i4    = 202      !: write INTEGER(4)
43   INTEGER, PARAMETER, PUBLIC ::   jp_i2    = 203      !: write INTEGER(2)
44   INTEGER, PARAMETER, PUBLIC ::   jp_i1    = 204      !: write INTEGER(1)
45
46   INTEGER, PARAMETER, PUBLIC ::   jpmax_files  = 100   !: maximum number of simultaneously opened file
47   INTEGER, PARAMETER, PUBLIC ::   jpmax_vars   = 600  !: maximum number of variables in one file
48   INTEGER, PARAMETER, PUBLIC ::   jpmax_dims   =  4   !: maximum number of dimensions for one variable
49   INTEGER, PARAMETER, PUBLIC ::   jpmax_digits =  5   !: maximum number of digits for the cpu number in the file name
50
51!$AGRIF_DO_NOT_TREAT
52   INTEGER, PUBLIC            ::   iom_open_init = 0   !: used to initialize iom_file(:)%nfid to 0
53
54   TYPE, PUBLIC ::   file_descriptor
55      CHARACTER(LEN=240)                        ::   name     !: name of the file
56      INTEGER                                   ::   nfid     !: identifier of the file (0 if closed)
57      INTEGER                                   ::   iolib    !: library used to read the file (jpioipsl, jpnf90 or jprstdimg)
58      INTEGER                                   ::   nvars    !: number of identified varibles in the file
59      INTEGER                                   ::   iduld    !: id of the unlimited dimension
60      INTEGER                                   ::   lenuld   !: length of the unlimited dimension (number of records in file)
61      INTEGER                                   ::   irec     !: writing record position 
62      CHARACTER(LEN=32)                         ::   uldname  !: name of the unlimited dimension
63      CHARACTER(LEN=32), DIMENSION(jpmax_vars)  ::   cn_var   !: names of the variables
64      INTEGER, DIMENSION(jpmax_vars)            ::   nvid     !: id of the variables
65      INTEGER, DIMENSION(jpmax_vars)            ::   ndims    !: number of dimensions of the variables
66      LOGICAL, DIMENSION(jpmax_vars)            ::   luld     !: variable using the unlimited dimension
67      INTEGER, DIMENSION(jpmax_dims,jpmax_vars) ::   dimsz    !: size of variables dimensions
68      REAL(kind=wp), DIMENSION(jpmax_vars)      ::   scf      !: scale_factor of the variables
69      REAL(kind=wp), DIMENSION(jpmax_vars)      ::   ofs      !: add_offset of the variables
70   END TYPE file_descriptor
71   TYPE(file_descriptor), DIMENSION(jpmax_files), PUBLIC ::   iom_file !: array containing the info for all opened files
72!$AGRIF_END_DO_NOT_TREAT
73
74   !!=====================================================================
75END MODULE iom_def
Note: See TracBrowser for help on using the repository browser.