Closed declann closed 8 months ago
There are comments about the slopes in this example:
Second, we set upper limits on how quickly each control can be ramped up or down.
We can modify a similarly constructed max_slopes param by adding it to the call to optimize_controls inside opt_controls_temp
definition.
Supplementary information in the margo paper has the following:
Hey @declann! You suggested that the plots could visually indicate the max slope. Can you draw a picture of what you have in mind?
Sure @fonsp !
Looking at the interactive visuals under 'Mitigating emissions':
The initial view is probably ok, because the ramp up to full deployment takes ~40 years.
However, if I move the lever to the left it appears like full immediate deployment of mitigation but it isn't:
Further, we can't really know whats going on without inferring it backwards from the Emissions chart below it.
So, I think an overlay like this helps:
And, I think a note should explain that due to inertia and practicalities there is a limit to how fast mitigation can actually be ramped up.
Trying to keep changes low-key with that approach, what do you think?
Would need similar overlay in the 'Costs & damages' and CDR 'picking up the slack' interactions (including for CDR).
Ps: I'm reimplementing bits of the ClimateMARGO model in a new language calculang and developing different visuals and interactions - your notebooks are very helpful for inspiration/understanding the model and to figure about interacting with the Julia codebase, so thanks!
Hi @declann, thanks for pointing out this inconsistency between the apparent controls shown in the notebook and those actually employed in the underlying model instance.
I like both of your ideas of visualizing the max-deployment clamps to satisfy initial condition controls and also for allowing the clamps to be toggled on or off. I won't have the capacity to solve this for a while, but you're more than welcome to make a PR here if you think you know how to fix it.
Cool @hdrake
Right now it isn't feasible I do a PR on Julia/Plots.jl code but maybe I'll be able to do it eventually.
Sorry for going offtopic: I'm replicating some climatemargo numbers in a calculang model. Approach for my own interactives will be to derive mitigation control values from emissions projections. Those controls look like https://twitter.com/calculang/status/1716211017875706013 (source in vega editor but I will also add constant emissions controls)
I'll be going a bit outside climatemargo model intended scope (where I permit changing past emissions for instance), and will be sure to highlight that, and maybe not even report some economics outputs in new scenarios. I don't think I'll get optimization into this model in the immediate future, but hopefully will be able to add to interesting climate interactives - for simpler scenarios.
Thanks for the nice straightforward model to work and learn with!
Thanks! I fixed it in https://github.com/ClimateMARGO/interactive/commit/36331561243dc5d46e0d1bb97e5106ce3fc31f23 by applying the enforce_maxslope!
function to the controls before plotting them.
Thanks! I fixed it in 3633156 by applying the
enforce_maxslope!
function to the controls before plotting them.
Thanks, @fonsp, but it looks like the changes unfortunately broke https://margo.plutojl.org/introduction.html!
Sorry! Fixed again yesterday
On appearances
introduction.jl
allows me to set a full immediate deployment of mitigation (the kind of thing I do immediately to interpret a model).However, the controls are clamped behind the scenes in
enforce_maxslope
.To make the user aware of this clamping behavior the control plots could indicate the clamped deployments. Alternatively we could remove the clamps altogether and/or describe them with a toggle button - I think justifying them is a good idea anyways? The notebook is otherwise very informative about the mechanics!
Removing the call to
enforce_maxslope
inforward_controls_temp
gives me sight of a cost analysis for complete mitigation and there is always a net benefit. This causes issues in the optimization step for a temperature target (higher temperatures unreachable). Clearly, this is a really significant feature in the model to surface visually and make the user fully aware.