MDAL
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
MDAL::DriverCF Class Referenceabstract

NetCDF Climate and Forecast (CF) Metadata Conventions http://cfconventions.org and http://ugrid-conventions.github.io/ugrid-conventions/. More...

#include <mdal_cf.hpp>

Inheritance diagram for MDAL::DriverCF:
MDAL::Driver MDAL::Driver3Di MDAL::DriverTuflowFV MDAL::DriverUgrid

Public Member Functions

 DriverCF (const std::string &name, const std::string &longName, const std::string &filters, const int capabilities)
 
bool canReadMesh (const std::string &uri) override
 
std::unique_ptr< Meshload (const std::string &fileName, const std::string &meshName="") override
 
- Public Member Functions inherited from MDAL::Driver
 Driver (const std::string &name, const std::string &longName, const std::string &filters, int capabilityFlags)
 
virtual Drivercreate ()=0
 
std::string name () const
 
std::string longName () const
 
std::string filters () const
 
bool hasCapability (Capability capability) const
 
bool hasWriteDatasetCapability (MDAL_DataLocation location) const
 
virtual std::string writeDatasetOnFileSuffix () const
 
virtual std::string saveMeshOnFileSuffix () const
 
virtual bool canReadDatasets (const std::string &uri)
 
virtual int faceVerticesMaximumCount () const
 returns the maximum vertices per face
 
virtual std::string buildUri (const std::string &meshFile)
 
virtual void load (const std::string &uri, Mesh *mesh)
 
virtual void save (const std::string &fileName, const std::string &meshName, Mesh *mesh)
 
virtual void createDatasetGroup (Mesh *mesh, const std::string &groupName, MDAL_DataLocation dataLocation, bool hasScalarData, const std::string &datasetGroupFile)
 
virtual void createDataset (DatasetGroup *group, RelativeTimestamp time, const double *values, const int *active)
 
virtual void createDataset (DatasetGroup *group, RelativeTimestamp time, const double *values, const int *verticalLevelCount, const double *verticalExtrusion)
 
virtual bool persist (DatasetGroup *group)
 

Protected Member Functions

virtual CFDimensions populateDimensions ()=0
 
virtual void populateElements (Vertices &vertices, Edges &edges, Faces &faces)=0
 
virtual void addBedElevation (MDAL::MemoryMesh *mesh)=0
 
virtual std::string getCoordinateSystemVariableName ()=0
 
virtual std::set< std::string > ignoreNetCDFVariables ()=0
 
virtual void parseNetCDFVariableMetadata (int varid, std::string &variableName, std::string &name, bool *is_vector, bool *isPolar, bool *invertedDirection, bool *is_x)=0
 
virtual std::vector< std::pair< double, double > > parseClassification (int varid) const =0
 
virtual std::string getTimeVariableName () const =0
 
virtual std::shared_ptr< MDAL::Datasetcreate2DDataset (std::shared_ptr< MDAL::DatasetGroup > group, size_t ts, const MDAL::CFDatasetGroupInfo &dsi, double fill_val_x, double fill_val_y)
 
virtual std::shared_ptr< MDAL::Datasetcreate3DDataset (std::shared_ptr< MDAL::DatasetGroup > group, size_t ts, const MDAL::CFDatasetGroupInfo &dsi, double fill_val_x, double fill_val_y)
 
virtual DateTime defaultReferenceTime () const
 Returns the default reference time.
 
void setProjection (MDAL::Mesh *m)
 
cfdataset_info_map parseDatasetGroupInfo ()
 
DateTime parseTime (std::vector< RelativeTimestamp > &times)
 Populates the times array and returns the reference time.
 
void addDatasetGroups (Mesh *mesh, const std::vector< RelativeTimestamp > &times, const cfdataset_info_map &dsinfo_map, const DateTime &referenceTime)
 

Protected Attributes

std::string mFileName
 
std::string mRequestedMeshName
 
std::shared_ptr< NetCDFFilemNcFile
 
CFDimensions mDimensions
 

Detailed Description

NetCDF Climate and Forecast (CF) Metadata Conventions http://cfconventions.org and http://ugrid-conventions.github.io/ugrid-conventions/.


The documentation for this class was generated from the following files: