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 10358 for NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/IOM – NEMO

Ignore:
Timestamp:
2018-11-25T15:24:21+01:00 (5 years ago)
Author:
smasson
Message:

dev_r10164_HPC09_ESIWACE_PREP_MERGE: action 5b: by default, suppress global communication in stpctl, see #2133

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/IOM/iom_nf90.F90

    r10068 r10358  
    129129               CALL iom_nf90_check(NF90_CREATE( TRIM(cdname), imode, if90id, chunksize = ichunk ), clinfo) 
    130130            ENDIF 
    131             CALL iom_nf90_check(NF90_SET_FILL( if90id, NF90_NOFILL, idmy                    ), clinfo) 
     131            CALL iom_nf90_check(NF90_SET_FILL( if90id, NF90_NOFILL,                   idmy ), clinfo) 
    132132            ! define dimensions 
    133             CALL iom_nf90_check(NF90_DEF_DIM( if90id, 'x'      , kdompar(1,1)  , idmy ), clinfo) 
    134             CALL iom_nf90_check(NF90_DEF_DIM( if90id, 'y'      , kdompar(2,1)  , idmy ), clinfo) 
    135             IF( PRESENT(kdlev) ) THEN 
    136                CALL iom_nf90_check(NF90_DEF_DIM( if90id, 'numcat' , ilevels    , idmy ), clinfo) 
    137             ELSE 
    138                CALL iom_nf90_check(NF90_DEF_DIM( if90id, 'nav_lev', ilevels    , idmy ), clinfo) 
    139             ENDIF 
     133            CALL iom_nf90_check(NF90_DEF_DIM( if90id,            'x',   kdompar(1,1), idmy ), clinfo) 
     134            CALL iom_nf90_check(NF90_DEF_DIM( if90id,            'y',   kdompar(2,1), idmy ), clinfo) 
     135            CALL iom_nf90_check(NF90_DEF_DIM( if90id,      'nav_lev',            jpk, idmy ), clinfo) 
    140136            CALL iom_nf90_check(NF90_DEF_DIM( if90id, 'time_counter', NF90_UNLIMITED, idmy ), clinfo) 
     137            IF( PRESENT(kdlev) )   & 
     138               CALL iom_nf90_check(NF90_DEF_DIM( if90id,    'numcat',          kdlev, idmy ), clinfo) 
    141139            ! global attributes 
    142140            CALL iom_nf90_check(NF90_PUT_ATT( if90id, NF90_GLOBAL, 'DOMAIN_number_total'   , jpnij              ), clinfo) 
     
    704702      !                                             ! when appropriate (currently chunking is applied to 4d fields only) 
    705703      INTEGER               :: idlv                 ! local variable 
     704      INTEGER               :: idim3                ! id of the third dimension 
    706705      !--------------------------------------------------------------------- 
    707706      ! 
     
    752751         ! variable definition 
    753752         IF(     PRESENT(pv_r0d) ) THEN   ;   idims = 0 
    754          ELSEIF( PRESENT(pv_r1d) ) THEN   ;   idims = 2   ;   idimid(1:idims) = (/    3,4/) 
     753         ELSEIF( PRESENT(pv_r1d) ) THEN 
     754            IF( SIZE(pv_r1d,1) == jpk ) THEN   ;   idim3 = 3 
     755            ELSE                               ;   idim3 = 5 
     756            ENDIF 
     757                                              idims = 2   ;   idimid(1:idims) = (/idim3,4/) 
    755758         ELSEIF( PRESENT(pv_r2d) ) THEN   ;   idims = 3   ;   idimid(1:idims) = (/1,2  ,4/) 
    756          ELSEIF( PRESENT(pv_r3d) ) THEN   ;   idims = 4   ;   idimid(1:idims) = (/1,2,3,4/) 
     759         ELSEIF( PRESENT(pv_r3d) ) THEN 
     760            IF( SIZE(pv_r3d,3) == jpk ) THEN   ;   idim3 = 3 
     761            ELSE                               ;   idim3 = 5 
     762            ENDIF 
     763                                              idims = 4   ;   idimid(1:idims) = (/1,2,idim3,4/) 
    757764         ENDIF 
    758765         IF( PRESENT(ktype) ) THEN   ! variable external type 
    759766            SELECT CASE (ktype) 
    760             CASE (jp_r8)  ;   itype = NF90_DOUBLE 
    761             CASE (jp_r4)  ;   itype = NF90_FLOAT 
    762             CASE (jp_i4)  ;   itype = NF90_INT 
    763             CASE (jp_i2)  ;   itype = NF90_SHORT 
    764             CASE (jp_i1)  ;   itype = NF90_BYTE 
     767            CASE (jp_r8)   ;   itype = NF90_DOUBLE 
     768            CASE (jp_r4)   ;   itype = NF90_FLOAT 
     769            CASE (jp_i4)   ;   itype = NF90_INT 
     770            CASE (jp_i2)   ;   itype = NF90_SHORT 
     771            CASE (jp_i1)   ;   itype = NF90_BYTE 
    765772            CASE DEFAULT   ;   CALL ctl_stop( TRIM(clinfo)//' unknown variable type' ) 
    766773            END SELECT 
Note: See TracChangeset for help on using the changeset viewer.