Skip to content

Conversation

@juliasloan25
Copy link
Member

@juliasloan25 juliasloan25 commented Oct 31, 2025

Purpose

Get parameters from ClimaParams instead of hardcoding them in ClimaCoupler.

Note that any parameter overrides specified in parameter_files are now applied at the coupler level (in the driver), then passed to component models as a TOML dict. This might change interfaces for calibration and/or weather quest.

closes #1520
closes #1372

A step towards #342 - see that issue for next steps

Content

  • parameters to get from CP
    • sigma (Stefan Boltzmann constant)
    • C_to_K
    • thermo_params
    • planet radius (note this was previously wrong when we constructed a boundary space independent of the atmosphere space, i.e. share_surface_space = false)
  • add constructors for prescribed ice and slab ocean parameters that take in a toml dict
  • for bucket and land constructors, take in a toml dict instead of a list of parameter files (parameters from these files are overriden at the coupler level now)
  • confirmed that buildkite plots are unchanged as compared to main

To Do

remaining:
atmos accepting a toml dict (maybe can just call AtmosConfig directly)
oceananigans/climaseaice accepting a toml dict of parameters
add tests to verify that components are using the same values

@juliasloan25 juliasloan25 force-pushed the js/climaparams branch 5 times, most recently from 05553da to 0f5c7bd Compare November 6, 2025 00:05
@juliasloan25
Copy link
Member Author

@costachris do you think this PR addresses #1491 or is there more work to be done for that?

Copy link
Member

@nefrathenrici nefrathenrici left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! This looks good, though I'm a bit confused by the planet radius units.

Copy link
Member

@szy21 szy21 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's nice that we don't hardcode the parameters now! It would be great if in the end we can have one toml file that controls everything.

@juliasloan25
Copy link
Member Author

It's nice that we don't hardcode the parameters now! It would be great if in the end we can have one toml file that controls everything.

Agreed! I updated this paramter-related issue to be more specific about what we want #342

@juliasloan25 juliasloan25 merged commit 14f2448 into main Nov 7, 2025
14 checks passed
@juliasloan25 juliasloan25 deleted the js/climaparams branch November 7, 2025 22:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Don't hardcode constants get boundary space radius from ClimaParams

4 participants