The package has lots of concepts that are 'per technology': M,R,G,A, but their syntax is inconsistent:
Naming
Sometimes we have M, R, G, A,
sometimes mitigate, remove, geoeng (abbreviated), adapt
Nested and flat
Sometimes we have nested properties:
climate_model.controls containing climate_model.controls.M, climate_model.controls.R, etc.,
and sometimes it is a flat structure:
climate_model.economics.mitigate_cost, climate_model.economics.remove_cost, etc.
Struct and Dict
For nested structures, sometimes we use a struct:
climate_model.controls.M
and sometimes we use a Dict:
optimize_controls!(m; max_slope=Dict("mitigate" => ...)
The package has lots of concepts that are 'per technology': M,R,G,A, but their syntax is inconsistent:
Naming
Sometimes we have
M,R,G,A,sometimes
mitigate,remove,geoeng(abbreviated),adaptNested and flat
Sometimes we have nested properties:
climate_model.controlscontainingclimate_model.controls.M,climate_model.controls.R, etc.,and sometimes it is a flat structure:
climate_model.economics.mitigate_cost,climate_model.economics.remove_cost, etc.Struct and Dict
For nested structures, sometimes we use a struct:
climate_model.controls.Mand sometimes we use a
Dict:optimize_controls!(m; max_slope=Dict("mitigate" => ...)