52 static int selfTest(
int argc = 0,
char **argv =
nullptr);
73 void run(
const std::vector<uint> &UUIDs);
80 void run(
const std::vector<uint> &UUIDs,
float dt);
131#ifdef HELIOS_CUDA_AVAILABLE
137 void enableGPUAcceleration();
144 void disableGPUAcceleration();
150 bool isGPUAccelerationEnabled()
const;
163 void evaluateSurfaceEnergyBalance(
const std::vector<uint> &UUIDs,
float dt);
165#ifdef HELIOS_CUDA_AVAILABLE
167 void evaluateSurfaceEnergyBalance_GPU(
const std::vector<uint> &UUIDs,
float dt);
170 void initializeGPUAcceleration();
174 void evaluateSurfaceEnergyBalance_CPU(
const std::vector<uint> &UUIDs,
float dt);
179#ifdef HELIOS_CUDA_AVAILABLE
181 bool gpu_acceleration_enabled =
false;
185 float temperature_default;
188 float wind_speed_default;
191 float air_temperature_default;
194 float air_humidity_default;
197 float pressure_default;
203 float heatcapacity_default;
206 float Qother_default;
209 float surface_humidity_default;
211 bool air_energy_balance_enabled;
216 float canopy_height_m;
217 float reference_height_m;
223 std::vector<std::string> radiation_bands;
226 std::vector<std::string> output_prim_data;