-
Notifications
You must be signed in to change notification settings - Fork 5
Coupler Conventions
Julia Sloan edited this page Apr 10, 2024
·
1 revision
- all vertical fluxes: upward positive
- mask: contains only 0s and 1s; otherwise refer to as area fraction
- bang
functions!
: = first argument is the one being modified. -
get_...
= no allocations -
src/
functions have no dependency on component model data structure (e.g.,integrator.u.c.u
) - variables in functions - shall we create pointers at the beginning and then be less verbose in the function operations?
- decide on what nomenclature and units we want to support for the coupler fields, and list them here
- docs: show internal functions?
- we shouldn't use magic numbers - e.g.
1309
here
- if using a Clima package that we commonly use, use
import PackageName as PN
(e.g. ClimaAtmos -> CA, SurfaceFluxes -> SF; see package shorthands below) - if using an external package, use
import PackageName
(e.g. for Dates or JLD2) - if using a module within ClimaCoupler, use
import ClimaCoupler: Module1, Module2, ...
, and qualify functions/structs within the code usingModule1.___
,Module2.___
, etc - maintain flexibility within this approach, especially to prevent the need to qualify e.g. macros or symbols we use from other packages
- ClimaAtmos -> CA
- ClimaCore -> CC
- ClimaCoreTempestRemap -> CCTR
- ClimaLand -> CL
- SurfaceFluxes -> SF
- Thermodynamics -> TD
- ClimaAnalysis -> CAN