18 #ifndef TERRAINRADIATIONHELBIG_H 19 #define TERRAINRADIATIONHELBIG_H 21 #include <meteoio/MeteoIO.h> 33 const double c1 = ((
CellsList *)cell1)->radiation;
34 const double c2 = ((
CellsList *)cell2)->radiation;
35 if (c1 > c2)
return -1;
36 if (c1 < c2)
return 1;
77 TerrainRadiationHelbig(
const mio::Config& i_cfg,
const mio::DEMObject& dem_in,
const int& i_nbworkers,
const std::string& method);
79 void getRadiation(
const mio::Array2D<double>& direct, mio::Array2D<double>& diffuse, mio::Array2D<double>& terrain);
80 void setMeteo(
const mio::Array2D<double>& albedo,
const mio::Array2D<double>& ta,
81 const mio::Array2D<double>& rh,
const mio::Array2D<double>& ilwr);
93 double mean_glob_start;
94 int LW_distance_index;
95 const static int NB_UNROLL = 3;
97 mio::Array2D<double> meteo2d_ta, meteo2d_rh;
98 mio::Array2D<double> lw_t,lwi, lw_sky;
101 double max_glob_start;
107 mio::Array2D<double> total_diff, tdir, tdiff, sw_t, glob_start, glob_h_isovf, glob_h, t_snowold;
120 mio::Array2D<double> albedo_grid, meteo2d_ilwr;
122 std::vector<CellsList> lwt_byCell;
125 int SWTerrainRadiationStep(
const double threshold_itEps_SW,
int *c,
int *d,
unsigned int n,
const clock_t t0);
126 int LWTerrainRadiationStep(
const double threshold_itEps_LW,
const int itMax_LW,
const int i_shoot,
const int j_shoot,
unsigned int n,
const clock_t t0);
127 int ComputeTerrainRadiation(
const bool& day,
int c,
int d);
128 void ComputeRadiationBalance();
129 void InitializeTerrainSwSplitting(
const int& i,
const int& j,
130 int *i_max_unshoot,
int *j_max_unshoot,
double *diffmax_sw);
131 void InitializeTerrainRadiation(
const bool& day,
int *c,
int *d);
132 void fillSWResultsGrids(
const bool& day);
134 void InitializeLW (
const int i,
const int j);
136 static inline void CalculateIndex(
const int indice,
const int distance_max,
int dim,
int * min,
int * max);
137 static inline void LWTerrainRadiationCore(
const double bx2,
const int j_shoot,
const double z_shoot,
const int j,
const double z,
const double cellsize,
const double t_snow_shoot,
const double t_snow_shoot_value ,
const double t_a,
const double vf,
double * lwi,
int * s);
Definition: TerrainRadiationAlgorithm.h:35
Radiosity terrain radiation. For each cell of the domain, a view factor to every other visible cell o...
Definition: TerrainRadiationHelbig.h:74
Definition: ViewFactorsCluster.h:25
void getRadiation(const mio::Array2D< double > &direct, mio::Array2D< double > &diffuse, mio::Array2D< double > &terrain)
Definition: TerrainRadiationHelbig.cc:56
TerrainRadiationHelbig(const mio::Config &i_cfg, const mio::DEMObject &dem_in, const int &i_nbworkers, const std::string &method)
Definition: TerrainRadiationHelbig.cc:29
void setMeteo(const mio::Array2D< double > &albedo, const mio::Array2D< double > &ta, const mio::Array2D< double > &rh, const mio::Array2D< double > &ilwr)
Definition: TerrainRadiationHelbig.cc:65
Definition: ViewFactorsHelbig.h:27
int CellsRadComparator_Helbig(const void *cell1, const void *cell2)
Definition: TerrainRadiationHelbig.h:31
Definition: TerrainRadiationAlgorithm.h:24