18 #ifndef TERRAINRADIATION_H 19 #define TERRAINRADIATION_H 22 #include <meteoio/MeteoIO.h> 49 TerrainRadiation(
const mio::Config& i_cfg,
const mio::DEMObject &dem_in,
const int& i_nbworkers,
const std::string& method);
51 void getRadiation(
const mio::Array2D<double>& direct, mio::Array2D<double>& diffuse, mio::Array2D<double>& terrain);
52 void setMeteo(
const mio::Array2D<double>& albedo,
const mio::Array2D<double>& ta,
53 const mio::Array2D<double>& rh,
const mio::Array2D<double>& ilwr);
57 int SWTerrainRadiationStep(
const double threshold_itEps_SW,
size_t& c,
size_t& d,
58 mio::Array2D<double>& sw_Q_out,
double& Rmy);
59 int LWTerrainRadiationStep(
const double threshold_itEps_LW,
const int itMax_LW,
const int i_shoot,
60 const int j_shoot,
unsigned int n);
61 int ComputeTerrainRadiation(
const double& threshold_itEps_SW,
const bool& day,
size_t& c,
size_t& d,
62 mio::Array2D<double>& sw_Q_out,
double& Rmy);
63 void ComputeProgressiveRefinement();
64 void InitializeTerrainSwSplitting(
size_t& i_max_unshoot,
size_t& j_max_unshoot, mio::Array2D<double>& sw_Q_out);
65 void InitializeTerrainRadiation(
const bool& day);
66 void fillSWResultsGrids(
const bool& day);
67 void InitializeLW (
const int i,
const int j,
double &lw_eps_stern);
70 static inline void CalculateIndex(
const int indice,
const int distance_max,
int dim,
int * min,
int * max);
71 static inline void LWTerrainRadiationCore(
const double bx2,
const int j_shoot,
const double z_shoot,
const int j,
72 const double z,
const double cellsize,
const double t_snow_shoot,
73 const double t_snow_shoot_value,
const double t_a,
const double vf,
74 double * lwi,
int * s);
81 mio::Array2D<double> albedo_grid, meteo2d_ilwr, meteo2d_ta, meteo2d_rh;
82 mio::Array2D<double> total_diff, sw_t, glob_start, glob_h_isovf, glob_h, t_snowold;
83 mio::Array2D<double> lw_t,lwi, lw_sky;
84 std::vector<CellsList> lwt_byCell;
86 mio::Array2D<double> tdir, tdiff;
87 mio::Array2D<double> Mmy;
88 mio::Array2D<double> Mt;
91 double mean_glob_start;
93 double max_glob_start;
100 double threshold_itEps_SW;
105 int LW_distance_index;
107 const static int NB_UNROLL = 3;
Definition: TerrainRadiationAlgorithm.h:35
void getRadiation(const mio::Array2D< double > &direct, mio::Array2D< double > &diffuse, mio::Array2D< double > &terrain)
Definition: TerrainRadiation.cc:84
Full computation of the terrain reflected radiation by ray-tracing. Ray tracing is used between all c...
Definition: TerrainRadiation.h:47
Definition: ViewFactors.h:25
TerrainRadiation(const mio::Config &i_cfg, const mio::DEMObject &dem_in, const int &i_nbworkers, const std::string &method)
Definition: TerrainRadiation.cc:25
void setMeteo(const mio::Array2D< double > &albedo, const mio::Array2D< double > &ta, const mio::Array2D< double > &rh, const mio::Array2D< double > &ilwr)
Definition: TerrainRadiation.cc:97