Changeset 369 for XIOS/trunk/src/interface/c/icdata.cpp
- Timestamp:
- 10/16/12 13:04:44 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/interface/c/icdata.cpp
r361 r369 23 23 #include <mpi.h> 24 24 #include "timer.hpp" 25 #include "array_new.hpp" 25 26 26 27 extern "C" … … 111 112 CTimer::get("XIOS send field").resume() ; 112 113 CContext* context = CContext::getCurrent() ; 113 // boost::const_multi_array_ref<double, 1> array_(data_k8, 114 // boost::extents [data_Xsize], 115 // boost::fortran_storage_order()); 116 ARRAY(double, 1) data(new CArray<double, 1>(boost::extents [data_Xsize])); 117 std::copy(data_k8, &(data_k8[data->num_elements()]), data->data()); 118 119 // dtreat->write_data(fieldid_str, data); 120 CField::get(fieldid_str)->setData(data) ; 114 115 CArray<double,(StdSize)1> data(data_k8,shape(data_Xsize),neverDeleteData) ; 116 CField::get(fieldid_str)->setData(data) ; 117 CField toto ; 118 toto.setData(data) ; 121 119 CTimer::get("XIOS send field").suspend() ; 122 120 CTimer::get("XIOS").suspend() ; … … 132 130 CContext* context = CContext::getCurrent() ; 133 131 134 // boost::const_multi_array_ref<double, 2> array_(data_k8, 135 // boost::extents [data_Xsize][data_Ysize], 136 // boost::fortran_storage_order()); 137 ARRAY(double, 2) data(new CArray<double, 2>(boost::extents [data_Xsize][data_Ysize])); 138 std::copy(data_k8, &(data_k8[data->num_elements()]), data->data()); 139 // dtreat->write_data(fieldid_str, data); 132 CArray<double,2>data(data_k8,shape(data_Xsize,data_Ysize),neverDeleteData) ; 140 133 CField::get(fieldid_str)->setData(data) ; 141 134 CTimer::get("XIOS send field").suspend() ; … … 151 144 CTimer::get("XIOS send field").resume() ; 152 145 CContext* context = CContext::getCurrent() ; 153 // boost::const_multi_array_ref<double, 3> array_(data_k8, 154 // boost::extents [data_Xsize][data_Ysize][data_Zsize], 155 // boost::fortran_storage_order()); 156 ARRAY(double, 3) data(new CArray<double, 3>(boost::extents [data_Xsize][data_Ysize][data_Zsize])); 157 std::copy(data_k8, &(data_k8[data->num_elements()]), data->data()); 158 // dtreat->write_data(fieldid_str, data); 146 147 CArray<double,3>data(data_k8,shape(data_Xsize,data_Ysize,data_Zsize),neverDeleteData) ; 159 148 CField::get(fieldid_str)->setData(data) ; 160 149 CTimer::get("XIOS send field").suspend() ; … … 170 159 CTimer::get("XIOS send field").resume() ; 171 160 CContext* context = CContext::getCurrent() ; 172 // boost::const_multi_array_ref<float, 1> array_(data_k4, 173 // boost::extents [data_Xsize], 174 // boost::fortran_storage_order()); 175 // ARRAY(float, 1) data(new CArray<float, 1>(boost::extents [data_Xsize])); 176 // std::copy(data_k4, &(data_k4[data->num_elements()]), data->data()); 177 // dtreat->write_data(fieldid_str, data); 178 ARRAY(double, 1) data(new CArray<double, 1>(boost::extents [data_Xsize])); 179 double* ptr_data=data->data() ; 180 for(int i=0;i<data->num_elements();i++) ptr_data[i]=data_k4[i]; 161 CArray<float,1> data_tmp(data_k4,shape(data_Xsize),neverDeleteData) ; 162 CArray<double,1> data(data_Xsize) ; 163 data=data_tmp ; 181 164 CField::get(fieldid_str)->setData(data) ; 182 165 CTimer::get("XIOS send field").suspend() ; … … 192 175 CTimer::get("XIOS send field").resume() ; 193 176 CContext* context = CContext::getCurrent() ; 194 // boost::const_multi_array_ref<float, 2> array_(data_k4, 195 // boost::extents [data_Xsize][data_Ysize], 196 // boost::fortran_storage_order()); 197 // ARRAY(float, 2) data(new CArray<float, 2>(boost::extents [data_Xsize][data_Ysize])); 198 // std::copy(data_k4, &(data_k4[data->num_elements()]), data->data()); 199 // dtreat->write_data(fieldid_str, data); 200 ARRAY(double, 2) data(new CArray<double, 2>(boost::extents [data_Xsize][data_Ysize])); 201 double* ptr_data=data->data() ; 202 for(int i=0;i<data->num_elements();i++) ptr_data[i]=data_k4[i]; 177 CArray<float,2> data_tmp(data_k4,shape(data_Xsize,data_Ysize),neverDeleteData) ; 178 CArray<double,2> data(data_Xsize,data_Ysize) ; 179 data=data_tmp ; 203 180 CField::get(fieldid_str)->setData(data) ; 204 181 CTimer::get("XIOS send field").suspend() ; … … 215 192 CTimer::get("XIOS send field").resume() ; 216 193 CContext* context = CContext::getCurrent() ; 217 218 // boost::const_multi_array_ref<float, 3> array_(data_k4, 219 // boost::extents [data_Xsize][data_Ysize][data_Zsize], 220 // boost::fortran_storage_order()); 221 // ARRAY(float, 3) data(new CArray<float, 3>(boost::extents [data_Xsize][data_Ysize][data_Zsize])); 222 // std::copy(data_k4, &(data_k4[data->num_elements()]), data->data()); 223 // dtreat->write_data(fieldid_str, data); 224 ARRAY(double, 3) data(new CArray<double, 3>(boost::extents [data_Xsize][data_Ysize][data_Zsize])); 225 double* ptr_data=data->data() ; 226 for(int i=0;i<data->num_elements();i++) ptr_data[i]=data_k4[i]; 194 195 CArray<float,3> data_tmp(data_k4,shape(data_Xsize,data_Ysize,data_Zsize),neverDeleteData) ; 196 CArray<double,3> data(data_Xsize,data_Ysize,data_Zsize) ; 197 data=data_tmp ; 198 227 199 CField::get(fieldid_str)->setData(data) ; 228 200 CTimer::get("XIOS send field").suspend() ;
Note: See TracChangeset
for help on using the changeset viewer.