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;
74 virtual void inq_vardimid_impl(
const std::string &variable_name, std::vector<std::string> &result)
const;
76 virtual void inq_varnatts_impl(
const std::string &variable_name,
int &result)
const;
78 virtual void inq_varid_impl(
const std::string &variable_name,
bool &exists)
const;
83 virtual void get_att_double_impl(
const std::string &variable_name,
const std::string &att_name, std::vector<double> &result)
const;
85 virtual void get_att_text_impl(
const std::string &variable_name,
const std::string &att_name, std::string &result)
const;
87 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;
89 virtual void put_att_text_impl(
const std::string &variable_name,
const std::string &att_name,
const std::string &value)
const;
91 virtual void inq_attname_impl(
const std::string &variable_name,
unsigned int n, std::string &result)
const;
93 virtual void inq_atttype_impl(
const std::string &variable_name,
const std::string &att_name,
io::Type &result)
const;
96 virtual void set_fill_impl(
int fillmode,
int &old_modep)
const;
98 virtual void del_att_impl(
const std::string &variable_name,
const std::string &att_name)
const;
102 const std::vector<unsigned int> &start,
103 const std::vector<unsigned int> &
count,
double *ip,
108 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 get_put_var_double(const std::string &variable_name, const std::vector< unsigned int > &start, const std::vector< unsigned int > &count, double *ip, bool get) 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 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 set_access_mode(int varid) const
virtual void put_att_text_impl(const std::string &variable_name, const std::string &att_name, const std::string &value) const
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 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.