![]() |
OpenSWMM Engine
6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
|
Phase H6a — solar position, clear-sky irradiance, cloud. More...
#include "Radiation.hpp"#include <stdexcept>#include <algorithm>#include <cmath>#include "../core/DateTime.hpp"#include "../core/SimulationContext.hpp"#include "../data/TableData.hpp"Namespaces | |
| namespace | openswmm |
| namespace | openswmm::climate |
Functions | |
| SolarPosition | openswmm::climate::solarPosition (int day_of_year, double hour_local, double lat_deg, double lon_deg, double tz_hours) noexcept |
| Compute Spencer/NOAA sun geometry at a local civil-clock instant. | |
| double | openswmm::climate::airMass (double zenith_deg) noexcept |
| Compute Kasten-Young relative optical air mass. | |
| double | openswmm::climate::pressureFromElevation (double elevation_m) noexcept |
| Estimate standard-atmosphere station pressure from elevation. | |
| double | openswmm::climate::birdClearSkyGHI (const SolarPosition &pos, double pressure_mb, const SolarConfig &cfg) noexcept |
| Estimate clear-sky global horizontal irradiance with Bird-Hulstrom terms. | |
| double | openswmm::climate::cloudShortwaveFactor (double cloud_fraction, double k, double n) noexcept |
| Compute the cloud attenuation multiplier max(0,1-k*C^n). | |
| double | openswmm::climate::cloudLongwaveFactor (double cloud_fraction, double k_lw) noexcept |
| Compute the cloud atmospheric-emissivity multiplier 1+k_lw*C^2. | |
| void | openswmm::climate::updateSolarForcing (SimulationContext &ctx, double seconds=1) |
| Update shared heat shortwave/cloud forcing with mesh radiation disabled. | |
| void | openswmm::climate::updateSolarForcing (SimulationContext &ctx, double seconds, bool mesh_enabled) |
| Resolve shared incoming heat shortwave and cloud forcing at current_date. | |
Phase H6a — solar position, clear-sky irradiance, cloud.