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

Ignore:
Timestamp:
2007-01-04T10:45:24+01:00 (17 years ago)
Author:
opalod
Message:

nemo_v2_bugfix_001 : SM + CT : - add an initialization of iom_file(kiomid)%luld(kiv) field

  • change "offset" to "add_offset" characters
  • use a loop instead of the MINLOC function to find the minimum value of an array
  • allow to write/read headers of DIMG files over 2 records (iom_rstdimg.F90)
File:
1 edited

Legend:

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

    r559 r588  
    6060      INTEGER            ::   if90id   ! nf90 identifier of the opened file 
    6161      INTEGER            ::   idmy     ! dummy variable 
     62      INTEGER            ::   jl       ! loop variable 
    6263      !--------------------------------------------------------------------- 
    6364 
     
    109110      ! ============= 
    110111      IF( istop == nstop ) THEN   ! no error within this routine 
    111          kiomid = MINLOC(iom_file(:)%nfid, dim = 1) 
     112!does not work with some compilers         kiomid = MINLOC(iom_file(:)%nfid, dim = 1) 
     113         kiomid = 0 
     114         DO jl = jpmax_files, 1, -1 
     115            IF( iom_file(jl)%nfid == 0 )   kiomid = jl 
     116         ENDDO 
    112117         iom_file(kiomid)%name   = TRIM(cdname) 
    113118         iom_file(kiomid)%nfid   = if90id 
     
    174179         iom_file(kiomid)%ndims(kiv)  = i_nvd 
    175180         CALL iom_nf90_check(NF90_Inquire_Variable(if90id, ivarid, dimids = idimid(1:i_nvd)), clinfo)   ! dimensions ids 
    176          DO ji = 1, i_nvd   ! dimensions size 
     181         iom_file(kiomid)%luld(kiv) = .FALSE.   ! default value 
     182         DO ji = 1, i_nvd                       ! dimensions size 
    177183            CALL iom_nf90_check(NF90_Inquire_Dimension(if90id, idimid(ji), len = iom_file(kiomid)%dimsz(ji,kiv)), clinfo)    
    178184            IF( idimid(ji) == iom_file(kiomid)%iduld ) iom_file(kiomid)%luld(kiv) = .TRUE.   ! unlimited dimension?  
    179185         END DO 
    180          !---------- Deal with scale_factor and offset 
     186         !---------- Deal with scale_factor and add_offset 
    181187         llok = NF90_Inquire_attribute(if90id, ivarid, 'scale_factor') == nf90_noerr 
    182188         IF( llok) THEN 
     
    185191            iom_file(kiomid)%scf(kiv) = 1. 
    186192         END IF 
    187          llok = NF90_Inquire_attribute(if90id, ivarid, 'offset') == nf90_noerr 
     193         llok = NF90_Inquire_attribute(if90id, ivarid, 'add_offset') == nf90_noerr 
    188194         IF( llok ) THEN 
    189             CALL iom_nf90_check(NF90_GET_ATT(if90id, ivarid, 'offset', iom_file(kiomid)%ofs(kiv)), clinfo) 
     195            CALL iom_nf90_check(NF90_GET_ATT(if90id, ivarid, 'add_offset', iom_file(kiomid)%ofs(kiv)), clinfo) 
    190196         ELSE 
    191197            iom_file(kiomid)%ofs(kiv) = 0. 
Note: See TracChangeset for help on using the changeset viewer.