MeteoIODoc 20241221.207bde49
mio Namespace Reference

Namespaces

namespace  ARIMAutils
 
namespace  codes
 
namespace  Color
 
namespace  Cst
 
namespace  FileUtils
 
namespace  iCSV
 
namespace  IOUtils
 
namespace  Optim
 
namespace  PLUGIN
 

Classes

class  A3DIO
 
class  AccessException
 thrown when a there are insufficient rights to access a file/server/... in a certain way (e.g. read, write) More...
 
class  Accumulate
 Accumulation over a user given period. More...
 
class  ACDD
 This class contains and handles NetCDF Attribute Conventions Dataset Discovery attributes (see ACDD). More...
 
class  AlgorithmFactory
 
class  AllSkyLWGenerator
 ILWR all sky parametrization. More...
 
class  AllSkySWGenerator
 ISWR all sky parametrization. More...
 
class  ALPUG
 This plugin reads data as they come out of ALPUG stations, in ASCII. More...
 
class  ALS_Interpolation
 Scale and distribute the precipitation according to Airborn Laser Scans (ALS) grids. More...
 
class  AnetzData
 
class  ARCIO
 This class enables the access to 2D grids stored in ESRI ASCII (ARCGIS) format. More...
 
class  ArgosIO
 This plugin deals with data that has been transmitted through the ARGOS satellites. In order to reduce data transfers, no headers are provided with the data and therefore all the metadata will have to be provided to the plugin. More...
 
class  ArgosStation
 
class  ARIMAResampling
 This class is designed to handle interpolation (resampling) of data using the ARIMA (AutoRegressive Integrated Moving Average) model. More...
 
class  ARPSIO
 This class enables the access to 2D grids stored in ARPS format. More...
 
class  Array1D
 The template class Array1D is a 1D array (vector) able to hold any type of object as datatype. If the compilation flag NOSAFECHECKS is used, bounds check is turned off (leading to increased performances). More...
 
class  Array2D
 The template class Array2D is a 2D Array (Matrix) able to hold any type of object as datatype. It relies on the Array2DProxy class to provide the [][] operator (slower than the (i,j) call). If the compilation flag NOSAFECHECKS is used, bounds check is turned off (leading to increased performances). More...
 
class  Array2DProxy
 The template class Array2DProxy is a helper class for the template class Array2D with the purpose of adding the [][] operator to Array2D.
 
class  Array3D
 The template class Array3D is a 3D Array (Tensor) able to hold any type of object as datatype. It relies on the Array3DProxy2 class to provide the [][][] operator (slower than the (i,j,k) call). If the compilation flag NOSAFECHECKS is used, bounds check is turned off (leading to increased performances). More...
 
class  Array3DProxy
 The template class Array3DProxy is a helper class for the template class Array3D with the purpose of adding the [][] operator to Array3D.
 
class  Array3DProxy2
 The template class Array3DProxy2 is a helper class for the template class Array3D with the purpose of adding the [][][] operator to Array3D.
 
class  Array4D
 The template class Array4D is a 4D Array (Tensor) able to hold any type of object as datatype. More...
 
class  Atmosphere
 A class to calculate the atmosphere's parameters. More...
 
class  AvgAlgorithm
 Average filling interpolation algorithm. More...
 
class  AvgLapseRateAlgorithm
 Average filling with elevation lapse rate interpolation algorithm. More...
 
class  BlockFactory
 
class  BUFRFile
 
class  BUFRIO
 
class  ClearSkyLWGenerator
 ILWR clear sky parametrization. More...
 
class  ClearSkySWGenerator
 ISWR clear sky parametrization. More...
 
