MeteoIODoc  MeteoIODoc-2.9.0
mio::ProcShade Class Reference

Detailed Description

Apply a shading mask to the Incoming or Reflected Short Wave Radiation.

A shading mask that is either computed from the DEM or read from a separate file will be applied to the radiation and combined with the radiation splitting model in order to properly compute the shading effects on the measurement point. This mask will be linearly interpolated between the provided points in order to be applied to the true sun position.

When providing the shading mask in a separate file, the same mask will be applied to all stations. It simply need to contain the horizon elevation (in deg.) as a function of azimuth (in deg.):

0 5
15 25
45 12
180 30
270 20

Therefore, the filter supports the following arguments:

  • FILE: file (and path) to read the mask from (optional);
  • DUMP_MASK: if set to TRUE, each mask will be printed on the screen as it is computed (optional).

Then the filter is declared with the file name containing the horizon mask as argument:

ISWR::filter1 = SHADE
ISWR::arg1::file = ../input/iswr_mask.dat

If no arguments are provided, then it will compute the mask from the Digital Elevation Model. In such as case, a DEM must be declared in the [Input] section and must contain the stations of interest as a mask will be computed for each station. Please make sure that the extent of the DEM is appropriate to correctly compute the shading effects!

#include <ProcShade.h>

Public Member Functions

 ProcShade (const std::vector< std::pair< std::string, std::string > > &vecArgs, const std::string &name, const Config &i_cfg)
 
virtual void process (const unsigned int &param, const std::vector< MeteoData > &ivec, std::vector< MeteoData > &ovec)
 
- Public Member Functions inherited from mio::ProcessingBlock
virtual ~ProcessingBlock ()
 
virtual void process (Date &dateStart, Date &dateEnd)
 
std::string getName () const
 
const ProcessingPropertiesgetProperties () const
 
const std::string toString () const
 
bool skipStation (const std::string &station_id) const
 
bool noStationsRestrictions () const
 

Static Public Member Functions

static std::vector< std::pair< double, double > > computeMask (const DEMObject &i_dem, const StationData &sd, const bool &dump_mask=false)
 
- Static Public Member Functions inherited from mio::ProcessingBlock
static void readCorrections (const std::string &filter, const std::string &filename, std::vector< double > &X, std::vector< double > &Y)
 
static void readCorrections (const std::string &filter, const std::string &filename, std::vector< double > &X, std::vector< double > &Y1, std::vector< double > &Y2)
 
static std::vector< double > readCorrections (const std::string &filter, const std::string &filename, const size_t &col_idx, const char &c_type, const double &init)
 
static std::vector< offset_specreadCorrections (const std::string &filter, const std::string &filename, const double &TZ, const size_t &col_idx=2)
 
static std::map< std::string, std::vector< dates_range > > readDates (const std::string &filter, const std::string &filename, const double &TZ)
 
static std::set< std::string > initStationSet (const std::vector< std::pair< std::string, std::string > > &vecArgs, const std::string &keyword)
 

Additional Inherited Members

- Protected Member Functions inherited from mio::ProcessingBlock
 ProcessingBlock (const std::vector< std::pair< std::string, std::string > > &vecArgs, const std::string &name)
 protected constructor only to be called by children More...
 
- Static Protected Member Functions inherited from mio::ProcessingBlock
static void extract_dbl_vector (const unsigned int &param, const std::vector< MeteoData > &ivec, std::vector< double > &ovec)
 
static void extract_dbl_vector (const unsigned int &param, const std::vector< const MeteoData *> &ivec, std::vector< double > &ovec)
 
- Protected Attributes inherited from mio::ProcessingBlock
const std::set< std::string > excluded_stations
 
const std::set< std::string > kept_stations
 
ProcessingProperties properties
 
const std::string block_name
 
- Static Protected Attributes inherited from mio::ProcessingBlock
static const double soil_albedo = .23
 
static const double snow_albedo = .85
 
static const double snow_thresh = .1
 parametrize the albedo from HS More...
 

Constructor & Destructor Documentation

◆ ProcShade()

mio::ProcShade::ProcShade ( const std::vector< std::pair< std::string, std::string > > &  vecArgs,
const std::string &  name,
const Config i_cfg 
)

Member Function Documentation

◆ computeMask()

std::vector< std::pair< double, double > > mio::ProcShade::computeMask ( const DEMObject i_dem,
const StationData sd,
const bool &  dump_mask = false 
)
static

◆ process()

void mio::ProcShade::process ( const unsigned int &  param,
const std::vector< MeteoData > &  ivec,
std::vector< MeteoData > &  ovec 
)
virtual

Implements mio::ProcessingBlock.


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