Changeset 559 for trunk/NEMO/OPA_SRC
- Timestamp:
- 2006-11-08T08:58:27+01:00 (17 years ago)
- Location:
- trunk/NEMO/OPA_SRC/IOM
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/IOM/iom_ioipsl.F90
r556 r559 330 330 & long_name="Time axis", units='seconds since 0001-01-01 00:00:00' ) 331 331 ! update informations structure related the dimension variable we just added... 332 iom_file(kiomid)%nvars = 4 333 iom_file(kiomid)%luld(1:4) = (/ .FALSE., .FALSE., .FALSE., .TRUE. /) 334 iom_file(kiomid)%cn_var(1:3) = (/ 'nav_lon', 'nav_lat', 'nav_lev' /) 335 iom_file(kiomid)%cn_var(4) = 'time_counter' 336 iom_file(kiomid)%ndims(1:4) = (/ 2, 2, 1, 1 /) 337 CALL flioinqf( ioipslid, ln_dim = idimsz ) 338 iom_file(kiomid)%dimsz(1:2, 1) = idimsz(1:2) 339 iom_file(kiomid)%dimsz(1:2, 2) = idimsz(1:2) 340 iom_file(kiomid)%dimsz(1, 3:4) = (/idimsz(3), 1/) 332 iom_file(kiomid)%nvars = 4 333 iom_file(kiomid)%luld(1:4) = (/ .FALSE., .FALSE., .FALSE., .TRUE. /) 334 iom_file(kiomid)%cn_var(1:3) = (/ 'nav_lon', 'nav_lat', 'nav_lev' /) 335 iom_file(kiomid)%cn_var(4) = 'time_counter' 336 iom_file(kiomid)%ndims(1:4) = (/ 2, 2, 1, 1 /) 337 ! trick: defined to 0 to say that dimension variables are defined but not yet written 338 iom_file(kiomid)%dimsz(1, 1) = 0 341 339 IF(lwp) WRITE(numout,*) TRIM(clinfo)//' define dimension variables done' 342 340 ENDIF … … 403 401 ! write dimension variables if it is not already done 404 402 ! ============= 403 ! trick: is defined to 0 => dimension variable are defined but not yet written 405 404 IF( iom_file(kiomid)%dimsz(1, 1) == 0 ) THEN 406 405 CALL flioputv( ioipslid, 'nav_lon' , glamt(ix1:ix2, iy1:iy2) ) … … 408 407 CALL flioputv( ioipslid, 'nav_lev' , gdept_0 ) 409 408 ! +++ WRONG VALUE: to be improved but not really useful... 410 CALL flioputv( ioipslid, 'time_counter', kt ) 409 CALL flioputv( ioipslid, 'time_counter', kt ) 410 ! update the values of the variables dimensions size 411 CALL flioinqf( ioipslid, ln_dim = idimsz ) 412 iom_file(kiomid)%dimsz(1:2, 1) = idimsz(1:2) 413 iom_file(kiomid)%dimsz(1:2, 2) = idimsz(1:2) 414 iom_file(kiomid)%dimsz(1, 3:4) = (/idimsz(3), 1/) 411 415 IF(lwp) WRITE(numout,*) TRIM(clinfo)//' write dimension variables done' 412 416 ENDIF -
trunk/NEMO/OPA_SRC/IOM/iom_nf90.F90
r556 r559 355 355 iom_file(kiomid)%cn_var(1:4) = cltmp 356 356 iom_file(kiomid)%ndims(1:4) = (/ 2, 2, 1, 1 /) 357 CALL iom_nf90_check(NF90_INQUIRE_DIMENSION( if90id, 1, len = iom_file(kiomid)%dimsz(1,1) ), clinfo) 358 CALL iom_nf90_check(NF90_INQUIRE_DIMENSION( if90id, 2, len = iom_file(kiomid)%dimsz(2,1) ), clinfo) 359 iom_file(kiomid)%dimsz(1:2, 2) = iom_file(kiomid)%dimsz(1:2, 1) 360 CALL iom_nf90_check(NF90_INQUIRE_DIMENSION( if90id, 3, len = iom_file(kiomid)%dimsz(1,3) ), clinfo) 361 iom_file(kiomid)%dimsz(1 , 4) = 1 ! unlimited dimension 357 ! trick: defined to 0 to say that dimension variables are defined but not yet written 358 iom_file(kiomid)%dimsz(1, 1) = 0 362 359 IF(lwp) WRITE(numout,*) TRIM(clinfo)//' define dimension variables done' 363 360 ENDIF … … 433 430 ! write dimension variables if it is not already done 434 431 ! ============= 432 ! trick: is defined to 0 => dimension variable are defined but not yet written 435 433 IF( iom_file(kiomid)%dimsz(1, 1) == 0 ) THEN 436 434 CALL iom_nf90_check(NF90_INQ_VARID( if90id, 'nav_lon' , idmy ), clinfo) … … 443 441 CALL iom_nf90_check(NF90_INQ_VARID( if90id, 'time_counter', idmy ), clinfo) 444 442 CALL iom_nf90_check(NF90_PUT_VAR( if90id, idmy, kt ), clinfo) 443 ! update the values of the variables dimensions size 444 CALL iom_nf90_check(NF90_INQUIRE_DIMENSION( if90id, 1, len = iom_file(kiomid)%dimsz(1,1) ), clinfo) 445 CALL iom_nf90_check(NF90_INQUIRE_DIMENSION( if90id, 2, len = iom_file(kiomid)%dimsz(2,1) ), clinfo) 446 iom_file(kiomid)%dimsz(1:2, 2) = iom_file(kiomid)%dimsz(1:2, 1) 447 CALL iom_nf90_check(NF90_INQUIRE_DIMENSION( if90id, 3, len = iom_file(kiomid)%dimsz(1,3) ), clinfo) 448 iom_file(kiomid)%dimsz(1 , 4) = 1 ! unlimited dimension 445 449 IF(lwp) WRITE(numout,*) TRIM(clinfo)//' write dimension variables done' 446 450 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.