Alpine3D 20240418.cd14b8b
TerrainRadiationSimple Class Reference

Simple guess of terrain reflected radiation. For each cell of the domain, a sky view factor is computed over 32 sectors and a 500m distance (see for example Faron S. Anslow, Steven Hostetler, William R. Bidlake, and Peter U. Clark, "Distributed energy balance modeling of South Cascade Glacier, Washington and assessment of model uncertainty", Journal of Geophysical Research, vol. 113, 2008). Then, for each cell of the domain, this view factor is transformed into a terrain view factor, multiplied by the albedo of the current cell and multiplied by the sum of the direct and diffuse radiation for the current cell. This is considered to be an approximation of the short wave radiation rewflected by the surroundings of the current cell. More...

#include <TerrainRadiationSimple.h>

Public Member Functions

 TerrainRadiationSimple (const mio::Config &i_cfg, const mio::DEMObject &dem_in, const std::string &method)
 
 ~TerrainRadiationSimple ()
 
virtual void getRadiation (mio::Array2D< double > &direct, mio::Array2D< double > &diffuse, mio::Array2D< double > &terrain, const mio::Array2D< double > &direct_unshaded_horizontal, const mio::Array2D< double > &total_ilwr, mio::Array2D< double > &sky_ilwr, mio::Array2D< double > &terrain_ilwr, double solarAzimuth, double solarElevation)
 
virtual void setMeteo (const mio::Array2D< double > &albedo, const mio::Array2D< double > &ta)
 
void getSkyViewFactor (mio::Array2D< double > &o_sky_vf)
 
- Public Member Functions inherited from TerrainRadiationAlgorithm
 TerrainRadiationAlgorithm (const std::string &i_algo)
 
virtual ~TerrainRadiationAlgorithm ()
 
bool hasSP ()
 
virtual void getRadiation (mio::Array2D< double > &direct, mio::Array2D< double > &diffuse, mio::Array2D< double > &terrain, const mio::Array2D< double > &direct_unshaded_horizontal, const mio::Array2D< double > &total_ilwr, mio::Array2D< double > &sky_ilwr, mio::Array2D< double > &terrain_ilwr, double solarAzimuth, double solarElevation)=0
 
virtual void setMeteo (const mio::Array2D< double > &albedo, const mio::Array2D< double > &ta)=0
 
virtual void setSP (const mio::Date, const double, const double)
 
virtual void writeSP (const unsigned int)
 
virtual void getSkyViewFactor (mio::Array2D< double > &o_sky_vf)=0
 

Additional Inherited Members

- Public Attributes inherited from TerrainRadiationAlgorithm
const std::string algo
 
- Protected Attributes inherited from TerrainRadiationAlgorithm
bool _hasSP
 

Detailed Description

Simple guess of terrain reflected radiation. For each cell of the domain, a sky view factor is computed over 32 sectors and a 500m distance (see for example Faron S. Anslow, Steven Hostetler, William R. Bidlake, and Peter U. Clark, "Distributed energy balance modeling of South Cascade Glacier, Washington and assessment of model uncertainty", Journal of Geophysical Research, vol. 113, 2008). Then, for each cell of the domain, this view factor is transformed into a terrain view factor, multiplied by the albedo of the current cell and multiplied by the sum of the direct and diffuse radiation for the current cell. This is considered to be an approximation of the short wave radiation rewflected by the surroundings of the current cell.

Constructor & Destructor Documentation

◆ TerrainRadiationSimple()

TerrainRadiationSimple::TerrainRadiationSimple ( const mio::Config &  i_cfg,
const mio::DEMObject &  dem_in,
const std::string &  method 
)

◆ ~TerrainRadiationSimple()

TerrainRadiationSimple::~TerrainRadiationSimple ( )

Member Function Documentation

◆ getRadiation()

void TerrainRadiationSimple::getRadiation ( mio::Array2D< double > &  direct,
mio::Array2D< double > &  diffuse,
mio::Array2D< double > &  terrain,
const mio::Array2D< double > &  direct_unshaded_horizontal,
const mio::Array2D< double > &  total_ilwr,
mio::Array2D< double > &  sky_ilwr,
mio::Array2D< double > &  terrain_ilwr,
double  solarAzimuth,
double  solarElevation 
)
virtual

◆ getSkyViewFactor()

void TerrainRadiationSimple::getSkyViewFactor ( mio::Array2D< double > &  o_sky_vf)
virtual

◆ setMeteo()

void TerrainRadiationSimple::setMeteo ( const mio::Array2D< double > &  albedo,
const mio::Array2D< double > &  ta 
)
virtual

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