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.
Changeset 556 – NEMO

Changeset 556


Ignore:
Timestamp:
2006-10-27T17:10:08+02:00 (18 years ago)
Author:
opalod
Message:

nemo_v1_bugfix_068: SM+RB: iom bugfix for Agrif

Location:
trunk/NEMO/OPA_SRC/IOM
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/IOM/in_out_manager.F90

    r550 r556  
    1616   USE par_oce 
    1717   USE lib_print         ! formated print library 
    18    USE iom_def           ! iom variables definitions 
    1918 
    2019   IMPLICIT NONE 
     
    2625   CHARACTER (len=16) ::   cexper     = "exp0"    !: experiment name used for output filename 
    2726   LOGICAL            ::   ln_rstart  = .FALSE.   !: start from (F) rest or (T) a restart file 
    28    LOGICAL            ::   ln_ctl     = .FALSE.   !: run control for debugging 
    2927   INTEGER            ::   no         = 0         !: job number 
    3028   INTEGER            ::   nrstdt     = 0         !: control of the time step (0, 1 or 2) 
     
    3432   INTEGER            ::   nleapy     = 0         !: Leap year calendar flag (0/1 or 30) 
    3533   INTEGER            ::   ninist     = 0         !: initial state output flag (0/1) 
    36    INTEGER            ::   nbench     = 0         !: benchmark parameter (0/1) 
    37     
    3834   !!---------------------------------------------------------------------- 
    3935   !!                    output monitoring 
    4036   !!---------------------------------------------------------------------- 
     37   LOGICAL            ::   ln_ctl     = .FALSE.   !: run control for debugging 
    4138   INTEGER            ::   nstock     =   10      !: restart file frequency 
    4239   INTEGER            ::   nprint     =    0      !: level of print (0 no print) 
     
    4946   INTEGER            ::   jsplt      =    1      !: number of processors following j 
    5047   INTEGER            ::   ijsplt     =    1      !: nb of local domain = nb of processors 
    51  
     48   INTEGER            ::   nbench     =    0      !: benchmark parameter (0/1) 
     49   INTEGER            ::   nbit_cmp   =    0      !: bit reproducibility  (0/1) 
    5250   !!---------------------------------------------------------------------- 
    5351   !!                        logical units 
  • trunk/NEMO/OPA_SRC/IOM/iom.F90

    r550 r556  
    2525 
    2626   IMPLICIT NONE 
    27    PRIVATE 
     27   PUBLIC   !   must be public to be able to access iom_def through iom 
    2828    
    2929   PUBLIC iom_open, iom_close, iom_varid, iom_get, iom_gettime, iom_rstput 
     
    3636   END INTERFACE 
    3737 
    38    INTEGER ::   iom_init = 0 !  
    3938   !!---------------------------------------------------------------------- 
    4039   !!  OPA 9.0 , LOCEAN-IPSL (2006) 
     
    675674      INTEGER         , INTENT(in)                         ::   kiomid   ! Identifier of the file  
    676675      CHARACTER(len=*), INTENT(in)                         ::   cdvar    ! time axis name 
    677       REAL(wp)        , INTENT(in)                         ::   pvar     ! read field 
     676      REAL(wp)        , INTENT(in)                         ::   pvar     ! written field 
    678677      INTEGER         , INTENT(in), OPTIONAL               ::   ktype    ! variable external type 
    679678      INTEGER :: ivid   ! variable id 
     
    695694      INTEGER         , INTENT(in)                         ::   kiomid   ! Identifier of the file  
    696695      CHARACTER(len=*), INTENT(in)                         ::   cdvar    ! time axis name 
    697       REAL(wp)        , INTENT(in), DIMENSION(        jpk) ::   pvar     ! read field 
     696      REAL(wp)        , INTENT(in), DIMENSION(        jpk) ::   pvar     ! written field 
    698697      INTEGER         , INTENT(in), OPTIONAL               ::   ktype    ! variable external type 
    699698      INTEGER :: ivid   ! variable id 
     
    715714      INTEGER         , INTENT(in)                         ::   kiomid   ! Identifier of the file  
    716715      CHARACTER(len=*), INTENT(in)                         ::   cdvar    ! time axis name 
    717       REAL(wp)        , INTENT(in), DIMENSION(jpi,jpj    ) ::   pvar     ! read field 
     716      REAL(wp)        , INTENT(in), DIMENSION(jpi,jpj    ) ::   pvar     ! written field 
    718717      INTEGER         , INTENT(in), OPTIONAL               ::   ktype    ! variable external type 
    719718      INTEGER :: ivid   ! variable id 
     
    735734      INTEGER         , INTENT(in)                         ::   kiomid   ! Identifier of the file  
    736735      CHARACTER(len=*), INTENT(in)                         ::   cdvar    ! time axis name 
    737       REAL(wp)        , INTENT(in), DIMENSION(jpi,jpj,jpk) ::   pvar     ! read field 
     736      REAL(wp)        , INTENT(in), DIMENSION(jpi,jpj,jpk) ::   pvar     ! written field 
    738737      INTEGER         , INTENT(in), OPTIONAL               ::   ktype    ! variable external type 
    739738      INTEGER :: ivid   ! variable id 
  • trunk/NEMO/OPA_SRC/IOM/iom_def.F90

    r550 r556  
    66   !! History :  9.0  ! 06 09  (S. Masson) Original code 
    77   !!-------------------------------------------------------------------- 
     8   !!--------------------------------------------------------------------------------- 
     9   !! OPA 9.0 , LOCEAN-IPSL (2006)  
     10   !! $Header$  
     11   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
     12   !!--------------------------------------------------------------------------------- 
     13 
    814   USE par_kind 
    915 
     
    1925   INTEGER, PARAMETER, PUBLIC ::   jpdom_unknown       = 7   !: No dimension checking 
    2026 
    21    INTEGER, PARAMETER, PUBLIC ::   jpioipsl    = 100     !: Use ioipsl (fliocom only) library 
    22    INTEGER, PARAMETER, PUBLIC ::   jpnf90      = 101     !: Use nf90 library 
    23    INTEGER, PARAMETER, PUBLIC ::   jprstdimg   = 102     !: Use restart dimgs (fortran direct acces) library 
     27   INTEGER, PARAMETER, PUBLIC ::   jpioipsl    = 100      !: Use ioipsl (fliocom only) library 
     28   INTEGER, PARAMETER, PUBLIC ::   jpnf90      = 101      !: Use nf90 library 
     29   INTEGER, PARAMETER, PUBLIC ::   jprstdimg   = 102      !: Use restart dimgs (fortran direct acces) library 
    2430#if defined key_dimgout 
    2531   INTEGER, PARAMETER, PUBLIC ::   jprstlib  = jprstdimg  !: restarts io library 
     
    2834#endif 
    2935 
    30    INTEGER, PARAMETER, PUBLIC ::   jp_r8    = 200     !:  
    31    INTEGER, PARAMETER, PUBLIC ::   jp_r4    = 201     !:  
    32    INTEGER, PARAMETER, PUBLIC ::   jp_i4    = 202     !:  
    33    INTEGER, PARAMETER, PUBLIC ::   jp_i2    = 203     !:  
    34    INTEGER, PARAMETER, PUBLIC ::   jp_i1    = 204     !:  
     36   INTEGER, PARAMETER, PUBLIC ::   jp_r8    = 200      !: write REAL(8) 
     37   INTEGER, PARAMETER, PUBLIC ::   jp_r4    = 201      !: write REAL(4) 
     38   INTEGER, PARAMETER, PUBLIC ::   jp_i4    = 202      !: write INTEGER(4) 
     39   INTEGER, PARAMETER, PUBLIC ::   jp_i2    = 203      !: write INTEGER(2) 
     40   INTEGER, PARAMETER, PUBLIC ::   jp_i1    = 204      !: write INTEGER(1) 
    3541 
    3642   INTEGER, PARAMETER, PUBLIC ::   jpmax_files  = 20   !: maximum number of simultaneously opened file 
     
    3945   INTEGER, PARAMETER, PUBLIC ::   jpmax_digits =  5   !: maximum number of digits for the cpu number in the file name 
    4046 
     47   INTEGER, PUBLIC            ::   iom_init = 0        !: used to initialize iom_file(:)%nfid to 0 
    4148!$AGRIF_DO_NOT_TREAT 
    42    TYPE, PUBLIC ::   flio_file 
     49   TYPE, PUBLIC ::   file_descriptor 
    4350      CHARACTER(LEN=240)                        ::   name     !: name of the file 
    4451      INTEGER                                   ::   nfid     !: identifier of the file (0 if closed) 
     
    5461      REAL(kind=wp), DIMENSION(jpmax_vars)      ::   scf      !: scale_factor of the variables 
    5562      REAL(kind=wp), DIMENSION(jpmax_vars)      ::   ofs      !: add_offset of the variables 
    56    END TYPE flio_file 
    57    TYPE(flio_file), DIMENSION(jpmax_files), PUBLIC ::   iom_file !: array containing the info for all opened files 
     63   END TYPE file_descriptor 
     64   TYPE(file_descriptor), DIMENSION(jpmax_files), PUBLIC ::   iom_file !: array containing the info for all opened files 
    5865!$AGRIF_END_DO_NOT_TREAT 
    5966 
  • trunk/NEMO/OPA_SRC/IOM/iom_ioipsl.F90

    r550 r556  
    2020   USE dom_oce         ! ocean space and time domain 
    2121   USE lbclnk          ! lateal boundary condition / mpp exchanges 
     22   USE iom_def         ! iom variables definitions 
    2223   USE ioipsl          ! IOIPSL library 
    2324 
     
    298299      INTEGER                         , INTENT(in)           ::   kvid     ! variable id 
    299300      INTEGER                         , INTENT(in), OPTIONAL ::   ktype    ! variable type (default R8) 
    300       REAL(wp)                        , INTENT(in), OPTIONAL ::   pv_r0d   ! read field 
    301       REAL(wp), DIMENSION(        jpk), INTENT(in), OPTIONAL ::   pv_r1d   ! read field 
    302       REAL(wp), DIMENSION(jpi,jpj    ), INTENT(in), OPTIONAL ::   pv_r2d   ! read field 
    303       REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in), OPTIONAL ::   pv_r3d   ! read field 
     301      REAL(wp)                        , INTENT(in), OPTIONAL ::   pv_r0d   ! written Od field 
     302      REAL(wp), DIMENSION(        jpk), INTENT(in), OPTIONAL ::   pv_r1d   ! written 1d field 
     303      REAL(wp), DIMENSION(jpi,jpj    ), INTENT(in), OPTIONAL ::   pv_r2d   ! written 2d field 
     304      REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in), OPTIONAL ::   pv_r3d   ! written 3d field 
    304305      ! 
    305306      INTEGER               :: idims                ! number of dimension 
  • trunk/NEMO/OPA_SRC/IOM/iom_nf90.F90

    r550 r556  
    2020   USE dom_oce         ! ocean space and time domain 
    2121   USE lbclnk          ! lateal boundary condition / mpp exchanges 
     22   USE iom_def         ! iom variables definitions 
    2223   USE netcdf          ! NetCDF library 
    2324 
     
    315316      INTEGER                         , INTENT(in)           ::   kvid     ! variable id 
    316317      INTEGER                         , INTENT(in), OPTIONAL ::   ktype    ! variable type (default R8) 
    317       REAL(wp)                        , INTENT(in), OPTIONAL ::   pv_r0d   ! read field 
    318       REAL(wp), DIMENSION(        jpk), INTENT(in), OPTIONAL ::   pv_r1d   ! read field 
    319       REAL(wp), DIMENSION(jpi,jpj    ), INTENT(in), OPTIONAL ::   pv_r2d   ! read field 
    320       REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in), OPTIONAL ::   pv_r3d   ! read field 
     318      REAL(wp)                        , INTENT(in), OPTIONAL ::   pv_r0d   ! written Od field 
     319      REAL(wp), DIMENSION(        jpk), INTENT(in), OPTIONAL ::   pv_r1d   ! written 1d field 
     320      REAL(wp), DIMENSION(jpi,jpj    ), INTENT(in), OPTIONAL ::   pv_r2d   ! written 2d field 
     321      REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in), OPTIONAL ::   pv_r3d   ! written 3d field 
    321322      ! 
    322323      INTEGER               :: idims                ! number of dimension 
  • trunk/NEMO/OPA_SRC/IOM/iom_rstdimg.F90

    r550 r556  
    1818   USE dom_oce         ! ocean space and time domain 
    1919   USE lbclnk          ! lateal boundary condition / mpp exchanges 
     20   USE iom_def         ! iom variables definitions 
    2021 
    2122   IMPLICIT NONE 
     
    297298      INTEGER                   , INTENT(in) ::   kiomid   ! Identifier of the file  
    298299      CHARACTER(len=*)          , INTENT(in) ::   cdvar    ! time axis name 
    299       REAL(wp)                  , INTENT(in) ::   pv_r0d   ! read field 
     300      REAL(wp)                  , INTENT(in) ::   pv_r0d   ! written 0d field 
    300301      ! 
    301302      CHARACTER(LEN=100) ::   clinfo     ! info character 
     
    410411      INTEGER                         , INTENT(in)           ::   kiomid   ! Identifier of the file  
    411412      CHARACTER(len=*)                , INTENT(in)           ::   cdvar    ! time axis name 
    412       REAL(wp), DIMENSION(        jpk), INTENT(in), OPTIONAL ::   pv_r1d   ! read field 
    413       REAL(wp), DIMENSION(jpi,jpj    ), INTENT(in), OPTIONAL ::   pv_r2d   ! read field 
    414       REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in), OPTIONAL ::   pv_r3d   ! read field 
     413      REAL(wp), DIMENSION(        jpk), INTENT(in), OPTIONAL ::   pv_r1d   ! written 1d field 
     414      REAL(wp), DIMENSION(jpi,jpj    ), INTENT(in), OPTIONAL ::   pv_r2d   ! written 2d field 
     415      REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in), OPTIONAL ::   pv_r3d   ! written 3d field 
    415416      ! 
    416417      CHARACTER(LEN=100)    ::   clinfo               ! info character 
Note: See TracChangeset for help on using the changeset viewer.