The mission of Project Drawdown is to help the world reach “Drawdown”— the point in the future when levels of greenhouse gases in the atmosphere stop climbing and start to steadily decline, thereby stopping catastrophic climate change — as quickly, safely, and equitably as possible.
Create a new code directory called meta_model that has things that manage our data but are not domain specific. Things like caching, integration support, and so forth. When we do the data mediator, it will go here.
Split the implementation of AdvancedControls in two: ParameterCollection is in meta_model and has the code that handles both global variables and VMA substitution.
Draft implementation of ParameterCollection, which simplifies (and drops some features from) VMA substitution, adds global variables, adds support for "additional fields", and makes individual fields able to declare verifiers/initializers.
Things I need to do before we can even run the code:
Complete the implementation of AdvancedControls as inheriting from ParameterCollection
Fix up all the package references between model and meta_model
Fix up the initialization of VMAs so that the solutions define which VMAs go with which parameters.
Complete the code path for reading and writing ac objects.
Beyond that:
Implement pytest fixtures to extract certain values from expected.zip and set them explicitly.
Other things I want to do as well:
Move the list of VMA declarations in __init__.py into a json file, just like the adoptions and tams.
Move the "fixed summaries" of VMAs into the VMA metadata
Rename AdvancedControls --> ScenarioParameters or something like that.
Unify treatment of parameters between old-style models and the new ocean models.
What is here:
Things I need to do before we can even run the code:
Beyond that:
Other things I want to do as well:
__init__.py
into a json file, just like the adoptions and tams.