Ignore:
Timestamp:
04/17/18 11:55:51 (6 years ago)
Author:
oabramkina
Message:

Enforcing sequential I/O on the client side during reading of metadata by client processes. Parallel I/O can still be used in this case via setting file attribute "read_metadata_par" to true.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/XIOS_DEV_CMIP6/src/node/file.cpp

    r1405 r1485  
    657657 
    658658      bool isCollective = par_access.isEmpty() || par_access == par_access_attr::collective; 
     659      bool readMetaDataPar = true; 
     660      if (!context->hasServer) readMetaDataPar = (read_metadata_par.isEmpty()) ? false : read_metadata_par; 
    659661 
    660662      if (isOpen) data_out->closeFile(); 
    661       if (time_counter_name.isEmpty()) data_in = shared_ptr<CDataInput>(new CNc4DataInput(oss.str(), readComm, multifile, isCollective)); 
    662       else data_in = shared_ptr<CDataInput>(new CNc4DataInput(oss.str(), readComm, multifile, isCollective, time_counter_name)); 
     663      if (time_counter_name.isEmpty()) data_in = shared_ptr<CDataInput>(new CNc4DataInput(oss.str(), readComm, multifile, isCollective, readMetaDataPar)); 
     664      else data_in = shared_ptr<CDataInput>(new CNc4DataInput(oss.str(), readComm, multifile, isCollective, readMetaDataPar, time_counter_name)); 
    663665      isOpen = true; 
    664666    } 
Note: See TracChangeset for help on using the changeset viewer.