20#ifndef PISM_PROJECTION_H
21#define PISM_PROJECTION_H
26#include "pism/util/Units.hh"
27#include "pism/util/VariableMetadata.hh"
50std::string
grid_name(
const File &file,
const std::string &variable_name,
High-level PISM I/O class.
VariableMetadata cf_mapping
grid mapping description following CF conventions
std::string proj_string
a projection definition string in a format recognized by PROJ 6.x+
static MappingInfo FromFile(const File &input_file, const std::string &variable_name, units::System::Ptr unit_system)
Get projection info from a file.
A virtual class collecting methods common to ice and bedrock 3D fields.
std::shared_ptr< System > Ptr
void check_consistency_epsg(const VariableMetadata &cf_mapping, const std::string &proj_string)
Check consistency of the "mapping" variable with the EPSG code in the proj string.
void write_mapping(const File &file, const pism::MappingInfo &info)
void compute_latitude(const std::string &projection, array::Scalar &result)
int parse_epsg(const std::string &proj_string)
void compute_longitude(const std::string &projection, array::Scalar &result)
VariableMetadata epsg_to_cf(units::System::Ptr system, const std::string &proj_string)
Return CF-Convention "mapping" variable corresponding to an EPSG code specified in a PROJ string.
std::string grid_name(const pism::File &file, const std::string &variable_name, pism::units::System::Ptr sys, bool piecewise_constant)
void compute_lat_bounds(const std::string &projection, array::Array3D &result)
void compute_lon_bounds(const std::string &projection, array::Array3D &result)
std::string cf_to_proj(const VariableMetadata &mapping)