File options_netcdf.hxx#

Defines

__OPTIONS_NETCDF_H__#
namespace netCDF#

Forward declare netCDF file type so we don’t need to depend directly on netCDF

namespace bout

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

Usage

#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, bd512@york.ac.uk

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 http://www.gnu.org/licenses/.

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

Functions

std::string getRestartDirectoryName(Options &options)#

Name of the directory for restart files.

std::string getRestartFilename(Options &options)#

Name of the restart file on this rank.

std::string getRestartFilename(Options &options, int rank)#

Name of the restart file on rank.

std::string getOutputFilename(Options &options)#

Name of the main output file on this rank.

std::string getOutputFilename(Options &options, int rank)#

Name of the main output file on rank.

void writeDefaultOutputFile()#

Write Options::root() to the main output file, overwriting any existing files

void writeDefaultOutputFile(Options &options)#

Write options to the main output file, overwriting any existing files

class OptionsNetCDF#

Public Types

enum FileMode#

Values:

enumerator replace#

Overwrite file when writing.

enumerator append#

Append to file when writing.

Public Functions

OptionsNetCDF()#
explicit OptionsNetCDF(std::string filename, FileMode mode = FileMode::replace)#
~OptionsNetCDF()#
OptionsNetCDF(const OptionsNetCDF&) = delete#
OptionsNetCDF(OptionsNetCDF&&) noexcept#
OptionsNetCDF &operator=(const OptionsNetCDF&) = delete#
OptionsNetCDF &operator=(OptionsNetCDF&&) noexcept#
Options read()#

Read options from file.

inline void write(const Options &options)#

Write options to file.

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

Write options to file.

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 Members

std::string filename#

Name of the file on disk.

FileMode file_mode = {FileMode::replace}#

How to open the file for writing.

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

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