- Timestamp:
- 2018-11-25T15:24:21+01:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/IOM/iom_nf90.F90
r10068 r10358 129 129 CALL iom_nf90_check(NF90_CREATE( TRIM(cdname), imode, if90id, chunksize = ichunk ), clinfo) 130 130 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) 132 132 ! 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) 140 136 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) 141 139 ! global attributes 142 140 CALL iom_nf90_check(NF90_PUT_ATT( if90id, NF90_GLOBAL, 'DOMAIN_number_total' , jpnij ), clinfo) … … 704 702 ! ! when appropriate (currently chunking is applied to 4d fields only) 705 703 INTEGER :: idlv ! local variable 704 INTEGER :: idim3 ! id of the third dimension 706 705 !--------------------------------------------------------------------- 707 706 ! … … 752 751 ! variable definition 753 752 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/) 755 758 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/) 757 764 ENDIF 758 765 IF( PRESENT(ktype) ) THEN ! variable external type 759 766 SELECT CASE (ktype) 760 CASE (jp_r8) ; itype = NF90_DOUBLE761 CASE (jp_r4) ; itype = NF90_FLOAT762 CASE (jp_i4) ; itype = NF90_INT763 CASE (jp_i2) ; itype = NF90_SHORT764 CASE (jp_i1) ; itype = NF90_BYTE767 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 765 772 CASE DEFAULT ; CALL ctl_stop( TRIM(clinfo)//' unknown variable type' ) 766 773 END SELECT
Note: See TracChangeset
for help on using the changeset viewer.