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 559 for trunk/NEMO/OPA_SRC/IOM/iom_nf90.F90 – NEMO

Ignore:
Timestamp:
2006-11-08T08:58:27+01:00 (17 years ago)
Author:
opalod
Message:

nemo_v1_bugfix_071: SM: write nav_lon, nav_lat, nav_lev and time_counetr in iom_rstput with NetCDF files

File:
1 edited

Legend:

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

    r556 r559  
    355355         iom_file(kiomid)%cn_var(1:4) = cltmp 
    356356         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    
    362359         IF(lwp) WRITE(numout,*) TRIM(clinfo)//' define dimension variables done' 
    363360      ENDIF 
     
    433430            ! write dimension variables if it is not already done 
    434431            ! ============= 
     432            ! trick: is defined to 0 => dimension variable are defined but not yet written 
    435433            IF( iom_file(kiomid)%dimsz(1, 1) == 0 ) THEN 
    436434               CALL iom_nf90_check(NF90_INQ_VARID( if90id, 'nav_lon'     , idmy ), clinfo) 
     
    443441               CALL iom_nf90_check(NF90_INQ_VARID( if90id, 'time_counter', idmy ), clinfo) 
    444442               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 
    445449               IF(lwp) WRITE(numout,*) TRIM(clinfo)//' write dimension variables done' 
    446450            ENDIF 
Note: See TracChangeset for help on using the changeset viewer.