Correct offset of snow depth (HS) measurements because of wrong offset justifications of the sensor First, the mean daily snow surface temperature (SST) is calculated. If it is higher than a given threshold for a certain time period, the offset of snow depth (HS) can be determined. The offset of HS is the median of the measured HS in the certain time period. This is done for the first and last week of the year with SST higher the chosen threshold. That means that normally one offset is calculated in spring and one offset in autumn.
Remarks:
#include <FilterOffsetsnowdepth.h>
Public Member Functions | |
FilterOffsetsnowdepth (const std::vector< std::string > &vec_args, const std::string &name) | |
virtual void | process (const unsigned int ¶m, const std::vector< MeteoData > &ivec, std::vector< MeteoData > &ovec) |
![]() | |
WindowedFilter (const std::string &name) | |
![]() | |
virtual | ~FilterBlock () |
![]() | |
virtual | ~ProcessingBlock () |
std::string | getName () const |
const ProcessingProperties & | getProperties () const |
const std::string | toString () const |
Additional Inherited Members | |
![]() | |
enum | Centering { left, center, right } |
![]() | |
const std::vector< const MeteoData * > & | get_window (const size_t &index, const std::vector< MeteoData > &ivec) |
A function that cuts out the desired window for the 'index' element within ivec, the window elements are stored into vec_window Calls to this function have to start with index 0, then 1, 2, 3, ... vec_window is not allowed to be changed between two calls. More... | |
bool | get_window_specs (const size_t &index, const std::vector< MeteoData > &ivec, size_t &start, size_t &end) const |
A function that computes the start and end for a window for the 'index' element from ivec The principle is too compute the first index that matches the minimum number of points criteria, and the one that matches the minimum time window, then combine them (with the equivalent of OR: we take the MIN index). Afterward, we compute the last index [...] for number of points and the last index [...] for the time window and combine them (with the equivalent of OR: we take the MIN index) or vice versa for right centering. More... | |
![]() | |
FilterBlock (const std::string &filter_name) | |
protected constructor only to be called by children More... | |
![]() | |
ProcessingBlock (const std::string &name) | |
protected constructor only to be called by children More... | |
void | convert_args (const size_t &min_nargs, const size_t &max_nargs, const std::vector< std::string > &vec_args, std::vector< double > &dbl_args) const |
![]() | |
static unsigned int | get_centering (std::vector< std::string > &vec_args) |
![]() | |
static void | extract_dbl_vector (const unsigned int ¶m, const std::vector< MeteoData > &ivec, std::vector< double > &ovec) |
static void | extract_dbl_vector (const unsigned int ¶m, const std::vector< const MeteoData * > &ivec, std::vector< double > &ovec) |
![]() | |
static bool | is_soft (std::vector< std::string > &vec_args) |
static void | readCorrections (const std::string &filter, const std::string &filename, const char &c_type, const double &init, std::vector< double > &corrections) |
![]() | |
Duration | min_time_span |
Centering | centering |
size_t | last_start |
size_t | last_end |
size_t | min_data_points |
bool | is_soft |
![]() | |
ProcessingProperties | properties |
const std::string | block_name |
![]() | |
static const double | soil_albedo = .23 |
static const double | snow_albedo = .85 |
static const double | snow_thresh = .1 |
parametrize the albedo from HS More... | |
mio::FilterOffsetsnowdepth::FilterOffsetsnowdepth | ( | const std::vector< std::string > & | vec_args, |
const std::string & | name | ||
) |
|
virtual |
Implements mio::WindowedFilter.