OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
SolarRadiation.cpp File Reference

Phase H6a — solar position, clear-sky irradiance, cloud. More...

#include "SolarRadiation.hpp"
#include <algorithm>
#include <cmath>
#include "../../../core/DateTime.hpp"
#include "../../../core/SimulationContext.hpp"
#include "../../../data/TableData.hpp"
Include dependency graph for SolarRadiation.cpp:

Namespaces

namespace  openswmm
 
namespace  openswmm::transport
 
namespace  openswmm::transport::heat
 

Functions

SolarPosition openswmm::transport::heat::solarPosition (int day_of_year, double hour_local, double lat_deg, double lon_deg, double tz_hours) noexcept
 Sun position by the Spencer (1971) / NOAA formulation.
 
double openswmm::transport::heat::airMass (double zenith_deg) noexcept
 
double openswmm::transport::heat::pressureFromElevation (double elevation_m) noexcept
 Station pressure [mb] from elevation [m], standard atmosphere.
 
double openswmm::transport::heat::birdClearSkyGHI (const SolarPosition &pos, double pressure_mb, const SolarConfig &cfg) noexcept
 Bird & Hulstrom clear-sky global horizontal irradiance [W/m²].
 
double openswmm::transport::heat::cloudShortwaveFactor (double cloud_fraction, double k, double n) noexcept
 Cloud attenuation of shortwave, 1 − k·C^n (Kasten–Czeplak).
 
double openswmm::transport::heat::cloudLongwaveFactor (double cloud_fraction, double k_lw) noexcept
 Cloud enhancement of atmospheric emissivity, 1 + k_lw·C² (Bolz).
 
void openswmm::transport::heat::updateSolarForcing (SimulationContext &ctx) noexcept
 Resolve Jin and C for this step into ctx.heat_state.
 

Detailed Description

Phase H6a — solar position, clear-sky irradiance, cloud.

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License\n Apache-2.0