56#ifndef OPENSWMM_ENGINE_DATA_HEAT_DATA_HPP
57#define OPENSWMM_ENGINE_DATA_HEAT_DATA_HPP
294 std::vector<HeatOverrideRow>
rows;
513 void resize(
int n_nodes,
int n_links,
double initial_temp) {
516 node_temp.assign(
static_cast<std::size_t
>(n_nodes), initial_temp);
517 link_temp.assign(
static_cast<std::size_t
>(n_links), initial_temp);
529 const auto n =
static_cast<std::size_t
>(n_subcatch);
540 return subarea_temp.size() ==
static_cast<std::size_t
>(n_subcatch) *
Plan H6b — the bed / hyporheic transient-storage zone.
Plan PE — per-element radiative and bed attributes.
Definition NodeCoupling.cpp:16
DryTempPolicy
What a dry or absent element reports (plan D-H5c, user 2026-08-19).
Definition HeatData.hpp:103
@ HOLD
Definition HeatData.hpp:106
@ AIR
Definition HeatData.hpp:109
@ DEFAULT
Definition HeatData.hpp:112
HeatSubArea
Definition HeatData.hpp:88
@ IMPERV0
Definition HeatData.hpp:89
@ COUNT_
Definition HeatData.hpp:92
@ IMPERV1
Definition HeatData.hpp:90
@ PERV
Definition HeatData.hpp:91
@ TIMESERIES
Data from an in-file [TIMESERIES].
Definition GageData.hpp:58
HeatSource
Definition HeatData.hpp:70
@ RAINFALL
Definition HeatData.hpp:71
@ RDII
Definition HeatData.hpp:76
@ COUNT_
Definition HeatData.hpp:80
@ DWF
Definition HeatData.hpp:74
@ EXTERNAL_INFLOW
Definition HeatData.hpp:77
@ INITIAL_STATE
water in the network at t = 0
Definition HeatData.hpp:79
@ GW
Definition HeatData.hpp:75
@ IFACE
Definition HeatData.hpp:78
ShortwaveMode
Where incoming shortwave Jin comes from (plan §2.5, phase H6a).
Definition HeatData.hpp:152
@ COMPUTED
SHORTWAVE GLOBAL COMPUTED — position + clear-sky.
Definition HeatData.hpp:155
@ CONSTANT
SHORTWAVE GLOBAL <W/m²> — the H3 spelling.
Definition HeatData.hpp:153
[CLOUD_COVER] — one fraction driving two modules (H6a, D-H6a-2).
Definition HeatData.hpp:223
double sw_atten_n
Kasten–Czeplak n.
Definition HeatData.hpp:230
double fraction
C ∈ [0,1], constant spelling.
Definition HeatData.hpp:227
int ts_index
Index into ctx.tables, -1 = none.
Definition HeatData.hpp:226
double sw_atten_k
Kasten–Czeplak k.
Definition HeatData.hpp:229
bool use_timeseries
Definition HeatData.hpp:225
double lw_cloud_k
Bolz k_lw.
Definition HeatData.hpp:231
bool configured
No [CLOUD_COVER] section → clear sky.
Definition HeatData.hpp:224
Vertical conduction between LID layers (plan §6.1 D-H5b, H5b).
Definition HeatData.hpp:135
double sed_specific_heat
J/kg/K (gwmodel.cpp:52)
Definition HeatData.hpp:139
double water_conductivity
W/m/K (gwmodel.h:885)
Definition HeatData.hpp:136
double sed_density
kg/m³ (gwmodel.cpp:51)
Definition HeatData.hpp:138
double sed_conductivity
W/m/K (gwmodel.h:886)
Definition HeatData.hpp:137
Parsed model.heat state (heat component, phase H1).
Definition HeatData.hpp:318
bool configured_source[static_cast< int >(HeatSource::COUNT_)]
Whether the user set this source explicitly (vs. taking the default).
Definition HeatData.hpp:388
SolarConfig solar
Definition HeatData.hpp:373
ConductionConfig conduction
Parameters for the module above.
Definition HeatData.hpp:349
bool radiative_exchange
Definition HeatData.hpp:323
double global_temp[static_cast< int >(HeatSource::COUNT_)]
GLOBAL inlet temperature per source, °C.
Definition HeatData.hpp:383
bool sediment_exchange
Definition HeatData.hpp:358
RadiativeConfig radiative
Parameters for the module above.
Definition HeatData.hpp:326
HeatOverrideData overrides
Definition HeatData.hpp:369
static constexpr double kDefaultTemp
Default inlet temperature when a source has no row (°C).
Definition HeatData.hpp:380
DryTempPolicy dry_temp_policy
[HEAT_FLUXES] DRY_ELEMENT_TEMPERATURE HOLD|AIR|DEFAULT (D-H5c).
Definition HeatData.hpp:341
std::vector< int > node_over_source
HeatSource as int.
Definition HeatData.hpp:391
bool surface_exchange
[HEAT_FLUXES] SURFACE_EXCHANGE ON — latent + sensible exchange at the free surface (plan §2....
Definition HeatData.hpp:338
std::vector< double > node_over_temp
°C
Definition HeatData.hpp:393
bool configured
Definition HeatData.hpp:319
bool layer_conduction
Definition HeatData.hpp:346
double source_temp(HeatSource s, int node) const noexcept
Temperature of source water entering node (°C).
Definition HeatData.hpp:396
CloudConfig cloud
Definition HeatData.hpp:377
SedimentConfig sediment
Definition HeatData.hpp:365
std::vector< int > node_over_node
node index
Definition HeatData.hpp:392
Dense per-element attribute storage (PE2, D-PE2).
Definition HeatData.hpp:293
std::vector< SedimentConfig > sed_link
[link], empty ⇒ use global
Definition HeatData.hpp:298
bool empty() const noexcept
Definition HeatData.hpp:302
std::vector< HeatOverrideRow > rows
as parsed; the serializer's input
Definition HeatData.hpp:294
std::vector< RadiativeConfig > rad_node
[node], empty ⇒ use global
Definition HeatData.hpp:297
std::vector< RadiativeConfig > rad_link
[link], empty ⇒ use global
Definition HeatData.hpp:296
bool resolved
Definition HeatData.hpp:300
void clear()
Definition HeatData.hpp:303
Runtime heat state shared by the engines (phase H1).
Definition HeatData.hpp:413
std::vector< double > subarea_temp
[subcatch * kNSubArea + subarea], °C — ponded surface temperature.
Definition HeatData.hpp:470
static constexpr int kNSubArea
Definition HeatData.hpp:511
std::vector< double > link_temp
[link], °C
Definition HeatData.hpp:424
bool legacy_seeded
The LEGACY mirror seeds INITIAL_STATE on its first step.
Definition HeatData.hpp:427
std::vector< double > subcatch_runoff_temp
[subcatch], °C — temperature the subcatchment's runoff leaves at.
Definition HeatData.hpp:476
bool watershedSized(int n_subcatch) const noexcept
Definition HeatData.hpp:539
std::vector< double > node_temp_vol_in
Definition HeatData.hpp:414
std::vector< double > node_lid_drain_temp_vol_in
Definition HeatData.hpp:422
double cloud_now
Cloud fraction at the current step, C ∈ [0,1]. 0 = clear.
Definition HeatData.hpp:459
std::vector< double > node_temp
[node], °C
Definition HeatData.hpp:423
std::vector< double > subcatch_outfall_temp_vol
Definition HeatData.hpp:509
void resize(int n_nodes, int n_links, double initial_temp)
Definition HeatData.hpp:513
std::vector< double > subcatch_runon_temp_rate
Definition HeatData.hpp:502
std::vector< double > subarea_vol_prev
Definition HeatData.hpp:474
void clear()
Definition HeatData.hpp:544
void resizeWatershed(int n_subcatch, double initial_temp)
Definition HeatData.hpp:528
double shortwave_now
Definition HeatData.hpp:457
std::vector< double > subcatch_runon_temp_vol_in
Definition HeatData.hpp:480
[RADIATIVE_FLUXES] parameters (heat plan §2.2, phase H3).
Definition HeatData.hpp:243
double sky_view
fsky, 1 = open sky
Definition HeatData.hpp:247
double atm_emiss_coeff
Brunt Aa.
Definition HeatData.hpp:250
double shade_factor
fs, 0 = unshaded
Definition HeatData.hpp:246
double albedo
Rs, reference default.
Definition HeatData.hpp:245
int sw_ts_index
Index into ctx.tables under TIMESERIES; -1 otherwise.
Definition HeatData.hpp:276
double lw_reflection
RL.
Definition HeatData.hpp:251
double shortwave_wm2
Incoming solar Jin, W/m² (0 = night)
Definition HeatData.hpp:244
double emiss_landcover
εlc
Definition HeatData.hpp:249
ShortwaveMode sw_mode
Definition HeatData.hpp:274
double landcover_temp
Land-cover radiating temperature, °C. NaN ⇒ use air temperature.
Definition HeatData.hpp:270
double emiss_water
εw
Definition HeatData.hpp:248
[SEDIMENT_EXCHANGE] — the bed zone's material and geometry.
Definition BedZoneData.hpp:88
[SOLAR_RADIATION] — site geometry and Bird atmosphere (H6a).
Definition HeatData.hpp:174
double ozone_cm
Ozone column, cm (NTP)
Definition HeatData.hpp:201
double timezone_hours
Offset from UTC, +E (e.g. MST = -7).
Definition HeatData.hpp:177
bool has_timezone
Definition HeatData.hpp:183
double longitude_deg
+E. REQUIRED under COMPUTED.
Definition HeatData.hpp:176
bool has_elevation
Definition HeatData.hpp:194
double elevation_m
Definition HeatData.hpp:193
double aod380
Aerosol optical depth at 380 nm.
Definition HeatData.hpp:198
bool has_longitude
Definition HeatData.hpp:179
double precip_water_cm
Precipitable water vapour, cm.
Definition HeatData.hpp:200
double ground_albedo
Definition HeatData.hpp:202
bool has_latitude
Set by the parser, checked at close.
Definition HeatData.hpp:178
double latitude_deg
+N. REQUIRED under COMPUTED.
Definition HeatData.hpp:175
double aod500
Aerosol optical depth at 500 nm.
Definition HeatData.hpp:199