CliMA / ClimaCoupler.jl

ClimaCoupler: bringing atmosphere, land, and ocean together
Apache License 2.0
25 stars 3 forks source link

O5.1.x (coupler) Software Improvements for ClimaCoupler #516

Open juliasloan25 opened 10 months ago

juliasloan25 commented 10 months ago

The Climate Modeling Alliance

Software Design Issue 📜

Purpose

We are planning an initial release of ClimaCoupler.jl v0.1.0, which will include some software revamps (see #358). There are additional improvements to our codebase that need to be made, but will be done after this release to break down the tasks we have into more manageable chunks. These are lower priority items, so there isn't a big focus on these.

Cost/Benefits/Risks

b: streamlining AMIP delivery, higher code quality c: developer time

People and Personnel

Components

Inputs

This SDI follows from #358 and will be worked on in parallel with #367 and #390

Results and Deliverables

QA

SDI Revision Log

Proposed Delivery Date

31 October 2024

CC

@tapios @cmbengue

### clean up coupler interface
- [ ] https://github.com/CliMA/ClimaCoupler.jl/issues/335
- [ ] https://github.com/CliMA/ClimaCoupler.jl/issues/331
- [ ] https://github.com/CliMA/ClimaCoupler.jl/issues/336
### unify coupler/atmos interaction
- [ ] https://github.com/CliMA/ClimaCoupler.jl/issues/445
- [ ] atmos: `set_precomputed_quantities` not called so EDMF breaks since it steps during init, unless hardcoded fluxes at t=0 [ask Dennis]
- [ ] atmos: `MoistNonEquil` surface thermo state is hardcoded now - want to be able to use other types
- [ ] atmos: need separation between flux inputs setting and calculation - want to be able to set atmos state, then calculate fluxes later (but atmos automatically calcs flux when setting IC)
- [ ] coupler: simplify the init and exchange of fields after Atmos interface revamp - init in 5 lines: 1) get integrator state of each model, 2) exchange all states, 3) compute misc aux (e.g., q_sfc - though also abstractable), 4) calculate fluxes, 5) exchange fluxes
### miscellaneous
- [ ] https://github.com/CliMA/ClimaCoupler.jl/issues/406
### separate surface flux calculation from states
- [ ] https://github.com/CliMA/ClimaCoupler.jl/issues/479
tapios commented 9 months ago

Looks good to me.