Parallel Analog Ensemble
Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
AnEnWriteNcdf Class Reference

AnEnWriteNcdf provides the functionality to write to NetCDF files. More...

#include <AnEnWriteNcdf.h>

Public Member Functions

 AnEnWriteNcdf ()
 
 AnEnWriteNcdf (const AnEnWriteNcdf &orig)
 
 AnEnWriteNcdf (Verbose verbose)
 
virtual ~AnEnWriteNcdf ()
 
void writeAnEn (const std::string &file, const AnEnIS &, const Times &test_times, const Times &search_times, const Times &forecast_flts, const Parameters &, const Stations &, bool overwrite=false, bool append=false) const
 
void writeAnEn (const std::string &file, const AnEnSSE &, const Times &test_times, const Times &search_times, const Times &forecast_flts, const Parameters &, const Stations &, bool overwrite=false, bool append=false) const
 
void writeAnEn (const std::string &file, const AnEn *, const std::string &, const Times &test_times, const Times &search_times, const Times &forecast_flts, const Parameters &, const Stations &, bool overwrite=false, bool append=false) const
 
void writeMultiAnEn (const std::string &file, const std::unordered_map< std::string, std::size_t > &, const AnEnIS &, const Times &test_times, const Times &search_times, const Times &forecast_flts, const Parameters &, const Stations &, const Observations &, bool overwrite=false, bool append=false) const
 
void writeMultiAnEn (const std::string &file, const std::unordered_map< std::string, std::size_t > &, const AnEnSSE &, const Times &test_times, const Times &search_times, const Times &forecast_flts, const Parameters &, const Stations &, const Observations &, bool overwrite=false, bool append=false) const
 
void writeMultiAnEn (const std::string &file, const std::unordered_map< std::string, std::size_t > &, const AnEn *, const std::string &algorithm, const Times &test_times, const Times &search_times, const Times &forecast_flts, const Parameters &, const Stations &, const Observations &, bool overwrite=false, bool append=false) const
 
void writeForecasts (const std::string &file, const Forecasts &, bool overwrite=false, bool append=false, const std::string &group_name="Forecasts") const
 
void writeObservations (const std::string &file, const Observations &, bool overwrite=false, bool append=false) const
 

Static Public Attributes

static const bool _unlimited_parameters = false
 
static const bool _unlimited_stations = false
 
static const bool _unlimited_test_times = false
 
static const bool _unlimited_search_times = false
 
static const bool _unlimited_times = false
 
static const bool _unlimited_flts = false
 
static const bool _unlimited_members = false
 

Protected Member Functions

void addBasicData_ (netCDF::NcGroup &, const BasicData &) const
 
void addStations_ (netCDF::NcGroup &, const Stations &, bool) const
 
void addMeta_ (netCDF::NcGroup &) const
 
void setDimensions_ ()
 

Protected Attributes

Verbose verbose_
 
std::array< std::string, 4 > analogs_dim_
 
std::array< std::string, 4 > sims_dim_
 
std::array< bool, 4 > unlimited_
 

Detailed Description

AnEnWriteNcdf provides the functionality to write to NetCDF files.

Constructor & Destructor Documentation

◆ AnEnWriteNcdf() [1/3]

AnEnWriteNcdf::AnEnWriteNcdf ( )

◆ AnEnWriteNcdf() [2/3]

AnEnWriteNcdf::AnEnWriteNcdf ( const AnEnWriteNcdf orig)

◆ AnEnWriteNcdf() [3/3]

AnEnWriteNcdf::AnEnWriteNcdf ( Verbose  verbose)

◆ ~AnEnWriteNcdf()

AnEnWriteNcdf::~AnEnWriteNcdf ( )
virtual

Member Function Documentation

◆ addBasicData_()

void AnEnWriteNcdf::addBasicData_ ( netCDF::NcGroup &  nc_group,
const BasicData basic_data 
) const
protected

◆ addMeta_()

void AnEnWriteNcdf::addMeta_ ( netCDF::NcGroup &  nc) const
protected

◆ addStations_()

void AnEnWriteNcdf::addStations_ ( netCDF::NcGroup &  nc,
const Stations stations,
bool  unlimited 
) const
protected

◆ setDimensions_()

void AnEnWriteNcdf::setDimensions_ ( )
protected

◆ writeAnEn() [1/3]

void AnEnWriteNcdf::writeAnEn ( const std::string &  file,
const AnEn ,
const std::string &  ,
const Times test_times,
const Times search_times,
const Times forecast_flts,
const Parameters ,
const Stations ,
bool  overwrite = false,
bool  append = false 
) const

◆ writeAnEn() [2/3]

