20 #include "pism/util/io/NCFile.hh"
51 void def_dim_impl(
const std::string &name,
size_t length)
const;
53 void inq_dimid_impl(
const std::string &dimension_name,
bool &exists)
const;
55 void inq_dimlen_impl(
const std::string &dimension_name,
unsigned int &result)
const;
61 const std::vector<std::string> &dims)
const;
66 const std::vector<unsigned int> &start,
67 const std::vector<unsigned int> &
count,
double *ip)
const;
70 const std::vector<unsigned int> &start,
71 const std::vector<unsigned int> &
count,
const double *op)
const;
74 bool time_dependent,
unsigned int record,
const double *input);
77 const std::vector<unsigned int> &start,
78 const std::vector<unsigned int> &
count,
79 const std::vector<unsigned int> &imap,
double *ip)
const;
83 void inq_vardimid_impl(
const std::string &variable_name, std::vector<std::string> &result)
const;
87 void inq_varid_impl(
const std::string &variable_name,
bool &exists)
const;
93 std::vector<double> &result)
const;
95 void get_att_text_impl(
const std::string &variable_name,
const std::string &att_name,
96 std::string &result)
const;
99 io::Type xtype,
const std::vector<double> &data)
const;
101 void put_att_text_impl(
const std::string &variable_name,
const std::string &att_name,
102 const std::string &value)
const;
105 std::string &result)
const;
107 void inq_atttype_impl(
const std::string &variable_name,
const std::string &att_name,
113 void del_att_impl(
const std::string &variable_name,
const std::string &att_name)
const;
117 int get_varid(
const std::string &variable_name)
const;
Describes the PISM grid and the distribution of data across processors.
std::string filename() const
The PISM wrapper for a subset of the NetCDF C API.
void inq_varid_impl(const std::string &variable_name, bool &exists) const
ParallelIO(MPI_Comm com, int iosysid, io::Backend iotype)
void inq_dimlen_impl(const std::string &dimension_name, unsigned int &result) const
void get_vara_double_impl(const std::string &variable_name, const std::vector< unsigned int > &start, const std::vector< unsigned int > &count, double *ip) const
void del_att_impl(const std::string &variable_name, const std::string &att_name) const
void inq_varnatts_impl(const std::string &variable_name, int &result) const
void set_fill_impl(int fillmode, int &old_modep) const
void put_att_text_impl(const std::string &variable_name, const std::string &att_name, const std::string &value) const
void def_var_impl(const std::string &name, io::Type nctype, const std::vector< std::string > &dims) const
void inq_nvars_impl(int &result) const
void open_impl(const std::string &filename, io::Mode mode)
static io::Backend best_iotype(bool netcdf3)
void put_att_double_impl(const std::string &variable_name, const std::string &att_name, io::Type xtype, const std::vector< double > &data) const
void create_impl(const std::string &filename)
void get_att_double_impl(const std::string &variable_name, const std::string &att_name, std::vector< double > &result) const
void inq_dimid_impl(const std::string &dimension_name, bool &exists) const
void set_compression_level_impl(int level) const
void def_dim_impl(const std::string &name, size_t length) const
void get_att_text_impl(const std::string &variable_name, const std::string &att_name, std::string &result) const
int get_varid(const std::string &variable_name) const
void def_var_chunking_impl(const std::string &name, std::vector< size_t > &dimensions) const
virtual ~ParallelIO()=default
void write_darray_impl(const std::string &variable_name, const Grid &grid, unsigned int z_count, bool time_dependent, unsigned int record, const double *input)
void put_vara_double_impl(const std::string &variable_name, const std::vector< unsigned int > &start, const std::vector< unsigned int > &count, const double *op) const
void inq_attname_impl(const std::string &variable_name, unsigned int n, std::string &result) const
void get_varm_double_impl(const std::string &variable_name, const std::vector< unsigned int > &start, const std::vector< unsigned int > &count, const std::vector< unsigned int > &imap, double *ip) const
void inq_atttype_impl(const std::string &variable_name, const std::string &att_name, io::Type &result) const
void inq_vardimid_impl(const std::string &variable_name, std::vector< std::string > &result) const
void inq_varname_impl(unsigned int j, std::string &result) const
void inq_unlimdim_impl(std::string &result) const