Changeset 189 for XMLIO_V2/dev/dev_rv/src/xmlio/output/onetcdf4.hpp
- Timestamp:
- 05/06/11 10:15:47 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XMLIO_V2/dev/dev_rv/src/xmlio/output/onetcdf4.hpp
r185 r189 49 49 int addDimension(const StdString& name, const StdSize size = UNLIMITED_DIM); 50 50 int addVariable(const StdString & name, nc_type type, 51 const std::vector<StdString> & dim); 51 const std::vector<StdString> & dim); 52 53 //---------------------------------------------------------------- 54 public : 55 52 56 template <class T> 53 57 void addAttribute … … 55 59 56 60 /// Ecriture des données /// 57 template <class T >58 void writeData(const ARRAY(T, 1) data, const StdString & name,61 template <class T, StdSize ndim> 62 void writeData(const ARRAY(T, ndim) data, const StdString & name, 59 63 bool collective, StdSize record, 60 64 const std::vector<StdSize> * start = NULL, … … 68 72 /// Destructeur /// 69 73 virtual ~CONetCDF4(void); 70 74 75 //---------------------------------------------------------------- 76 71 77 protected : 72 78 … … 83 89 std::vector<StdSize> getDimensions(const StdString & varname); 84 90 int getUnlimitedDimension(void); 85 91 92 //---------------------------------------------------------------- 93 86 94 private : 95 96 template <class T> 97 void writeData_(int grpid, int varid, 98 const std::vector<StdSize> & sstart, 99 const std::vector<StdSize> & scount, T * data); 87 100 88 101 void getWriteDataInfos(const StdString & name, StdSize record, StdSize & array_size, … … 102 115 }; // class CONetCDF4 103 116 117 ///--------------------------------------------------------------- 118 119 template <class T, StdSize ndim> 120 void CONetCDF4::writeData(const ARRAY(T, ndim) data, const StdString & name, 121 bool collective, StdSize record, 122 const std::vector<StdSize> * start, 123 const std::vector<StdSize> * count) 124 { 125 int grpid = this->getCurrentGroup(); 126 int varid = this->getVariable(name); 127 StdSize array_size = 1; 128 std::vector<StdSize> sstart, scount; 129 130 if (this->wmpi && collective) 131 CheckError(nc_var_par_access(grpid, varid, NC_COLLECTIVE)); 132 if (this->wmpi && !collective) 133 CheckError(nc_var_par_access(grpid, varid, NC_INDEPENDENT)); 134 135 this->getWriteDataInfos 136 (name, record, array_size, sstart, scount, start, count); 137 this->writeData_(grpid, varid, sstart, scount, data->data()); 138 } 139 140 ///--------------------------------------------------------------- 141 104 142 } // namespace io 105 143 } // namespace xmlioserver
Note: See TracChangeset
for help on using the changeset viewer.