File options_netcdf.hxx#

Defines

OPTIONS_NETCDF_H#
namespace bout

Information about the version of BOUT++

The build system will update this file on every commit, which may result in files that include it getting rebuilt. Therefore it should be included in as few places as possible

Information about the version of BOUT++

The build system will update this file at configure-time

Explicit inversion of a 3x3 matrix a

If the matrix is singular (ill conditioned), the determinant is return. Otherwise, an empty std::optional is return

class OptionsNetCDF : public bout::OptionsIO#

Public Functions

OptionsNetCDF() = delete#
OptionsNetCDF(Options &options)#

Create an OptionsNetCDF

Options:

  • ”file” The name of the file If not set then “path” and “prefix” options must be set, and file is set to {path}/{prefix}.{rank}.nc

  • ”append” File mode, default is false

inline ~OptionsNetCDF()#
OptionsNetCDF(const OptionsNetCDF&) = delete#
OptionsNetCDF(OptionsNetCDF&&) noexcept = default#
OptionsNetCDF &operator=(const OptionsNetCDF&) = delete#
OptionsNetCDF &operator=(OptionsNetCDF&&) noexcept = default#
virtual Options read(bool lazy = true) override#

Read options from file.

inline void write(const Options &options)#

Write options to file.

virtual void write(const Options &options, const std::string &time_dim) override#
virtual void verifyTimesteps() const override#

Check that all variables with the same time dimension have the same size in that dimension. Throws BoutException if there are any differences, otherwise is silent

Private Types

enum class FileMode#

Values:

enumerator replace#

Overwrite file when writing.

enumerator append#

Append to file when writing.

Private Members

std::unique_ptr<netCDF::NcFile> data_file = nullptr#

Pointer to netCDF file so we don’t introduce direct dependence.

std::string filename#

Name of the file on disk.

FileMode file_mode = {FileMode::replace}#

How to open the file for writing.