feat(simulation): hydrosphere maritime moderation of temperature (T-1033, D-240)
Add the D-240 hydrosphere modulator: water-rich worlds compress the equator->pole temperature gradient toward the band midpoint (milder at both ends); dry worlds swing the full class band. - [hydrosphere_maritime] table in climate_constants.toml + ClimateConstants field/method (maritime_factor). Keyed on the ACTUAL bodies.hydrosphere vocab (liquid_water/ocean/extensive=0.6, rivers/moderate=0.8, ice=0.85, subsurface* =0.9-0.95; minimal/trace/none/NULL -> 1.0). - derive_temperature_c step 2 now lerps across a maritime-compressed sub-band (mid +/- band_half*factor) instead of the full band. Clamp still guarantees the class-band invariant. - New maritime_hydrosphere_compresses_the_gradient test (ocean delta < dry delta). Verified on real worlds: liquid_water/ocean temperate worlds now delta ~24 (milder) vs dry ~40, all in-band. cargo test passes, clippy -D warnings clean, fmt clean. Note: discovered derive_moisture_q has the SAME vocab mismatch (expects 'ocean', DB uses 'liquid_water' for 175 bodies -> falls to default moisture). Pre-existing, out of scope here — filing a follow-up. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -65,3 +65,22 @@ standard = 15 # ~15°C: Earth-like moderate swing
|
||||
toxic = 20 # intermediate: thick but maybe less redistribution
|
||||
breathable = 15 # synonym for standard
|
||||
dense = 3 # ~3°C: Venus-like near-uniform temperature
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
[hydrosphere_maritime]
|
||||
# Maritime moderation (D-240): scales the equator→pole temperature gradient by
|
||||
# hydrosphere. 1.0 = full gradient (dry world swings the whole class band);
|
||||
# < 1.0 compresses toward the band midpoint (water-rich worlds are milder at
|
||||
# both poles and equator). Keys = actual bodies.hydrosphere vocabulary in
|
||||
# systems.db. "minimal"/"trace"/"none"/absent default to 1.0 in code.
|
||||
liquid_water = 0.6 # large surface liquid — strongly moderated
|
||||
ocean = 0.6
|
||||
"ocean-coastal" = 0.6
|
||||
extensive = 0.6
|
||||
rivers = 0.8 # partial surface water — mild moderation
|
||||
"rivers-lakes" = 0.8
|
||||
moderate = 0.8
|
||||
ice = 0.85 # frozen surface — slight moderation
|
||||
subsurface_liquid = 0.9
|
||||
subsurface = 0.95 # buried water — minimal surface effect
|
||||
subsurface_ice = 0.95
|
||||
|
||||
Reference in New Issue
Block a user