void AnEnWriteNcdf::writeAnEn ( const std::string &  file,
const AnEnIS ,
const Times test_times,
const Times search_times,
const Times forecast_flts,
const Parameters ,
const Stations ,
bool  overwrite = false,
bool  append = false 
) const

Write AnEn into to an NetCDF file

Parameters
fileThe output file name
anenThe AnEn object to write. Or it can be a pointer to AnEn.
algorithmThe type to convert the pointer of AnEn to, either IS or SSE.
test_timesThe test times used to generate AnEn
search_timesThe search times used to generate AnEn
forecast_fltsThe lead times of AnEn forecasts
parametersThe forecast parameters used to generate AnEn
stationsThe stations of AnEn forecasts
overwriteWhether to overwrite existing files
appendWhether to append to existing files

◆ writeAnEn() [3/3]

void AnEnWriteNcdf::writeAnEn ( const std::string &  file,
const AnEnSSE ,
const Times test_times,
const Times search_times,
const Times forecast_flts,
const Parameters ,
const Stations ,
bool  overwrite = false,
bool  append = false 
) const

◆ writeForecasts()

void AnEnWriteNcdf::writeForecasts ( const std::string &  file,
const Forecasts ,
bool  overwrite = false,
bool  append = false,
const std::string &  group_name = "Forecasts" 
) const

Write forecasts.

Parameters
fileThe output file name
forecastsForecasts
overwriteWhether to overwrite files
appendWhether to append to files

◆ writeMultiAnEn() [1/3]

void AnEnWriteNcdf::writeMultiAnEn ( const std::string &  file,
const std::unordered_map< std::string, std::size_t > &  ,
const AnEn ,
const std::string &  algorithm,
const Times test_times,
const Times search_times,
const Times forecast_flts,
const Parameters ,
const Stations ,
const Observations ,
bool  overwrite = false,
bool  append = false 
) const

◆ writeMultiAnEn() [2/3]

void AnEnWriteNcdf::writeMultiAnEn ( const std::string &  file,
const std::unordered_map< std::string, std::size_t > &  ,
const AnEnIS ,
const Times test_times,
const Times search_times,
const Times forecast_flts,
const Parameters ,
const Stations ,
const Observations ,
bool  overwrite = false,
bool  append = false 
) const

Write AnEn into an NetCDF file. Multivariate analogs are generated using the index from AnEn.

Parameters
fileThe output file name
obs_mapAn unordered map with variable names as the keys and the corresponding observations ID as values. Variables names will be used in the output NetCDF file.
anenThe AnEn object to write. Or it can be a pointer to AnEn.
algorithmThe type to convert the pointer of AnEn to, either IS or SSE.
test_timesThe test times used to generate AnEn
search_timesThe search times used to generate AnEn
forecast_fltsThe lead times of AnEn forecasts
parametersThe forecast parameters used to generate AnEn
stationsThe stations of AnEn forecasts
observationsThe observations used in AnEn generation
overwriteWhether to overwrite existing files
appendWhether to append to existing files

◆ writeMultiAnEn() [3/3]

void AnEnWriteNcdf::writeMultiAnEn ( const std::string &  file,
const std::unordered_map< std::string, std::size_t > &  ,
const AnEnSSE ,
const Times test_times,
const Times search_times,
const Times forecast_flts,
const Parameters ,
const Stations ,
const Observations ,
bool  overwrite = false,
bool  append = false 
) const

◆ writeObservations()

void AnEnWriteNcdf::writeObservations ( const std::string &  file,
const Observations ,
bool  overwrite = false,
bool  append = false 
) const

Write observations.

Parameters
fileThe output file name
observationsObservations
overwriteWhether to overwrite files
appendWhether to append to files

Member Data Documentation

◆ _unlimited_flts

const bool AnEnWriteNcdf::_unlimited_flts = false
static

◆ _unlimited_members

const bool AnEnWriteNcdf::_unlimited_members = false
static

◆ _unlimited_parameters

const bool AnEnWriteNcdf::_unlimited_parameters = false
static

◆ _unlimited_search_times

const bool AnEnWriteNcdf::_unlimited_search_times = false
static

◆ _unlimited_stations

const bool AnEnWriteNcdf::_unlimited_stations = false
static

◆ _unlimited_test_times

const bool AnEnWriteNcdf::_unlimited_test_times = false
static

◆ _unlimited_times

const bool AnEnWriteNcdf::_unlimited_times = false
static

◆ analogs_dim_

std::array<std::string, 4> AnEnWriteNcdf::analogs_dim_
protected

◆ sims_dim_

std::array<std::string, 4> AnEnWriteNcdf::sims_dim_
protected

◆ unlimited_

std::array<bool, 4 > AnEnWriteNcdf::unlimited_
protected

◆ verbose_

Verbose AnEnWriteNcdf::verbose_
protected

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