38 #ifndef GRID_LEVEL_PASSTHROUGH_H
39 #define GRID_LEVEL_PASSTHROUGH_H
69 :
Level<Type>(comm, numa, type),
87 unsigned int cacheSize,
89 grid::ValuePosition valuePos)
105 void getAt(T* buf,
const double* pos)
111 size_t index[MAX_DIMENSIONS];
113 size_t size[MAX_DIMENSIONS];
114 std::fill_n(size, MAX_DIMENSIONS, 1);
120 this->
type().load(this->
inputFile(), index, size, threadBuf);
121 this->
type().convert(threadBuf, buf);
unsigned long size(unsigned int n) const
void getAt(T *buf, const double *pos)
unsigned int totalThreads() const
unsigned int threadId() const
void incCounter(perf::Counter::CounterType type)
Base class for a grid level.
unsigned int typeSize() const
void pos2index(const double *pos, size_t *index)
const Type & type() const
asagi::Grid::Error open(const char *filename, const char *varname, grid::ValuePosition valuePos)
io::NetCdfReader & inputFile() const
PassThrough(mpi::MPIComm &comm, const numa::Numa &numa, Type &type)
asagi::Grid::Error open(const char *filename, const char *varname, const int *blockSize, int timeDimension, unsigned int cacheSize, int cacheHandSpread, grid::ValuePosition valuePos)