PISM, A Parallel Ice Sheet Model 2.3.0-79cae578d committed by Constantine Khrulev on 2026-03-22
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
input_helpers.cc File Reference
#include <cmath>
#include "pism/util/Grid.hh"
#include "pism/util/io/LocalInterpCtx.hh"
#include "pism/util/io/IO_Flags.hh"
#include "pism/util/error_handling.hh"
#include "pism/util/VariableMetadata.hh"
#include "pism/util/Profiling.hh"
#include "pism/util/Context.hh"
#include "pism/util/pism_utilities.hh"
#include "pism/util/Logger.hh"

Go to the source code of this file.

Classes

struct  pism::io::StartCountInfo
 

Namespaces

namespace  pism
 
namespace  pism::io
 Input and output code (NetCDF wrappers, etc)
 

Functions

static std::string pism::io::check_units (const VariableMetadata &variable, const std::string &input_units, const Logger &log)
 
static void pism::io::interpolate (const grid::DistributedGridInfo &grid, const LocalInterpCtx &lic, double const *input_array, double *output_array)
 Bi-(or tri-)linear interpolation.
 
static bool pism::io::transpose (std::vector< AxisType > dimension_types)
 
static std::vector< AxisTypepism::io::dimension_types (const File &file, const std::string &var_name, std::shared_ptr< units::System > unit_system)
 
static void pism::io::transpose (const double *input, const std::vector< AxisType > &input_axes, const std::array< int, 4 > &count, double *output)
 
static void pism::io::check_for_missing_values (const File &file, const std::string &variable_name, double tolerance, const double *buffer, size_t buffer_length)
 
static StartCountInfo pism::io::compute_start_and_count (std::vector< AxisType > &dim_types, const std::array< int, 4 > &start, const std::array< int, 4 > &count)
 
static void pism::io::read_distributed_array (const File &file, const std::string &variable_name, std::shared_ptr< units::System > unit_system, const std::array< int, 4 > &start, const std::array< int, 4 > &count, double *output)
 Read an array distributed according to the grid.
 
void pism::io::regrid_spatial_variable (const VariableMetadata &variable, const Grid &target_grid, const LocalInterpCtx &interp_context, const File &file, const Logger &log, double *output)
 Regrid from a NetCDF file into a distributed array output.
 
std::vector< doublepism::io::read_1d_variable (const File &file, const std::string &variable_name, const std::string &units, std::shared_ptr< units::System > unit_system)
 
std::vector< doublepism::io::read_timeseries_variable (const File &file, const std::string &variable_name, const std::string &units, std::shared_ptr< units::System > unit_system, size_t start, size_t count)
 
std::vector< doublepism::io::read_bounds (const File &file, const std::string &bounds_variable_name, const std::string &internal_units, std::shared_ptr< units::System > unit_system)
 
void pism::io::read_time_info (std::shared_ptr< units::System > unit_system, const File &file, const std::string &time_name, const std::string &time_units, std::vector< double > &times, std::vector< double > &bounds)
 
void pism::io::read_spatial_variable (const VariableMetadata &variable, const Grid &grid, const File &file, unsigned int time, double *output)
 Read a variable from a file into an array output.
 
static void pism::io::check_grid_overlap (const grid::InputGridInfo &input, const grid::DistributedGridInfo &internal, const std::vector< double > &z_internal)
 
void pism::io::check_input_grid (const grid::InputGridInfo &input_grid, const grid::DistributedGridInfo &internal_grid, const std::vector< double > &internal_z_levels, bool allow_extrapolation)
 Check that x, y, and z coordinates of the input grid are strictly increasing.
 
std::string pism::io::time_dimension (units::System::Ptr unit_system, const File &file, const std::string &variable_name)
 
VariableMetadata pism::io::read_attributes (const File &file, const std::string &variable_name, std::shared_ptr< units::System > unit_system)