37 NetCDFIO(
const std::string& configfile);
49 typedef struct ATTRIBUTES {
50 ATTRIBUTES() : var(), standard_name(), long_name(), units(), height(
IOUtils::nodata) {};
51 ATTRIBUTES(
const std::string& str1,
const std::string& str2,
const std::string& str3,
const std::string& str4,
const double& hgt)
52 : var(str1), standard_name(str2), long_name(str3), units(str4), height(hgt) {};
53 std::string toString() {std::ostringstream os; os <<
"[" << var <<
" / " << standard_name <<
" / " << long_name <<
" , in " << units <<
" @ " << height <<
"]";
return os.str();};
56 std::string standard_name;
57 std::string long_name;
62 void initAttributesMap(
const std::string& schema, std::map<MeteoGrids::Parameters, attributes> &attr);
63 void scanMeteoPath(
const std::string& meteopath_in, std::vector< std::pair<std::pair<mio::Date, mio::Date>, std::string> > &meteo_files);
64 void setTimeTransform(
const std::string& schema,
double &time_offset,
double &time_multiplier);
65 void parseInputOutputSection();
66 void check_consistency(
const int& ncid,
const Grid2DObject& grid,
double*& lat_array,
double*& lon_array,
67 int& did_lat,
int& did_lon,
int& vid_lat,
int& vid_lon);
71 bool read2DGrid_internal(
Grid2DObject& grid_out,
const std::string& full_name,
const std::string& varname,
const Date& date=
Date(),
const bool& isPrecip=
false);
72 void write2DGrid_internal(
Grid2DObject grid_in,
const std::string& filename,
const attributes& attr,
const Date& date=
Date(),
const bool& isPrecip=
false);
73 void add_attributes_for_variable(
const int& ncid,
const int& varid,
const attributes& attr,
const double& nodata_out);
74 void getTimeTransform(
const int& ncid,
double &time_offset,
double &time_multiplier)
const;
75 void create_latlon_dimensions(
const int& ncid,
const Grid2DObject& grid,
int& did_lat,
int& did_lon,
int& vid_lat,
int& vid_lon);
76 void create_time_dimension(
const int& ncid,
int& did_time,
int& vid_time);
77 void readWind(
const std::string& filename,
const Date& date);
80 static const double plugin_nodata;
81 static const std::string cf_time, cf_latitude, cf_longitude;
84 std::vector< std::pair<std::pair<Date,Date>, std::string> > cache_meteo_files;
85 std::map <MeteoGrids::Parameters, attributes> in_attributes, out_attributes;
86 std::string coordin, coordinparam, coordout, coordoutparam;
87 double in_dflt_TZ, out_dflt_TZ;
88 double in_time_offset, in_time_multiplier;
89 bool dem_altimeter, in_strict, out_strict;
90 std::vector<StationData> vecMetaData;
A class representing the IO Layer of the software Alpine3D. For each type of IO (File, DB, Webservice, etc) a derived class is to be created that holds the specific implementation of the appropriate virtual methods. The IOHandler class is a wrapper class that is able to deal with all above implementations of the IOInterface abstract base class.
Definition: IOInterface.h:43
virtual void readDEM(DEMObject &dem_out)
Parse the DEM (Digital Elevation Model) into the Grid2DObject.
Definition: NetCDFIO.cc:421
virtual void write2DGrid(const Grid2DObject &grid_in, const std::string &filename)
Write a Grid2DObject The filename is specified relative to GRID2DPATH for most plugins.
Definition: NetCDFIO.cc:455
NetCDFIO(const std::string &configfile)
Definition: NetCDFIO.cc:175
A class that reads a key/value file. These files (typically named *.ini) follow the INI file format s...
Definition: Config.h:58
A class to represent DEMs and automatically compute some properties. This class stores elevation grid...
Definition: DEMObject.h:39
A class to represent 2D Grids. Typical application as DEM or Landuse Model.
Definition: Grid2DObject.h:37
const double nodata
This is the internal nodata value.
Definition: IOUtils.h:60
virtual void read2DGrid(Grid2DObject &grid_out, const std::string ¶meter="")
A generic function for parsing 2D grids into a Grid2DObject. The string parameter shall be used for a...
Definition: NetCDFIO.cc:277
This plug-in allows reading and writing of NetCDF files formatted according to CNRM standard...
Definition: NetCDFIO.h:35
A class to handle timestamps. This class handles conversion between different time display formats (I...
Definition: Date.h:79
Parameters
Definition: MeteoData.h:44