56#ifndef OPENSWMM_ENGINE_DATA_HEAT_DATA_HPP
57#define OPENSWMM_ENGINE_DATA_HEAT_DATA_HPP
288 std::vector<HeatOverrideRow>
rows;
547 void resize(
int n_nodes,
int n_links,
double initial_temp) {
552 node_temp.assign(
static_cast<std::size_t
>(n_nodes), initial_temp);
553 link_temp.assign(
static_cast<std::size_t
>(n_links), initial_temp);
574 const auto n =
static_cast<std::size_t
>(n_subcatch);
593 static_cast<std::size_t
>(n_subcatch) *
static_cast<std::size_t
>(
kNSubArea);
Plan H6b — the bed / hyporheic transient-storage zone.
Plan PE — per-element radiative and bed attributes.
Definition ExchangeLaw.hpp:60
DryTempPolicy
What a dry or absent element reports (plan D-H5c, user 2026-08-19).
Definition HeatData.hpp:98
@ HOLD
Definition HeatData.hpp:101
@ AIR
Definition HeatData.hpp:104
@ DEFAULT
Definition HeatData.hpp:107
HeatSubArea
Definition HeatData.hpp:88
@ IMPERV0
Definition HeatData.hpp:88
@ COUNT_
Definition HeatData.hpp:88
@ IMPERV1
Definition HeatData.hpp:88
@ PERV
Definition HeatData.hpp:88
@ 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:146
@ COMPUTED
SHORTWAVE GLOBAL COMPUTED — position + clear-sky.
Definition HeatData.hpp:149
@ CONSTANT
SHORTWAVE GLOBAL <W/m²> — the H3 spelling.
Definition HeatData.hpp:147
[CLOUD_COVER] — one fraction driving two modules (H6a, D-H6a-2).
Definition HeatData.hpp:217
double sw_atten_n
Kasten–Czeplak n.
Definition HeatData.hpp:224
double fraction
C ∈ [0,1], constant spelling.
Definition HeatData.hpp:221
int ts_index
Index into ctx.tables, -1 = none.
Definition HeatData.hpp:220
double sw_atten_k
Kasten–Czeplak k.
Definition HeatData.hpp:223
bool use_timeseries
Definition HeatData.hpp:219
double lw_cloud_k
Bolz k_lw.
Definition HeatData.hpp:225
bool configured
No [CLOUD_COVER] section → clear sky.
Definition HeatData.hpp:218
Vertical conduction between LID layers (plan §6.1 D-H5b, H5b).
Definition HeatData.hpp:129
double sed_specific_heat
J/kg/K (gwmodel.cpp:52)
Definition HeatData.hpp:133
double water_conductivity
W/m/K (gwmodel.h:885)
Definition HeatData.hpp:130
double sed_density
kg/m³ (gwmodel.cpp:51)
Definition HeatData.hpp:132
double sed_conductivity
W/m/K (gwmodel.h:886)
Definition HeatData.hpp:131
Parsed model.heat state (heat component, phase H1).
Definition HeatData.hpp:324
bool configured_source[static_cast< int >(HeatSource::COUNT_)]
Whether the user set this source explicitly (vs. taking the default).
Definition HeatData.hpp:394
SolarConfig solar
Definition HeatData.hpp:379
ConductionConfig conduction
Parameters for the module above.
Definition HeatData.hpp:355
bool radiative_exchange
Definition HeatData.hpp:329
double global_temp[static_cast< int >(HeatSource::COUNT_)]
GLOBAL inlet temperature per source, °C.
Definition HeatData.hpp:389
bool sediment_exchange
Definition HeatData.hpp:364
RadiativeConfig radiative
Parameters for the module above.
Definition HeatData.hpp:332
HeatOverrideData overrides
Definition HeatData.hpp:375
static constexpr double kDefaultTemp
Default inlet temperature when a source has no row (°C).
Definition HeatData.hpp:386
DryTempPolicy dry_temp_policy
[HEAT_FLUXES] DRY_ELEMENT_TEMPERATURE HOLD|AIR|DEFAULT (D-H5c).
Definition HeatData.hpp:347
std::vector< int > node_over_source
HeatSource as int.
Definition HeatData.hpp:397
bool surface_exchange
[HEAT_FLUXES] SURFACE_EXCHANGE ON — latent + sensible exchange at the free surface (plan §2....
Definition HeatData.hpp:344
std::vector< double > node_over_temp
°C
Definition HeatData.hpp:399
bool configured
Definition HeatData.hpp:325
bool layer_conduction
Definition HeatData.hpp:352
double source_temp(HeatSource s, int node) const noexcept
Read the first matching node/source temperature override or global fallback.
Definition HeatData.hpp:411
CloudConfig cloud
Definition HeatData.hpp:383
SedimentConfig sediment
Definition HeatData.hpp:371
std::vector< int > node_over_node
node index
Definition HeatData.hpp:398
Dense per-element attribute storage (PE2, D-PE2).
Definition HeatData.hpp:287
std::vector< SedimentConfig > sed_link
[link], empty ⇒ use global
Definition HeatData.hpp:292
std::vector< SedimentConfig > sed_cell
[surface mesh cell], not ARD cells
Definition HeatData.hpp:294
bool empty() const noexcept
Test whether authored heat-override rows are absent.
Definition HeatData.hpp:302
std::vector< HeatOverrideRow > rows
as parsed; the serializer's input
Definition HeatData.hpp:288
std::vector< RadiativeConfig > rad_node
[node], empty ⇒ use global
Definition HeatData.hpp:291
std::vector< RadiativeConfig > rad_cell
[surface mesh cell]
Definition HeatData.hpp:293
std::vector< RadiativeConfig > rad_link
[link], empty ⇒ use global
Definition HeatData.hpp:290
bool resolved
Definition HeatData.hpp:296
void clear()
Reset authored and resolved heat-override storage.
Definition HeatData.hpp:309
Runtime heat state shared by the engines (phase H1).
Definition HeatData.hpp:427
std::vector< double > subarea_temp
[subcatch * kNSubArea + subarea], °C — ponded surface temperature.
Definition HeatData.hpp:485
static constexpr int kNSubArea
Definition HeatData.hpp:533
std::vector< double > link_temp
[link], °C
Definition HeatData.hpp:439
bool legacy_seeded
The LEGACY mirror seeds INITIAL_STATE on its first step.
Definition HeatData.hpp:442
std::vector< double > subcatch_runoff_temp
[subcatch], °C — temperature the subcatchment's runoff leaves at.
Definition HeatData.hpp:491
bool watershedSized(int n_subcatch) const noexcept
Check the length of the subarea temperature vector only.
Definition HeatData.hpp:591
std::vector< double > subcatch_lid_drain_temp_cfs
Definition HeatData.hpp:531
std::vector< double > node_temp_vol_in
Definition HeatData.hpp:429
std::vector< double > node_lid_drain_temp_vol_in
Definition HeatData.hpp:437
double cloud_now
Cloud fraction at the current step, C ∈ [0,1]. 0 = clear.
Definition HeatData.hpp:474
std::vector< double > node_temp
[node], °C
Definition HeatData.hpp:438
std::vector< unsigned char > mesh_contact_link
Empty in prescribed compatibility mode.
Definition HeatData.hpp:428
std::vector< double > subcatch_outfall_temp_vol
Definition HeatData.hpp:524
void resize(int n_nodes, int n_links, double initial_temp)
Replace network heat arrays and reset current forcing caches.
Definition HeatData.hpp:547
std::vector< double > subcatch_runon_temp_rate
Definition HeatData.hpp:517
std::vector< double > subarea_vol_prev
Definition HeatData.hpp:489
void clear()
Release all network/watershed heat state and restore cache sentinels.
Definition HeatData.hpp:602
void resizeWatershed(int n_subcatch, double initial_temp)
Replace subcatchment heat arrays and their three-subarea histories.
Definition HeatData.hpp:573
double shortwave_now
Definition HeatData.hpp:472
std::vector< double > subcatch_runon_temp_vol_in
Definition HeatData.hpp:495
[RADIATIVE_FLUXES] parameters (heat plan §2.2, phase H3).
Definition HeatData.hpp:237
double sky_view
fsky, 1 = open sky
Definition HeatData.hpp:241
double atm_emiss_coeff
Brunt Aa.
Definition HeatData.hpp:244
double shade_factor
fs, 0 = unshaded
Definition HeatData.hpp:240
double albedo
Rs, reference default.
Definition HeatData.hpp:239
int sw_ts_index
Index into ctx.tables under TIMESERIES; -1 otherwise.
Definition HeatData.hpp:270
double lw_reflection
RL.
Definition HeatData.hpp:245
double shortwave_wm2
Incoming solar Jin, W/m² (0 = night)
Definition HeatData.hpp:238
double emiss_landcover
εlc
Definition HeatData.hpp:243
ShortwaveMode sw_mode
Definition HeatData.hpp:268
double landcover_temp
Land-cover radiating temperature, °C. NaN ⇒ use air temperature.
Definition HeatData.hpp:264
double emiss_water
εw
Definition HeatData.hpp:242
[SEDIMENT_EXCHANGE] — the bed zone's material and geometry.
Definition BedZoneData.hpp:88
[SOLAR_RADIATION] — site geometry and Bird atmosphere (H6a).
Definition HeatData.hpp:168
double ozone_cm
Ozone column, cm (NTP)
Definition HeatData.hpp:195
double timezone_hours
Offset from UTC, +E (e.g. MST = -7).
Definition HeatData.hpp:171
bool has_timezone
Definition HeatData.hpp:177
double longitude_deg
+E. REQUIRED under COMPUTED.
Definition HeatData.hpp:170
bool has_elevation
Definition HeatData.hpp:188
double elevation_m
Definition HeatData.hpp:187
double aod380
Aerosol optical depth at 380 nm.
Definition HeatData.hpp:192
bool has_longitude
Definition HeatData.hpp:173
double precip_water_cm
Precipitable water vapour, cm.
Definition HeatData.hpp:194
double ground_albedo
Definition HeatData.hpp:196
bool has_latitude
Set by the parser, checked at close.
Definition HeatData.hpp:172
double latitude_deg
+N. REQUIRED under COMPUTED.
Definition HeatData.hpp:169
double aod500
Aerosol optical depth at 500 nm.
Definition HeatData.hpp:193