-
Notifications
You must be signed in to change notification settings - Fork 25
MARBL Design Document
Michael Levy edited this page Apr 25, 2016
·
6 revisions
Very Rough Draft!
Split into routines: sflux, interior, init
- GCM State
- Tracers
- Forcing
- Domain / vertical grid (may be time-varying, option for static?)
- Surface Fluxes
- Tracer Tendencies
- Saved State
- Diagnostics
- Namelist / Configuration
- High level config: Option A vs B vs C (turning on / off ciso)
- Low level config: saturation constants / other parameters
- Is passing namelist string across API acceptable?
- Metadata
- MARBL needs to know what the intent(in) data represents
- GCM needs to know where to intent(out) data represents
The top two categories are clear, I think the current hang-up is how to handle initialization (POP is happy letting MARBL set everything up, MPAS needs a way to tell MARBL how things are already set up). Alternative: MARBL makes decisions, but GCM confirms handshake (make sure everything lines up)
- MARBL's BGC configuration can be changed without modifying the GCM driver interface
- One way to do this is for MARBL to be solely responsible for its configuration (for instance, parsing namelist input)
- MARBL will provide routines to allow the GCM [read / maybe write?] access to parameters used in a particular run