19 #ifndef _PISMNC4FILE_H_
20 #define _PISMNC4FILE_H_
22 #include "pism/util/io/NCFile.hh"
30 NC4File(MPI_Comm com,
unsigned int compression_level);
47 virtual void def_dim_impl(
const std::string &name,
size_t length)
const;
49 virtual void inq_dimid_impl(
const std::string &dimension_name,
bool &exists)
const;
51 virtual void inq_dimlen_impl(
const std::string &dimension_name,
unsigned int &result)
const;
57 std::vector<size_t> &dimensions)
const;
60 io::Type nctype,
const std::vector<std::string> &dims)
const;
63 const std::vector<unsigned int> &start,
64 const std::vector<unsigned int> &
count,
68 const std::vector<unsigned int> &start,
69 const std::vector<unsigned int> &
count,
70 const double *op)
const;
73 const std::vector<unsigned int> &start,
74 const std::vector<unsigned int> &
count,
75 const std::vector<unsigned int> &imap,
double *ip)
const;
79 virtual void inq_vardimid_impl(
const std::string &variable_name, std::vector<std::string> &result)
const;
81 virtual void inq_varnatts_impl(
const std::string &variable_name,
int &result)
const;
83 virtual void inq_varid_impl(
const std::string &variable_name,
bool &exists)
const;
88 virtual void get_att_double_impl(
const std::string &variable_name,
const std::string &att_name, std::vector<double> &result)
const;
90 virtual void get_att_text_impl(
const std::string &variable_name,
const std::string &att_name, std::string &result)
const;
92 virtual void put_att_double_impl(
const std::string &variable_name,
const std::string &att_name,
io::Type xtype,
const std::vector<double> &data)
const;
94 virtual void put_att_text_impl(
const std::string &variable_name,
const std::string &att_name,
const std::string &value)
const;
96 virtual void inq_attname_impl(
const std::string &variable_name,
unsigned int n, std::string &result)
const;
98 virtual void inq_atttype_impl(
const std::string &variable_name,
const std::string &att_name,
io::Type &result)
const;
101 virtual void set_fill_impl(
int fillmode,
int &old_modep)
const;
103 virtual void del_att_impl(
const std::string &variable_name,
const std::string &att_name)
const;
107 const std::vector<unsigned int> &start,
108 const std::vector<unsigned int> &
count,
109 const std::vector<unsigned int> &imap,
double *ip,
115 int get_varid(
const std::string &variable_name)
const;
virtual void get_att_double_impl(const std::string &variable_name, const std::string &att_name, std::vector< double > &result) const
virtual void inq_attname_impl(const std::string &variable_name, unsigned int n, std::string &result) const
virtual void inq_nvars_impl(int &result) const
virtual void put_att_double_impl(const std::string &variable_name, const std::string &att_name, io::Type xtype, const std::vector< double > &data) const
virtual void get_att_text_impl(const std::string &variable_name, const std::string &att_name, std::string &result) const
virtual void close_impl()
virtual void inq_varid_impl(const std::string &variable_name, bool &exists) const
virtual void sync_impl() const
virtual void inq_dimid_impl(const std::string &dimension_name, bool &exists) const
virtual void enddef_impl() const
virtual void inq_unlimdim_impl(std::string &result) const
unsigned int m_compression_level
virtual void def_var_chunking_impl(const std::string &name, std::vector< size_t > &dimensions) const
virtual void set_access_mode(int varid, bool mapped) const
virtual void redef_impl() const
virtual void inq_dimlen_impl(const std::string &dimension_name, unsigned int &result) const
virtual void del_att_impl(const std::string &variable_name, const std::string &att_name) const
virtual void get_put_var_double(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, bool get, bool mapped) const
virtual void put_att_text_impl(const std::string &variable_name, const std::string &att_name, const std::string &value) const
NC4File(MPI_Comm com, unsigned int compression_level)
virtual ~NC4File()=default
virtual void def_dim_impl(const std::string &name, size_t length) const
virtual void inq_vardimid_impl(const std::string &variable_name, std::vector< std::string > &result) const
virtual void set_fill_impl(int fillmode, int &old_modep) const
virtual void def_var_impl(const std::string &name, io::Type nctype, const std::vector< std::string > &dims) const
virtual 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
virtual 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
int get_varid(const std::string &variable_name) const
virtual void inq_varname_impl(unsigned int j, std::string &result) const
virtual 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
virtual void inq_atttype_impl(const std::string &variable_name, const std::string &att_name, io::Type &result) const
virtual void inq_varnatts_impl(const std::string &variable_name, int &result) const
The PISM wrapper for a subset of the NetCDF C API.