You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Like @mathewvrothstein has done for WaterStateType, we want to separate WaterFluxType into (1) a base class that applies to tracers as well as bulk water, and (2) a "bulk" class that inherits from the base class and just applies to bulk water.
The text was updated successfully, but these errors were encountered:
Rework water data types to accommodate isotopes and other tracers
This tag reworks the various water data types to allow having multiple
instances of variables that are needed for isotopes and other water
tracers.
Specific changes include:
(1) Separated "water state" variables into state, diagnostic and balance
check-related variables. This separation was not essential for the
work here, but was desired by Martyn Clark and others.
(2) For each of water state, diagnostic and flux variables, separated
variables into those needed for both bulk and tracers vs. those only
needed for bulk. This way, we can have multiple instances of the
variables needed by tracers, but only a single instance of variables
that only apply to bulk water. This follows the design laid out in
ESCOMP#395. The separation was based
largely on what was done in the old water isotope branch; we didn't
put a lot of thought into this, because the new design allows us to
easily migrate variables between bulk-only and bulk-and-tracer as
needed.
(3) Moved water fluxes that were defined in science modules back into
waterflux_type or waterfluxbulk_type. This was needed for (2); there
is more discussion on this in
ESCOMP#395 and the log message for
commit 711e5cd.
(4) Introduced a top-level water_type that holds instances of all of the
other water-related objects. This follows the design laid out in
ESCOMP#395. This is particularly
valuable for the tracer instances: the logic related to number of
tracers can be encapsulated in water_type, rather than infiltrating
clm_instMod.
(5) Added placeholders for water tracer instances
(6) Added infrastructure to generate history / restart field names for
the tracer instances. Eventually, the isotope class can also hold
information specific to each isotope.
This work was a joint effort between Mathew Rothstein and myself; Mat
gets much of the credit for the actual refactoring done here.
Issues fixed (include CTSM Issue #):
- FixesESCOMP#358 (Separate WaterStateType into multiple types)
- FixesESCOMP#434 (Separate WaterFluxType into a base class and a class that just applies to bulk)
- FixesESCOMP#359 (Set up infrastructure for multiple instances of WaterState and WaterFlux types)
- FixesESCOMP#458 (Implement handling of history and restart variables for water tracers)
mariuslam
pushed a commit
to NordicESMhub/ctsm
that referenced
this issue
Aug 26, 2019
Like @mathewvrothstein has done for WaterStateType, we want to separate WaterFluxType into (1) a base class that applies to tracers as well as bulk water, and (2) a "bulk" class that inherits from the base class and just applies to bulk water.
The text was updated successfully, but these errors were encountered: