File options_netcdf.hxx#


namespace bout

Provides access to the Hypre library, handling initialisation and finalisation.


#include <bout/hyprelib.hxx>

class MyClass { public:

private: HypreLib lib; };

This will then automatically initialise Hypre the first time an object is created, and finalise it when the last object is destroyed.

Copyright 2012 B.D.Dudson, S.Farley, M.V.Umansky, X.Q.Xu

Contact: Ben Dudson,

This file is part of BOUT++.

BOUT++ is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

BOUT++ is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with BOUT++. If not, see

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

SNB model

class OptionsNetCDF : public bout::OptionsIO#

Public Functions

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

Create an OptionsNetCDF


  • ”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()#

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)#

Write options to file.

virtual void verifyTimesteps() const#

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#


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.