Julia implementation of MARGO, an idealized climate-economic modelling framework for Optimizing trade-offs between emissions Mitigation, Adaptation, carbon dioxide Removal, and solar Geoengineering.
Currently the optimization is strictly deterministic. While uncertainty propagation can be explored before or after optimization, this approach does not permit stochastic optimization, or optimization under deep uncertainty, which is an inherent feature of the climate problem.
In more complicated IAMs like DICE, this approach is futile because the computational complexity of the model and the dimensions of uncertainty are too high, such that tens of millions of samples would be required to converge on a meaningful optimal solution (see papers on the DSICE implementation by Cai and collaborators– their FORTRAN implementation can be requested from Cai by email). Thankfully, MARGO seems simple enough that this naive SSA-MC approach will likely be feasible, enough without parallelization and on a standard laptop.
Currently the optimization is strictly deterministic. While uncertainty propagation can be explored before or after optimization, this approach does not permit stochastic optimization, or optimization under deep uncertainty, which is an inherent feature of the climate problem.
A naive approach is the Sample Average Approximation by brute-force Monte Carlo simulation (SSA-MC). A preliminary version of this algorithm was implemented in a much older version of MARGO, but was temporarily deprecated to focus on the deterministic case for the v1.0.0 release.
In more complicated IAMs like DICE, this approach is futile because the computational complexity of the model and the dimensions of uncertainty are too high, such that tens of millions of samples would be required to converge on a meaningful optimal solution (see papers on the DSICE implementation by Cai and collaborators– their FORTRAN implementation can be requested from Cai by email). Thankfully, MARGO seems simple enough that this naive SSA-MC approach will likely be feasible, enough without parallelization and on a standard laptop.