class  Config
 A class that reads a key/value file. These files (typically named *.ini) follow the INI file format standard (see http://en.wikipedia.org/wiki/INI_file) and have the following structure: More...
 
class  ConfigParser
 
class  ConfigProxy
 
class  ConstAlgorithm
 Constant filling interpolation algorithm. More...
 
class  ConstGenerator
 Constant value generator. More...
 
class  ConversionFailedException
 thrown when an unsuccessful attempt to convert data types/classes is made (e.g. attempt to convert a literal into a number) More...
 
class  Coords
 A class to handle geographic coordinate systems. This class offers an easy way to transparently convert between various coordinate systems. For any given object, as soon as a latitude/longitude can be computed/read, it will be used as a reference. This means that every subsequent change of projection system or read will be the conversion of this reference lat/lon position (until a new "set" is called). See Coords::setProj for the supported coordinate systems. More...
 
class  CoordsAlgorithms
 A static class to handle geographic algorithms. This class offers methods to handle lat/lon coordinates, to transform lat/lon coordinates, to compute distances on a sphere or to convert between coordinate systems. More...
 
class  CosmoXMLIO
 Reading of FieldExtra XML meteorological data. This is the plugin for reading the XML data generated by FieldExtra, the post-processor of the MeteoSwiss COSMO meteorological model. More...
 
class  CST_Synth
 
class  CsvDateTime
 class to contain date and time parsing information More...
 
class  CsvIO
 Reads meteo data from a comma separated file. More...
 
class  CsvParameters
 
class  Daily_solar
 Generate solar radiation out of daily sums. More...
 
class  DailyAverage
 Generate daily variations around a single daily average. More...
 
class  DataEditing
 
class  DataGenerator
 A class to generate meteo data from user-selected models or parametrizations. This class sits in between the actual implementation of the various methods and the IOManager in order to offer some high level interface. It basically reads the arguments and creates the objects for the various data generators in its constructor and loop through the parameters and stations when called to fill the data. More...
 
class  Date
 A class to handle timestamps. This class handles conversion between different time display formats (ISO, numeric) as well as different time representation (julian date, modified julian date, etc). It also handles time zones as well as very basic Daylight Saving Time (DST). Since the activation dates of DST are political and not technical, it can not be automatically calculated. Therefore, it has to be provided by the caller: when the dst flag is set, the dst time shift is automatically applied. When the dst flag ceases to be set, the dst time shift is no longer applied. This is very crude, but please keep in mind that using DST for monitoring data is usually a bad idea... Finally, we assume that dates are positive. If this would not be the case, this class has to be recompiled with the proper define. More...
 
class  DateRange
 A class to represent and handle date ranges. They can be sorted, checked for uniqueness and a date can be compared to the range (is it before or after?). More...
 
class  DBO
 This class enables the access to the DBO RESTful web service. More...
 
class  DEMAlgorithms
 A static class to compute various DEM-related parameters (such as shading, view factors, etc) More...
 
class  DEMObject
 A class to represent DEMs and automatically compute some properties. This class stores elevation grids and their georeferencing, expressed as the lower-left coordinates, the cellsize (cells are assumed to be square) and a nodata code for potentially empty cells (The nodata parameter is supposed to be IOUtils::nodata). This class also automatically computes local slope, azimuth, curvature, normals and minimal/maximal for normalization. Various algorithms are available to compute these properties (see mio::DEMObject::slope_type) and it is possible to toggle between automatic refresh or not. Several other DEM related values can be computed, such as the horizon, displacements within the DEM, etc. More...
 
class  EditingAutoMerge
 AUTOMERGE input editing command. More...
 
class  EditingBlock
 Base class for DataEditing algorithms. More...
 
class  EditingBlockFactory
 
class  EditingCombine
 COMBINE input editing command. More...
 
class  EditingCopy
 COPY input editing command. More...
 
class  EditingCreate
 CREATE input editing command. More...
 
class  EditingExclude
 EXCLUDE input editing command. More...
 
class  EditingKeep
 KEEP input editing command. More...
 
class  EditingMerge
 MERGE input editing command. More...
 
class  EditingMetadata
 METADATA input editing command. More...
 
class  EditingMove
 MOVE input editing command. More...
 
class  EditingRegFill
 RegFill input editing command. More...
 
class  EditingRename
 RENAME input editing command. More...
 
class  EditingSplit
 Split input editing command. More...
 
class  EditingSwap
 SWAP input editing command. More...
 
class  ESOLIPGenerator
 Generate precipitation from changes in snow height. More...
 
class  ExpVario
 
class  FilterDeGrass
 This filter is used to distinguish if snow (HS) is on the ground or not. More...
 
class  FilterDespikingPS
 Despiking filter using phase space. More...
 
class  FilterKalman
 A statistical filter for state likelihood estimation: the Kalman filter. More...
 
class  FilterMAD
 Median Absolute Deviation. More...
 
class  FilterMaths
 A filter that evaluates formulas dependent on conditions. More...
 
class  FilterMax
 Max range filter. More...
 
class  FilterMin
 Min range filter. More...
 
class  FilterMinMax
 Min/Max range filter. More...
 
class  FilterMinMaxConditional
 Applies a min/max filter if a second parameter matches a comparison. More...
 
class  FilterNoChange
 This filter removes periods showing insufficient changes. More...
 
class  FilterParticle
 A Monte Carlo sampling method: the particle filter. More...
 
class  FilterPotentialSW
 Checks for physically realistic incoming short wave radiation (ISWR) values. More...
 
class  FilterRate
 Rate of change filter. More...
 
class  FilterStdDev
 Standard deviation filter. More...
 
class  FilterSuppr
 Suppression filter. More...
 
class  FilterTimeconsistency
 Check that the time evolution of a given parameter is consistent with its past evolution. More...
 
class  FilterTukey
 Tukey 53H method. More...
 
class  FilterUnheatedPSUM
 Filters out snow melting in an unheated rain gauge. More...
 
class  Fit1D
 A class to perform 1D regressions. More...
 
class  FitLeastSquare
 A class to perform non-linear least square fitting. It works on a time serie and uses matrix arithmetic to perform an arbitrary fit (see http://mathworld.wolfram.com/NonlinearLeastSquaresFitting.html). More...
 
class  FitLinClosedForm
 A class to perform multiple linear regressions relying on the closed form solution. More...
 
class  FitModel
 
class  GeneratorAlgorithm
 Interface class for the generator models. More...
 
class  GeneratorAlgorithmFactory
 
class  GeotopIO
 This class enables the access meteo data in legacy Geotop format. More...
 
class  GoesIO
 This plugin deals with data that has been transmitted through the GOES satellites (see also https://www.goes-r.gov/resources/docs.html and https://www.rtl-sdr.com/tag/goes/). In order to reduce data transfers, no headers are provided with the data and therefore all the metadata will have to be provided to the plugin. More...
 
class  GoesStation
 
class  gr_azi
 
class  gr_bg_isomorphic
 
class  gr_blktowhite
 
class  gr_blue
 
class  gr_blue_pink
 
class  gr_bluewhitered
 
class  gr_freeze
 
class  gr_heat
 
class  gr_pastel
 
class  gr_slope
 
class  gr_terrain
 
class  gr_whitetoblk
 
class  Gradient
 This converts numeric values into rgb values. The object is initialized with the range that the gradient should cover and the gradient type. Then each numeric value that is given will be converted into rgb values from the selected gradient. Data out of range are converted to either the minimum or the maximum of the gradient. Special pixels should return a=true to indicate transparency (however, pure white is the transparency color, so do not use it in your gradients!). More...
 
class  Gradient_model
 
class  GrassIO
 This class enables the access to 2D grids stored in GRASS ASCII (e.g. JGrass) format. More...
 
class  GRIBFile
 
class  GRIBIO
 This class is used to read grib files. More...
 
class  GRIBTable
 
class  Grid1DInterpolator
 A class to temporally resample grid objects. More...
 
class  Grid2DObject
 A class to represent 2D Grids. Typical application as DEM or Landuse Model. More...
 
class  Grid3DObject
 A class to represent 3D Grids. Typical application: wind field. More...
 
class  GridBuffer
 A class to buffer gridded data. This class buffers Grid2D objects. It implements a proper ring buffer, thus removing old buffered grids when necessary. More...
 
class  GridLinearResampling
 Point-wise linear interpolation between grids. More...
 
class  GridProcessor
 This class is handled by a GridManager and performs grid filtering and temporal resampling. More...
 
class  GridResamplingAlgorithm
 Interface class for grid resampling algorithms. More...
 
class  GridResamplingAlgorithmsFactory
 Object factory for temporal grid resampling algorithms. More...
 
class  GridsManager
 
class  GridTimeseriesResampling
 This grid resampling class builds time series at all grid positions and sends them to meteo 1d resampling algorithms to perform the interpolations. More...
 
class  HumidityGenerator
 (Relative/Specifc) Humidity or Dew Point temperature generator. More...
 
class  iCSVIO
 A class to read and write iCSV files. More...
 
class  IDWAlgorithm
 Inverse Distance Weighting interpolation algorithm. More...
 
class  IDWLapseAlgorithm
 Inverse Distance Weighting interpolation algorithm with elevation detrending/reprojection. More...
 
class  IDWSlopesAlgorithm
 Inverse Distance Weighting interpolation with splitted N/E/S/W slopes and flats. More...
 
class  ILWREpsAlgorithm
 Incoming Long Wave Radiation interpolation algorithm. More...
 
class  ImisIO
 The class with-in the data from the database are treated. The MeteoData and the StationData will be set in. This class also herited to IOInterface class which is abstract. More...
 
class  IndexOutOfBoundsException
 thrown when an index is out of bounds More...
 
class  Interpol1D
 A class to perform basic 1D statistics. Each method is static. More...
 
class  Interpol2D
 A class to perform 2D spatial interpolations. Each parameter to be interpolated declares which interpolation method to use. Then the class computes the interpolation for each 2D grid point, combining the inputs provided by the available data sources. More...
 
class  InterpolARIMA
 This class is used for interpolating or predicting missing data in a time series using the Auto ARIMA algorithm. More...
 
class  InterpolationAlgorithm
 A class to perform 2D spatial interpolations. For more, see Spatial interpolations. More...
 
class  InvalidArgumentException
 thrown when encountered an unexpected function's argument (e.g. bad index, bad or missing parameter name, etc.) More...
 
class  InvalidFormatException
 thrown when parsed data does not reflect an expected format (e.g. premature end of a line, file) More...
 
class  InvalidNameException
 thrown when a given filename/servername/... is not valid (e.g. "..", "." or empty) More...
 
class  IOException
 The basic exception class adjusted for the needs of SLF software. More...
 
class  IOHandler
 This class is the class to use for raw I/O operations. It is responsible for transparently loading the plugins and it follows the interface defined by the IOInterface class with the addition of a few convenience methods. More...
 
class  IOInterface
 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. More...
 
class  IOManager
 
class  IswrAlbedoGenerator
 Incoming or reflected short wave generator. More...
 
class  JsonWrapper
 This is a wrapper class around picoJson and Curl. More...
 
class  LapseOrdinaryKrigingAlgorithm
 Ordinary kriging with detrending. More...
 
class  Legend
 This creates a legend as pixels in a Grid2DObject. This should be used with/by a plugin that would then convert this Grid2DObject into a true graphic file (png, etc). More...
 
class  LibResampling2D
 Spatial resampling algorithms. More...
 
class  LinearLS
 
class  LinearResampling
 Linear data resampling. More...
 
class  LinesRange
 A class to represent and handle ranges of lines. They can be sorted, checked for uniqueness and a line number can be compared to the range (is it before or after?). More...
 
class  LinVario
 
class  ListonWindAlgorithm
 Curvature/slope influenced wind interpolation algorithm. More...
 
class  LocalIDWLapseAlgorithm
 Inverse Distance Weighting interpolation algorithm with elevation detrending/reprojection. More...
 
class  Matrix
 This class implements the basic operations on matrices. Elements are access in matrix notation: that is A(1,2) represents the second element of the first line. Index go from 1 to nrows/ncols. More...
 
class  Meteo1DInterpolator
 A class that can resample MeteoData objects. More...
 
class  Meteo2DInterpolator
 A class to spatially interpolate meteo parameters. For more, see Spatial interpolations. More...
 
class  MeteoBlue
 This class enables the access to the MeteoBlue RESTful web service. More...
 
class  MeteoBuffer
 A class to buffer meteorological data. This class buffers MeteoData objects. It is currently NOT a proper ring buffer, this should come in a later implementation. More...
 
class  MeteoData
 A class to represent a singular measurement received from one station at a certain time (represented by the Date object) More...
 
class  MeteoGrids
 A class to represent the meteorological parameters that could be contained in a grid. This should be very close to MeteoData with a few additions (like the wind u,v,w) More...
 
class  MeteoIndex
 Mteorological indices data generator. More...
 
class  MeteoProcessor
 A facade class that invokes the processing of the filters and the resampling. More...
 
class  MYSQLIO
 
class  ncFiles
 
class  NearestNeighbour
 Nearest Neighbour data resampling. More...
 
class  NearestNeighbourAlgorithm
 Fill each pixel with the measured data of its closests station. More...
 
class  NetCDFIO
 This plug-in allows reading and writing of NetCDF files for gridded data. More...
 
class  NoDataException
 thrown when no data is available More...
 
class  NoisyLinear
 
class  NoneAlgorithm
 Returns a nodata filled grid. More...
 
class  NoResampling
 No resampling: do not resample parameter but keep original sampling rate. More...
 
class  NotFoundException
 thrown when a there is an unsuccessful attempt to locate a file/server/... More...
 
class  ofilestream
 A class that extends std::ofstream, adding some output functionality. Limiting the write access of the software, writing non-existing output directories, and adding a timestamp to output filenames. More...
 
class  OrdinaryKrigingAlgorithm
 Ordinary kriging. More...
 
class  OshdIO
 This plugin reads Matlab binary files, relying on the MatIO library. More...
 
class  PGMIO
 This class writes 2D grids as Portable Grey Map file format. More...
 
class  PmodIO
 This class reads radiation data in raw file format from PMOD/WRC Institute. More...
 
class  PNGIO
 This plugin write 2D grids as PNG images. More...
 
class  PolynomialRegression
 A class to perform 1D polynomial regression. More...
 
class  PPHASEInterpolation
 Precipitation phase splitting generation. More...
 
class  PrecSplitting
 Generate precipitation phase or splitting according to the selected method. More...
 
class  ProcAdd
 Add an offset to the values. More...
 
class  ProcAggregate
 Data aggregation. More...
 
class  ProcDeAccumulate
 Convert accumulated values back to instantaneous values. More...
 
class  ProcessingBlock
 The base class for all filters that provides the interface and a few helper methods. More...
 
class  ProcessingProperties
 
class  ProcessingStack
 This builds and runs through a filter stack for filtering a given parameter. More...
 
class  ProcExpSmoothing
 Exponential smoothing. More...
 
class  ProcIIR
 Infinite Impulse Response (IIR) filter. More...
 
class  ProcMult
 Multiply values. More...
 
class  ProcPSUMDistribute
 Distributes precipitation on the preceeding timesteps in a physically plausible way. More...
 
class  ProcQuantileMapping
 Quantile Mapping correction. More...
 
class  ProcReducePressure
 Convert local pressure to sea level pressure. More...
 
class  ProcRHWaterToIce
 Correct relative humidity over water to over ice in case temperature is below freezing. More...
 
class  ProcShade
 Apply a shading mask to the Incoming or Reflected Short Wave Radiation. More...
 
class  ProcShift
 Time shifting filter for the selected meteo parameter. More...
 
class  ProcTransformWindVector
 This filter reprojects wind direction, and/or wind speed components, between PROJ supported coordinate systems. More...
 
class  ProcUndercatch_Forland
 Correct precipitation for undercatch in winter conditions. More...
 
class  ProcUndercatch_Hamon
 Correct precipitation for undercatch in winter conditions. More...
 
class  ProcUndercatch_WMO
 Correct precipitation for undercatch in winter conditions. More...
 
class  ProcUnventilatedT
 Filters and corrects temperatures from unventilated sensor. More...
 
class  ProcWMASmoothing
 Weighted moving average smoothing. More...
 
class  PSQLIO
 This plugin connects to a generic PostgreSQL server to retrieve its meteorological data. More...
 
class  Quadratic
 
class  RadiationComponents
 Compute the global radiation (ISWR) from the direct and diffuse components. More...
 
class  RadProj
 Project incoming short wave radiation from any slope (angle and azimuth) to any other slope. More...
 
class  RandomNumberGenerator
 
class  RatQuadVario
 
class  RECT_Synth
 
class  RegressionFill
 Fill missing values from a station, using another station as reference. More...
 
class  ResamplingAlgorithms
 Interface class for the temporal resampling algorithms. More...
 
class  ResamplingAlgorithmsFactory
 
class  ResamplingStack
 
class  RestrictionsIdx
 Convenience class for processing data with time restriction periods. More...
 
class  RHListonAlgorithm
 Relative humidity interpolation algorithm. More...
 
class  RngCore
 
class  RngFactory
 
class  RngMtw
 
class  RngPcg
 
class  RngXor
 
class  RyanAlgorithm
 DEM-based wind direction interpolation algorithm. More...
 
class  SASEIO
 This is the plugin required to get meteorological data from the SASE database. More...
 
class  SimpleLinear
 
class  SinGenerator
 Sinusoid generator. More...
 
class  SMETIO
 Reads meteo data in the SMET ASCII or binary format. More...
 
class  SNIO
 This class enables the access to meteo data stored in SNOWPACK format. More...
 
class  SnowlineAlgorithm
 Assimilation of snowline elevation information into snow maps. More...
 
class  SnowPSUMInterpolation
 Precipitation distribution according to the local slope and curvature. More...
 
class  Solar
 Interpolate solar radiation. More...
 
struct  sort_horizons
 
class  SphericVario
 
class  StandardPressureAlgorithm
 Standard atmospheric pressure interpolation algorithm. More...
 
class  StandardPressureGenerator
 Standard atmospheric pressure generator. More...
 
class  StationData
 A class to represent meteo stations with attributes like longitude, latitude, etc. More...
 
struct  StationHash
 
class  STDPRESS_Synth
 
class  STEP_Synth
 
class  SunMeeus
 Calculate the Sun's position based on the Meeus algorithm. See J. Meeus, "Astronomical Algorithms", 1998, 2nd ed, Willmann-Bell, Inc., Richmond, VA, USA, ISBN 0-943396-61-1. A useful reference is also NOAA's spreadsheet at https://gml.noaa.gov/grad/solcalc/calcdetails.html for comparing positional data. The technical report I. Reda, A. Andreas, "Solar Position Algorithm for Solar Radiation Applications", 2008, NREL/TP-560-34302 also contains an alternative algorithm and very detailed validation data sets. More...
 
class  SunObject
 A class to calculate Solar radiation characteristics This is largely based on M. Iqbal, "An introduction to solar radiation", 1983, Academic Press, ISBN: 0-12-373750-8. The Sun's position is provided by the SunTrajectory class (currently the only implemented algorithm is Meeus). All units are SI. See https://www.suncalc.org/ for a validation calculator. More...
 
class  SunTrajectory
 A class to calculate the Sun's position This class is purely virtual. More...
 
class  SWRadInterpolation
 Solar radiation interpolation with optional terrain shading. More...
 
class  Synthesizer
 Generator to produce synthetic data for the SynthIO plugin. More...
 
class  SynthFactory
 
class  SynthIO
 This plugin generate synthetic data. More...
 
class  TauCLDGenerator
 Atmospheric transmissivity generator. More...
 
class  TimeLoop
 Loops over a specific time period. More...
 
class  TimeOutException
 thrown when an operation does not complete in the foreseen time More...
 
class  TimeProcStack
 Since the time filters are quite specific to TIME (and need to be applied before), they have their own ProcessingStack. More...
 
class  Timer
 Time code execution with at least 1 us resolution. The time resolution can be stored up to .1 ns resolution, but is measured to the following accuracy: More...
 
class  TimeSeriesManager
 
class  TimeShift
 Time corrections. More...
 
class  TimeSort
 Sort out of order timesteps. More...
 
class  TimeSuppr
 Timesteps suppression filter. More...
 
class  Trend
 
class  TsGenerator
 Surface temperature generator. More...
 
class  UnknownValueException
 thrown when encountered an unexpected value (e.g. unknown name or key) More...
 
class  UsageTimer
 Process usage timer for Posix This is based on getrusage and thus returns detailed timing information about how the time was spend (userland, system time). More...
 
class  USERInterpolation
 Reads user provided gridded data on the disk. More...
 
class  WatchDog
 A software watchdog, killing the current process after the given number of seconds. More...
 
class  WindComponents
 Compute VW and/or DW from the U, V wind components. More...
 
class  WindowedFilter
 
class  WinstralAlgorithm
 DEM-based wind-exposure interpolation algorithm. More...
 
class  WinstralListonAlgorithm
 DEM-based wind-exposure interpolation algorithm, for a spatially explicit varying DW field. More...
 
class  Zero
 
class  ZRXPIO
 Outputs meteo data in a text format readable by a WISKI database. More...
 

Typedefs

typedef Date Duration
 
typedef std::vector< MeteoDataMETEO_SET
 
typedef std::vector< StationDataSTATIONS_SET
 

Functions

std::ostream & operator<< (std::ostream &os, const Config &cfg)
 
std::istream & operator>> (std::istream &is, Config &cfg)
 
static bool IsUndef (const MeteoData &md)
 
static FitLeastSquarechooseModel (const EditingRegFill::RegressionType &regtype)
 
static std::vector< double > doRegression (const std::vector< double > &x, const std::vector< double > &y, const EditingRegFill::RegressionType &regtype)
 
static double linear (double x, const std::vector< double > &params)
 
static double quadratic (double x, const std::vector< double > &params)
 
static double forward (double x, const std::vector< double > &params, EditingRegFill::RegressionType regtype)
 
static std::unordered_map< double, size_t > mapDatesToIndex (const METEO_SET &vecMeteo)
 
static std::vector< double > findDuplicateDates (const std::unordered_map< double, size_t > &dates_1, const std::unordered_map< double, size_t > &dates_2)
 
static void moveParameters (const std::set< std::string > &params_to_move, MeteoData &md_pattern, const std::vector< MeteoData > &source, const std::unordered_map< double, size_t > &dates_src, const double &date)
 
static void checkSplitArgs (const std::string &dest_station_id, const std::set< std::string > &params_to_move, const std::string &where)
 
static bool isValidSeries (const METEO_SET &vecMeteo)
 
static bool isValidStationSet (const METEO_SET &vecMeteo)
 
static bool isValidDataSet (const std::vector< METEO_SET > &vecvecMeteo)
 
std::string getLibVersion (const bool &short_version=false)
 Return the library version. More...
 
static void eraseArg (std::vector< std::pair< std::string, std::string > > &vecArgs, const std::string &argname)
 
static bool checkDeprecatedWindowSize (const Config &cfg)
 
static int findIndex (const std::string &key)
 
static std::vector< std::pair< int, std::string > > orderAlgoStack (const std::vector< std::pair< std::string, std::string > > &vecAlgos)
 
static void checkDeprecatedKeySyntax (const mio::Config &cfg, const std::string &parname, const std::string &algo_name, const std::string &interpol_section)
 
static void signal_handler (int signal_num)
 
static void signals_catching (const int &SIG)
 
template<class P >
std::ostream & operator<< (std::ostream &os, const Array1D< P > &array)
 
template<class P >
std::istream & operator>> (std::istream &is, Array1D< P > &array)
 
template<class P >
std::ostream & operator<< (std::ostream &os, const Array2D< P > &array)
 
template<class P >
std::istream & operator>> (std::istream &is, Array2D< P > &array)
 
template<class P >
std::ostream & operator<< (std::ostream &os, const Array3D< P > &array)
 
template<class P >
std::istream & operator>> (std::istream &is, Array3D< P > &array)
 
template<class P >
std::ostream & operator<< (std::ostream &os, const Array4D< P > &array)
 
template<class P >
std::istream & operator>> (std::istream &is, Array4D< P > &array)
 
std::ostream & operator<< (std::ostream &os, const Coords &coord)
 
std::istream & operator>> (std::istream &is, Coords &coord)
 
std::ostream & operator<< (std::ostream &os, const Date &date)
 
std::istream & operator>> (std::istream &is, Date &date)
 
std::ostream & operator<< (std::ostream &os, const DEMObject &dem)
 
std::istream & operator>> (std::istream &is, DEMObject &dem)
 
std::ostream & operator<< (std::ostream &os, const Grid2DObject &grid)
 
std::istream & operator>> (std::istream &is, Grid2DObject &grid)
 
std::ostream & operator<< (std::ostream &os, const Grid3DObject &grid)
 
std::istream & operator>> (std::istream &is, Grid3DObject &grid)
 
static double parseInputHeight (const std::string &height_str)
 
static bool comparePairOfHeightParam (const std::pair< double, std::string > &a, const std::pair< double, std::string > &b)
 
std::ostream & operator<< (std::ostream &os, const MeteoData &data)
 
std::istream & operator>> (std::istream &is, MeteoData &data)
 
std::ostream & operator<< (std::ostream &os, const StationData &station)
 
std::istream & operator>> (std::istream &is, StationData &station)
 
static void getStationIdfromMessage (CodesHandlePtr &h, std::string &station_id, std::string &station_name, const size_t &subsetNumber)
 
static void getPosition (CodesHandlePtr &h, double &latitude, double &longitude, double &altitude, const size_t &subsetNumber)
 
static void handleReferenceCoordinates (CodesHandlePtr &h, Coords &position, const double &latitude, const double &longitude, const double &altitude, const std::string &subset_prefix, const std::string &ref_coords, std::string &info_msg)
 
static void getTimezone (CodesHandlePtr &h, double &timezone, const std::string &subset_prefix)
 
static StationData getStationDataBUFR (CodesHandlePtr &h, double &timezone, const std::string &ref_coords, const size_t &subsetNumber, std::string &info_msg)
 
static void fillAdditionalParams (MeteoData &md, CodesHandlePtr &message, const std::vector< std::string > &additional_params, const std::string &subset_prefix)
 
static void handleSpecialCases (CodesHandlePtr &, MeteoData &md, const std::string &, const std::string &param_name, bool &, const size_t &id)
 
static std::vector< std::string > fillFromMessage (MeteoData &md, CodesHandlePtr &message, const std::vector< std::string > &additional_params, const size_t &subsetNumber)
 
static bool areMultipleSubsetsInMessage (CodesHandlePtr &h, double &num_subsets)
 
bool sort_dateKeys (const std::pair< size_t, size_t > &left, const std::pair< size_t, size_t > &right)
 
bool parseTsPoint (const picojson::value &v, Date &datum, double &value)
 
static size_t findDate (const std::vector< GRIBFile > &cache, const Date &date)
 
static void handleConversions (Grid2DObject &grid_out, const double &paramId)
 
static std::vector< CodesHandlePtrfindMessages (GRIBFile &file, const std::string &param_key, const std::string &level_key, const std::string &level_type, const std::string &paramID_string, double paramID_double, long paramID_long, const bool &verbose, const std::string &param_name)
 
static std::vector< CodesHandlePtrextractParameterInfoAndFindMessages (GRIBFile &file, const std::string &param_name, const GRIBTable &parameter_table, long &level_no, const bool &verbose)
 
static std::vector< CodesHandlePtrextractParameterInfoAndFindMessages (GRIBFile &file, const MeteoGrids::Parameters &parameter, const GRIBTable &parameter_table, long &level_no, const bool &verbose)
 
static bool compareByDate (const GRIBFile &a, const GRIBFile &b)
 
static bool compareToDate (const GRIBFile &a, const Date &b)
 
static std::vector< MeteoDatacreateMeteoDataVector (const std::vector< StationData > &stations, const Date &date)
 
static void processMessages (std::vector< CodesHandlePtr > &messages, const long &level_no, std::vector< MeteoData > &vecMeteo, const std::vector< double > &lats, const std::vector< double > &lons, const size_t &npoints, const size_t &par_index)
 
static bool areFilesWithinLimit (const std::vector< std::string > &filenames)
 
static std::string joinVector (const std::vector< std::string > &vec, const char &delimiter)
 
static std::vector< CoordsgetUniqueLocations (iCSVFile &file)
 
double transformTime (const double &julian, const double &offset, const double &scale, const double &precision)
 
static bool IsUndef (const MeteoData &md)
 
static std::vector< MeteoData >::iterator findDateMeteoInterpol (std::vector< MeteoData > &vecMet, const Date &resampling_date)
 
static std::vector< Date >::iterator findDate (std::vector< Date > &gap_dates, const Date &resampling_date)
 
static std::vector< MeteoData >::iterator findDateMeteo (std::vector< MeteoData > &vecMet, const Date &resampling_date)
 
static bool accumulateData (const Date &data_start_date, const Date &data_end_date, const ARIMA_GAP &new_gap, const std::vector< MeteoData > &vecM, bool &gave_warning_interpol, size_t &length, std::vector< double > &data, std::vector< Date > &dates, std::vector< MeteoData > &data_vec_before, std::vector< MeteoData > &data_vec_after, bool &has_data_before, bool &has_data_after)
 
static bool isRandomWalk (auto_arima_object model)
 

Variables

static const char * defaultSection = "GENERAL"
 
static const char NUM [] = "0123456789"
 
static const double dbo_tz = 0.
 
static const size_t dataStartPos = 37
 
static const double plugin_nodata = IOUtils::nodata
 
static const std::string default_extension = ".grib"
 
static const std::string dflt_extension_iCSV = ".icsv"
 
static const std::streamsize MAXMEMORY = static_cast<std::streamsize>(20) * 1024 * 1024 * 1024
 
const std::string WWCS_metaDataQuery = "SELECT stationName, latitude, longitude, altitude, slope, azimuth FROM sites WHERE StationID=?"
 
const std::vector< SQL_FIELDWWCS_metaDataFields { SQL_FIELD("STATNAME", MYSQL_TYPE_STRING), SQL_FIELD("LAT", MYSQL_TYPE_DOUBLE), SQL_FIELD("LON", MYSQL_TYPE_DOUBLE), SQL_FIELD("ALT", MYSQL_TYPE_DOUBLE), SQL_FIELD("SLOPE", MYSQL_TYPE_DOUBLE), SQL_FIELD("AZI", MYSQL_TYPE_DOUBLE) }
 
const std::string WWCS_meteoDataQuery = "SELECT timestamp, ta, rh, p, logger_ta, logger_rh FROM v_meteoseries WHERE stationID=? and timestamp>=? AND timestamp<=? ORDER BY timestamp ASC"
 
const std::vector< SQL_FIELDWWCS_meteoDataFields { SQL_FIELD("DATETIME", MYSQL_TYPE_DATETIME), SQL_FIELD("TA", MYSQL_TYPE_DOUBLE, SQL_FIELD::C_TO_K), SQL_FIELD("RH", MYSQL_TYPE_DOUBLE, SQL_FIELD::NORMALIZE_PC), SQL_FIELD("P", MYSQL_TYPE_DOUBLE, SQL_FIELD::HPA_TO_PA), SQL_FIELD("LOGGER_TA", MYSQL_TYPE_DOUBLE, SQL_FIELD::C_TO_K), SQL_FIELD("LOGGER_RH", MYSQL_TYPE_DOUBLE, SQL_FIELD::NORMALIZE_PC) }
 
std::string metaDataQuery
 
std::string meteoDataQuery
 
std::vector< SQL_FIELDmetaDataFields
 
std::vector< SQL_FIELDmeteoDataFields
 
const double soil_albedo = .23
 
const double snow_albedo = .85
 
const double snow_thresh = .1
 
const std::string dflt_extension_BUFR = ".bufr"
 
const std::vector< MeteoParamPOSSIBLE_MULTIPLE_PARAMETERS
 
const std::set< std::string > ADDITIONAL_CRYO_PARAMS ({"SURFACEQUALIFIER", "SENSORTYPE", "TSURFACE", "ICE_THICKNESS", "GROUNDSTATE", "TICE", "TWATER","T"})
 
const std::set< std::string > ALLOWED_CRYO_PARAMS ({"ICE_THICKNESS", "GROUNDSTATE", "HS", "SURFACEQUALIFIER", "SENSORTYPE", "TA", "TSNOW", "TSOIL", "TWATER", "TICE", "TSS","T"})
 
static bool isNumber (const std::string &s)
 
static void setStationId (CodesHandlePtr &message, const StationData &station, const std::string &subset_prefix)
 
static void setMeteoData (CodesHandlePtr &message, const MeteoData &meteo, const std::vector< std::string > &sorted_params, std::map< std::string, int > &parameter_occurences, const bool &verbose)
 
static void setCryoData (CodesHandlePtr &message, const MeteoData &meteo, const std::vector< std::pair< double, std::vector< std::string > > > &params_at_heights, std::map< std::string, int > &parameter_occurences, const bool &)
 
static std::set< double > getHeights (const std::set< std::string > &available_params)
 
static std::map< MeteoParam, size_t > getOccurencesOfParameters (const std::vector< MeteoData > &vecMeteo)
 
static std::map< std::string, int > initParameterOccurences (const std::set< std::string > &available_params)
 
static void populateSubset (CodesHandlePtr &message, const std::string &subset_prefix, const MeteoData &meteo, const std::vector< std::string > &sorted_params, std::map< std::string, int > &parameter_occurences, const bool &verbose)
 
static void populateSubset (CodesHandlePtr &message, const std::string &subset_prefix, const MeteoData &meteo, const std::vector< std::pair< double, std::vector< std::string > > > &params_at_heights, std::map< std::string, int > &parameter_occurences, const bool &verbose)
 
static std::vector< std::string > sortAvailableParameters (const std::set< std::string > &available_params, const bool &verbose_out)
 
static std::vector< std::pair< double, std::vector< std::string > > > sortAvailableParametersByHeight (const std::set< std::string > &available_params, const bool &, const std::set< double > &heights)
 
static void warnUnallowedParameter (const std::set< std::string > &available_params)
 

Detailed Description

Note
For reading profiles, it will be possible to read all iterations in a subset (only way to allow subsets)

Typedef Documentation

◆ Duration

◆ METEO_SET

typedef std::vector<MeteoData> mio::METEO_SET

◆ STATIONS_SET

typedef std::vector<StationData> mio::STATIONS_SET

Function Documentation

◆ accumulateData()

static bool mio::accumulateData ( const Date data_start_date,
const Date data_end_date,
const ARIMA_GAP new_gap,
const std::vector< MeteoData > &  vecM,
bool &  gave_warning_interpol,
size_t &  length,
std::vector< double > &  data,
std::vector< Date > &  dates,
std::vector< MeteoData > &  data_vec_before,
std::vector< MeteoData > &  data_vec_after,
bool &  has_data_before,
bool &  has_data_after 
)
static

◆ ADDITIONAL_CRYO_PARAMS()

const std::set< std::string > mio::ADDITIONAL_CRYO_PARAMS ( {"SURFACEQUALIFIER", "SENSORTYPE", "TSURFACE", "ICE_THICKNESS", "GROUNDSTATE", "TICE", "TWATER","T"}  )

◆ ALLOWED_CRYO_PARAMS()

const std::set< std::string > mio::ALLOWED_CRYO_PARAMS ( {"ICE_THICKNESS", "GROUNDSTATE", "HS", "SURFACEQUALIFIER", "SENSORTYPE", "TA", "TSNOW", "TSOIL", "TWATER", "TICE", "TSS","T"}  )

◆ areFilesWithinLimit()

static bool mio::areFilesWithinLimit ( const std::vector< std::string > &  filenames)
static

Checks if the total size of the files specified by the given filenames is within the memory limit.

Parameters
filenamesThe vector of filenames to check.
Returns
True if the total size is within the memory limit, false otherwise.

◆ areMultipleSubsetsInMessage()

static bool mio::areMultipleSubsetsInMessage ( CodesHandlePtr h,
double &  num_subsets 
)
static

◆ checkDeprecatedKeySyntax()

static void mio::checkDeprecatedKeySyntax ( const mio::Config cfg,
const std::string &  parname,
const std::string &  algo_name,
const std::string &  interpol_section 
)
static

◆ checkDeprecatedWindowSize()

static bool mio::checkDeprecatedWindowSize ( const Config cfg)
static

◆ checkSplitArgs()

static void mio::checkSplitArgs ( const std::string &  dest_station_id,
const std::set< std::string > &  params_to_move,
const std::string &  where 
)
static

◆ chooseModel()

static FitLeastSquare * mio::chooseModel ( const EditingRegFill::RegressionType regtype)
static

◆ compareByDate()

static bool mio::compareByDate ( const GRIBFile a,
const GRIBFile b 
)
static

◆ comparePairOfHeightParam()

static bool mio::comparePairOfHeightParam ( const std::pair< double, std::string > &  a,
const std::pair< double, std::string > &  b 
)
static

◆ compareToDate()

static bool mio::compareToDate ( const GRIBFile a,
const Date b 
)
static

◆ createMeteoDataVector()

static std::vector< MeteoData > mio::createMeteoDataVector ( const std::vector< StationData > &  stations,
const Date date 
)
static

◆ doRegression()

static std::vector< double > mio::doRegression ( const std::vector< double > &  x,
const std::vector< double > &  y,
const EditingRegFill::RegressionType regtype 
)
static

◆ eraseArg()

static void mio::eraseArg ( std::vector< std::pair< std::string, std::string > > &  vecArgs,
const std::string &  argname 
)
static

◆ extractParameterInfoAndFindMessages() [1/2]

static std::vector< CodesHandlePtr > mio::extractParameterInfoAndFindMessages ( GRIBFile file,
const MeteoGrids::Parameters parameter,
const GRIBTable parameter_table,
long &  level_no,
const bool &  verbose 
)
static

◆ extractParameterInfoAndFindMessages() [2/2]

static std::vector< CodesHandlePtr > mio::extractParameterInfoAndFindMessages ( GRIBFile file,
const std::string &  param_name,
const GRIBTable parameter_table,
long &  level_no,
const bool &  verbose 
)
static

◆ fillAdditionalParams()

static void mio::fillAdditionalParams ( MeteoData md,
CodesHandlePtr message,
const std::vector< std::string > &  additional_params,
const std::string &  subset_prefix 
)
static

◆ fillFromMessage()

static std::vector< std::string > mio::fillFromMessage ( MeteoData md,
CodesHandlePtr message,
const std::vector< std::string > &  additional_params,
const size_t &  subsetNumber 
)
static

◆ findDate() [1/2]

static size_t mio::findDate ( const std::vector< GRIBFile > &  cache,
const Date date 
)
static

◆ findDate() [2/2]

static std::vector< Date >::iterator mio::findDate ( std::vector< Date > &  gap_dates,
const Date resampling_date 
)
static

◆ findDateMeteo()

static std::vector< MeteoData >::iterator mio::findDateMeteo ( std::vector< MeteoData > &  vecMet,
const Date resampling_date 
)
static

◆ findDateMeteoInterpol()

static std::vector< MeteoData >::iterator mio::findDateMeteoInterpol ( std::vector< MeteoData > &  vecMet,
const Date resampling_date 
)
static

◆ findDuplicateDates()

static std::vector< double > mio::findDuplicateDates ( const std::unordered_map< double, size_t > &  dates_1,
const std::unordered_map< double, size_t > &  dates_2 
)
static

◆ findIndex()

static int mio::findIndex ( const std::string &  key)
static

◆ findMessages()

static std::vector< CodesHandlePtr > mio::findMessages ( GRIBFile file,
const std::string &  param_key,
const std::string &  level_key,
const std::string &  level_type,
const std::string &  paramID_string,
double  paramID_double,
long  paramID_long,
const bool &  verbose,
const std::string &  param_name 
)
static

◆ forward()

static double mio::forward ( double  x,
const std::vector< double > &  params,
EditingRegFill::RegressionType  regtype 
)
static

◆ getHeights()

static std::set< double > mio::getHeights ( const std::set< std::string > &  available_params)
static

◆ getLibVersion()

std::string mio::getLibVersion ( const bool &  short_version = false)

Return the library version.

Parameters
[in]short_versiononly return the version number (ie skip the compilation date)
Returns
library version string

◆ getOccurencesOfParameters()

static std::map< MeteoParam, size_t > mio::getOccurencesOfParameters ( const std::vector< MeteoData > &  vecMeteo)
static

◆ getPosition()

static void mio::getPosition ( CodesHandlePtr h,
double &  latitude,
double &  longitude,
double &  altitude,
const size_t &  subsetNumber 
)
static

◆ getStationDataBUFR()

static StationData mio::getStationDataBUFR ( CodesHandlePtr h,
double &  timezone,
const std::string &  ref_coords,
const size_t &  subsetNumber,
std::string &  info_msg 
)
static

◆ getStationIdfromMessage()

static void mio::getStationIdfromMessage ( CodesHandlePtr h,
std::string &  station_id,
std::string &  station_name,
const size_t &  subsetNumber 
)
static

◆ getTimezone()

static void mio::getTimezone ( CodesHandlePtr h,
double &  timezone,
const std::string &  subset_prefix 
)
static

◆ getUniqueLocations()

static std::vector< Coords > mio::getUniqueLocations ( iCSVFile file)
static

◆ handleConversions()

static void mio::handleConversions ( Grid2DObject grid_out,
const double &  paramId 
)
static

◆ handleReferenceCoordinates()

static void mio::handleReferenceCoordinates ( CodesHandlePtr h,
Coords position,
const double &  latitude,
const double &  longitude,
const double &  altitude,
const std::string &  subset_prefix,
const std::string &  ref_coords,
std::string &  info_msg 
)
static

◆ handleSpecialCases()

static void mio::handleSpecialCases ( CodesHandlePtr ,
MeteoData md,
const std::string &  ,
const std::string &  param_name,
bool &  ,
const size_t &  id 
)
static

◆ initParameterOccurences()

static std::map< std::string, int > mio::initParameterOccurences ( const std::set< std::string > &  available_params)
static

◆ isNumber()

static bool mio::isNumber ( const std::string &  s)
static

◆ isRandomWalk()

static bool mio::isRandomWalk ( auto_arima_object  model)
static

◆ IsUndef() [1/2]

static bool mio::IsUndef ( const MeteoData md)
inlinestatic

◆ IsUndef() [2/2]

static bool mio::IsUndef ( const MeteoData md)
inlinestatic

◆ isValidDataSet()

static bool mio::isValidDataSet ( const std::vector< METEO_SET > &  vecvecMeteo)
static

◆ isValidSeries()

static bool mio::isValidSeries ( const METEO_SET vecMeteo)
static

◆ isValidStationSet()

static bool mio::isValidStationSet ( const METEO_SET vecMeteo)
static

◆ joinVector()

static std::string mio::joinVector ( const std::vector< std::string > &  vec,
const char &  delimiter 
)
static

◆ linear()

static double mio::linear ( double  x,
const std::vector< double > &  params 
)
static

◆ mapDatesToIndex()

static std::unordered_map< double, size_t > mio::mapDatesToIndex ( const METEO_SET vecMeteo)
static

◆ moveParameters()

static void mio::moveParameters ( const std::set< std::string > &  params_to_move,
MeteoData md_pattern,
const std::vector< MeteoData > &  source,
const std::unordered_map< double, size_t > &  dates_src,
const double &  date 
)
static

◆ operator<<() [1/12]

template<class P >
std::ostream & mio::operator<< ( std::ostream &  os,
const Array1D< P > &  array 
)

◆ operator<<() [2/12]

template<class P >
std::ostream & mio::operator<< ( std::ostream &  os,
const Array2D< P > &  array 
)

◆ operator<<() [3/12]

template<class P >
std::ostream & mio::operator<< ( std::ostream &  os,
const Array3D< P > &  array 
)

◆ operator<<() [4/12]

template<class P >
std::ostream & mio::operator<< ( std::ostream &  os,
const Array4D< P > &  array 
)

◆ operator<<() [5/12]

std::ostream & mio::operator<< ( std::ostream &  os,
const Config cfg 
)

◆ operator<<() [6/12]

std::ostream & mio::operator<< ( std::ostream &  os,
const Coords coord 
)

◆ operator<<() [7/12]

std::ostream & mio::operator<< ( std::ostream &  os,
const Date date 
)

◆ operator<<() [8/12]

std::ostream & mio::operator<< ( std::ostream &  os,
const DEMObject dem 
)

◆ operator<<() [9/12]

std::ostream & mio::operator<< ( std::ostream &  os,
const Grid2DObject grid 
)

◆ operator<<() [10/12]

std::ostream & mio::operator<< ( std::ostream &  os,
const Grid3DObject grid 
)

◆ operator<<() [11/12]

std::ostream & mio::operator<< ( std::ostream &  os,
const MeteoData data 
)

◆ operator<<() [12/12]

std::ostream & mio::operator<< ( std::ostream &  os,
const StationData station 
)

◆ operator>>() [1/12]

template<class P >
std::istream & mio::operator>> ( std::istream &  is,
Array1D< P > &  array 
)

◆ operator>>() [2/12]

template<class P >
std::istream & mio::operator>> ( std::istream &  is,
Array2D< P > &  array 
)

◆ operator>>() [3/12]

template<class P >
std::istream & mio::operator>> ( std::istream &  is,
Array3D< P > &  array 
)

◆ operator>>() [4/12]

template<class P >
std::istream & mio::operator>> ( std::istream &  is,
Array4D< P > &  array 
)

◆ operator>>() [5/12]

std::istream & mio::operator>> ( std::istream &  is,
Config cfg 
)

◆ operator>>() [6/12]

std::istream & mio::operator>> ( std::istream &  is,
Coords coord 
)

◆ operator>>() [7/12]

std::istream & mio::operator>> ( std::istream &  is,
Date date 
)

◆ operator>>() [8/12]

std::istream & mio::operator>> ( std::istream &  is,
DEMObject dem 
)

◆ operator>>() [9/12]

std::istream & mio::operator>> ( std::istream &  is,
Grid2DObject grid 
)

◆ operator>>() [10/12]

std::istream & mio::operator>> ( std::istream &  is,
Grid3DObject grid 
)

◆ operator>>() [11/12]

std::istream & mio::operator>> ( std::istream &  is,
MeteoData data 
)

◆ operator>>() [12/12]

std::istream & mio::operator>> ( std::istream &  is,
StationData station 
)

◆ orderAlgoStack()

static std::vector< std::pair< int, std::string > > mio::orderAlgoStack ( const std::vector< std::pair< std::string, std::string > > &  vecAlgos)
static

◆ parseInputHeight()

static double mio::parseInputHeight ( const std::string &  height_str)
static

◆ parseTsPoint()

bool mio::parseTsPoint ( const picojson::value &  v,
Date datum,
double &  value 
)
inline

◆ populateSubset() [1/2]

static void mio::populateSubset ( CodesHandlePtr message,
const std::string &  subset_prefix,
const MeteoData meteo,
const std::vector< std::pair< double, std::vector< std::string > > > &  params_at_heights,
std::map< std::string, int > &  parameter_occurences,
const bool &  verbose 
)
static

◆ populateSubset() [2/2]

static void mio::populateSubset ( CodesHandlePtr message,
const std::string &  subset_prefix,
const MeteoData meteo,
const std::vector< std::string > &  sorted_params,
std::map< std::string, int > &  parameter_occurences,
const bool &  verbose 
)
static

◆ processMessages()

static void mio::processMessages ( std::vector< CodesHandlePtr > &  messages,
const long &  level_no,
std::vector< MeteoData > &  vecMeteo,
const std::vector< double > &  lats,
const std::vector< double > &  lons,
const size_t &  npoints,
const size_t &  par_index 
)
static

◆ quadratic()

static double mio::quadratic ( double  x,
const std::vector< double > &  params 
)
static

◆ setCryoData()

static void mio::setCryoData ( CodesHandlePtr message,
const MeteoData meteo,
const std::vector< std::pair< double, std::vector< std::string > > > &  params_at_heights,
std::map< std::string, int > &  parameter_occurences,
const bool &   
)
static

◆ setMeteoData()

static void mio::setMeteoData ( CodesHandlePtr message,
const MeteoData meteo,
const std::vector< std::string > &  sorted_params,
std::map< std::string, int > &  parameter_occurences,
const bool &  verbose 
)
static

◆ setStationId()

static void mio::setStationId ( CodesHandlePtr message,
const StationData station,
const std::string &  subset_prefix 
)
static

◆ signal_handler()

static void mio::signal_handler ( int  signal_num)
static

◆ signals_catching()

static void mio::signals_catching ( const int &  SIG)
static

◆ sort_dateKeys()

bool mio::sort_dateKeys ( const std::pair< size_t, size_t > &  left,
const std::pair< size_t, size_t > &  right 
)
inline

◆ sortAvailableParameters()

static std::vector< std::string > mio::sortAvailableParameters ( const std::set< std::string > &  available_params,
const bool &  verbose_out 
)
static

◆ sortAvailableParametersByHeight()

static std::vector< std::pair< double, std::vector< std::string > > > mio::sortAvailableParametersByHeight ( const std::set< std::string > &  available_params,
const bool &  ,
const std::set< double > &  heights 
)
static

◆ transformTime()

double mio::transformTime ( const double &  julian,
const double &  offset,
const double &  scale,
const double &  precision 
)
inline

◆ warnUnallowedParameter()

static void mio::warnUnallowedParameter ( const std::set< std::string > &  available_params)
static

Variable Documentation

◆ dataStartPos

const size_t mio::dataStartPos = 37
static

◆ dbo_tz

const double mio::dbo_tz = 0.
static

◆ default_extension

const std::string mio::default_extension = ".grib"
static

◆ defaultSection

const char* mio::defaultSection = "GENERAL"
static

◆ dflt_extension_BUFR

const std::string mio::dflt_extension_BUFR = ".bufr"

◆ dflt_extension_iCSV

const std::string mio::dflt_extension_iCSV = ".icsv"
static

◆ MAXMEMORY

const std::streamsize mio::MAXMEMORY = static_cast<std::streamsize>(20) * 1024 * 1024 * 1024
static

◆ metaDataFields

std::vector<SQL_FIELD> mio::metaDataFields

◆ metaDataQuery

std::string mio::metaDataQuery

◆ meteoDataFields

std::vector<SQL_FIELD> mio::meteoDataFields

◆ meteoDataQuery

std::string mio::meteoDataQuery

◆ NUM

const char mio::NUM[] = "0123456789"
static

◆ plugin_nodata

const double mio::plugin_nodata = IOUtils::nodata
static

◆ POSSIBLE_MULTIPLE_PARAMETERS

const std::vector<MeteoParam> mio::POSSIBLE_MULTIPLE_PARAMETERS
Initial value:
= {
MeteoParam::P, MeteoParam::TA, MeteoParam::RH, MeteoParam::TSOIL, MeteoParam::TSNOW}

◆ snow_albedo

const double mio::snow_albedo = .85

◆ snow_thresh

const double mio::snow_thresh = .1

◆ soil_albedo

const double mio::soil_albedo = .23

◆ WWCS_metaDataFields

const std::vector<SQL_FIELD> mio::WWCS_metaDataFields { SQL_FIELD("STATNAME", MYSQL_TYPE_STRING), SQL_FIELD("LAT", MYSQL_TYPE_DOUBLE), SQL_FIELD("LON", MYSQL_TYPE_DOUBLE), SQL_FIELD("ALT", MYSQL_TYPE_DOUBLE), SQL_FIELD("SLOPE", MYSQL_TYPE_DOUBLE), SQL_FIELD("AZI", MYSQL_TYPE_DOUBLE) }

◆ WWCS_metaDataQuery

const std::string mio::WWCS_metaDataQuery = "SELECT stationName, latitude, longitude, altitude, slope, azimuth FROM sites WHERE StationID=?"

◆ WWCS_meteoDataFields

const std::vector<SQL_FIELD> mio::WWCS_meteoDataFields { SQL_FIELD("DATETIME", MYSQL_TYPE_DATETIME), SQL_FIELD("TA", MYSQL_TYPE_DOUBLE, SQL_FIELD::C_TO_K), SQL_FIELD("RH", MYSQL_TYPE_DOUBLE, SQL_FIELD::NORMALIZE_PC), SQL_FIELD("P", MYSQL_TYPE_DOUBLE, SQL_FIELD::HPA_TO_PA), SQL_FIELD("LOGGER_TA", MYSQL_TYPE_DOUBLE, SQL_FIELD::C_TO_K), SQL_FIELD("LOGGER_RH", MYSQL_TYPE_DOUBLE, SQL_FIELD::NORMALIZE_PC) }

◆ WWCS_meteoDataQuery

const std::string mio::WWCS_meteoDataQuery = "SELECT timestamp, ta, rh, p, logger_ta, logger_rh FROM v_meteoseries WHERE stationID=? and timestamp>=? AND timestamp<=? ORDER BY timestamp ASC"