|
| AnEnSSEMS () |
|
| AnEnSSEMS (const AnEnSSEMS &orig) |
|
| AnEnSSEMS (const Config &config) |
|
virtual | ~AnEnSSEMS () |
|
virtual void | compute (const Forecasts &forecasts, const Observations &observations, std::vector< std::size_t > &fcsts_test_index, std::vector< std::size_t > &fcsts_search_index) override |
|
virtual void | compute (const Forecasts &forecasts, const Observations &observations, std::vector< std::size_t > &fcsts_test_index, std::vector< std::size_t > &fcsts_search_index, const std::vector< std::size_t > &match_obs_stations_with) |
|
virtual void | compute (const Forecasts &forecasts, const Observations &observations, std::vector< std::size_t > &fcsts_test_index, std::vector< std::size_t > &fcsts_search_index) override |
|
virtual void | compute (const Forecasts &forecasts, const Observations &observations, const Times &test_times, const Times &search_times) override |
|
virtual void | compute (const Forecasts &forecasts, const Observations &observations, std::vector< std::size_t > &fcsts_test_index, std::vector< std::size_t > &fcsts_search_index) override |
|
| AnEnSSE () |
|
| AnEnSSE (const AnEnSSE &orig) |
|
| AnEnSSE (const Config &config) |
|
virtual | ~AnEnSSE () |
|
virtual void | print (std::ostream &) const override |
|
AnEnSSE & | operator= (const AnEnSSE &rhs) |
|
std::size_t | num_nearest () const |
|
double | distance () const |
|
bool | extend_obs () const |
|
bool | save_sims_station_index () const |
|
bool | exclude_closest_location () const |
|
const Array4DPointer & | sims_station_index () const |
|
const Functions::Matrix & | search_stations_index () const |
|
| AnEnIS () |
|
| AnEnIS (const AnEnIS &orig) |
|
| AnEnIS (const Config &) |
|
virtual | ~AnEnIS () |
|
AnEnIS & | operator= (const AnEnIS &rhs) |
|
std::size_t | num_analogs () const |
|
std::size_t | num_sims () const |
|
std::size_t | obs_var_index () const |
|
std::size_t | max_par_nan () const |
|
std::size_t | max_flt_nan () const |
|
std::size_t | flt_radius () const |
|
bool | save_analogs () const |
|
bool | save_analogs_time_index () const |
|
bool | save_sims () const |
|
bool | save_sims_time_index () const |
|
bool | operation () const |
|
bool | quick_sort () const |
|
bool | prevent_search_future () const |
|
bool | no_norm () const |
|
const std::vector< double > & | weights () const |
|
const Array4DPointer & | sds () const |
|
const Array4DPointer & | sims_metric () const |
|
const Array4DPointer & | sims_time_index () const |
|
const Array4DPointer & | analogs_value () const |
|
const Array4DPointer & | analogs_time_index () const |
|
const Functions::Matrix & | obs_time_index_table () const |
|
| AnEn () |
|
| AnEn (const AnEn &orig) |
|
| AnEn (const Config &) |
|
virtual | ~AnEn () |
|
virtual const Profiler & | getProfile () const |
|
AnEn & | operator= (const AnEn &rhs) |
|
|
virtual void | checkConsistency_ (const Forecasts &forecasts, const Observations &observations) const override |
|
virtual void | allocateMemory_ (const Forecasts &forecasts, const std::vector< std::size_t > &fcsts_test_index, const std::vector< std::size_t > &fcsts_search_index) override |
|
virtual void | preprocess_ (const Forecasts &forecasts, const Observations &observations, std::vector< std::size_t > &fcsts_test_index, std::vector< std::size_t > &fcsts_search_index) override |
|
virtual void | setMembers_ (const Config &) override |
|
virtual void | checkSave_ () const override |
|
virtual void | checkNumberOfMembers_ (std::size_t num_search_times_index) override |
|
template<std::size_t len> |
void | saveAnalogs_ (const SimsVec< len > &sims_arr, const Observations &observations, std::size_t station_i, std::size_t test_time_i, std::size_t flt_i) |
|
template<std::size_t len> |
void | saveSimsStationIndex_ (const SimsVec< len > &sims_arr, std::size_t station_i, std::size_t test_time_i, std::size_t flt_i) |
|
virtual void | setSdsTimeMap_ (const std::vector< std::size_t > ×_accum_index) |
|
virtual double | computeSimMetric_ (const Forecasts &forecasts, std::size_t sta_test_i, std::size_t sta_search_i, std::size_t flt_i, std::size_t time_test_i, std::size_t time_search_i, const std::vector< bool > &circulars) |
|
virtual void | allocateSds_ (const Forecasts &forecasts, const std::vector< std::size_t > ×_fixed_index, const std::vector< std::size_t > ×_accum_index={}) |
|
virtual void | computeSds_ (const Forecasts &forecasts, const std::vector< std::size_t > ×_fixed_index, const std::vector< std::size_t > ×_accum_index={}) |
|
virtual void | checkIndexRange_ (const Forecasts &forecasts, const std::vector< std::size_t > &fcsts_test_index, const std::vector< std::size_t > &fcsts_search_index) const |
|
template<std::size_t len> |
void | saveAnalogs_ (const SimsVec< len > &sims_arr, const Observations &observations, std::size_t station_i, std::size_t test_time_i, std::size_t flt_i) |
|
template<std::size_t len> |
void | saveAnalogsTimeIndex_ (const SimsVec< len > &sims_arr, std::size_t station_i, std::size_t test_time_i, std::size_t flt_i) |
|
template<std::size_t len> |
void | saveSims_ (const SimsVec< len > &sims_arr, std::size_t station_i, std::size_t test_time_i, std::size_t flt_i) |
|
template<std::size_t len> |
void | saveSimsTimeIndex_ (const SimsVec< len > &sims_arr, std::size_t station_i, std::size_t test_time_i, std::size_t flt_i) |
|
|
static const std::size_t | _SIM_STATION_INDEX = 3 |
|
static const std::array< double, 4 > | _INIT_ARR_VALUE = {NAN, NAN, NAN, NAN} |
|
static const std::size_t | _SIM_VALUE_INDEX = 0 |
|
static const std::size_t | _SIM_FCST_TIME_INDEX = 1 |
|
static const std::size_t | _SIM_OBS_TIME_INDEX = 2 |
|
static const std::array< double, 3 > | _INIT_ARR_VALUE = {NAN, NAN, NAN} |
|
static bool | _simsSort_ (const std::array< double, 4 > &, const std::array< double, 4 > &) |
|
static bool | _simsSort_ (const std::array< double, 3 > &, const std::array< double, 3 > &) |
|
AnEnSSEMS is derived from the class AnEnSSE. It is different from the base class in how forecast and observation stations are matched. In the base class, a same number of forecast and observation stations are expected from input files. This requirement is relaxed in the derived implementation where users can manually specify how forecast and observation stations should be linked.
AnEnSSEMS stands for AnEn Search Space Extension with Matching Stations.
void AnEnSSE::compute |
( |
const Forecasts & |
forecasts, |
|
|
const Observations & |
observations, |
|
|
std::vector< std::size_t > & |
fcsts_test_index, |
|
|
std::vector< std::size_t > & |
fcsts_search_index |
|
) |
| |
|
overridevirtual |
Overloads AnEnIS::compute with test and search indices
A vector of arrays consisting of [similarity value, forecast time index, observation time index, station index]
This is used to store all similarity metrics from all search times for one test time together with indices.
Reimplemented from AnEnSSE.
virtual void AnEnIS::compute |
( |
const Forecasts & |
forecasts, |
|
|
const Observations & |
observations, |
|
|
std::vector< std::size_t > & |
fcsts_test_index, |
|
|
std::vector< std::size_t > & |
fcsts_search_index |
|
) |
| |
|
overridevirtual |
Overloads AnEnIS::compute with test and search indices
A vector of arrays consisting of [similarity value, forecast time index, observation time index, station index]
This is used to store all similarity metrics from all search times for one test time together with indices.
Reimplemented from AnEnSSE.