-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Labels
🏅 SDISoftware Design IssueSoftware Design Issue
Description
The Climate Modeling Alliance
Software Design Issue 📜
Purpose
We have identified various aspects of ClimaCoupler.jl that can be improved, including:
- moving code out of
experiments/and intosrc/ - splitting up the "AMIP" driver, which is currently the entry point for all simulations and as a result is quite complex
- allow constructing a
CoupledSimulationobject without explicitly supplying a config file/dict (using defaults)
These changes move towards ClimaCoupler.jl being usable as a package, rather than as an in-development piece of code mainly accessible by cloning the repository.
Cost/Benefits/Risks
- Benefits: lower barrier to entry for new users; more workflows supported; more readable code; increased test coverage; enhanced/updated documentation
- Risk: changed interfaces/workflows (will try to minimize this)
- Cost: developer time
People and Personnel
- Lead: @juliasloan25
- Collaborators: TBD
- Reviewers: TBD
Components
See the "Purpose" or "Tasks" sections for a list of components to the solution.
Inputs
The existing ClimaCoupler.jl package.
Results and Deliverables
- Maintain unchanged physical results
- Minimize code outside of src/
Tasks
- Move functions from
experiments/tosrc/#1610 - Move component model adapter code from
experiments/tosrc/(all ofexperiments/ClimaEarth/components/ - Add new constructors for
CoupledSimulation, which continue to support the existing interfaces, and also allow creating a simulation without a config file/dict, or by overwriting options in the constructor - Use these new constructors to simplify model setup, and provide drivers for common simulation types (AMIP, CMIP, slabplanet, terraplanet, etc)
- Update docs to clearly show how to run different setups with the new interface
- Potentially move drivers to a new folder (examples? drivers?)
SDI Revision Log
- 10 December 2025: SDI opened
CC
Metadata
Metadata
Assignees
Labels
🏅 SDISoftware Design IssueSoftware Design Issue