Julia implementation of MARGO, an idealized climate-economic modelling framework for Optimizing trade-offs between emissions Mitigation, Adaptation, carbon dioxide Removal, and solar Geoengineering.
Right now, margo's optimization is done using JuMP, but we want to use NLOpt.jl instead. The two reasons are:
Currently, the model has to be written twice in the source code of ClimateMARGO.jl: once in Julia functions, and once in the JuMP syntax. We tried calling the Julia functions from JuMP to avoid this problem, but the performance impact of connecting the two is too large: https://github.com/ClimateMARGO/ClimateMARGO.jl/issues/18
JuMP will find a local optimum, but we want a global optimum. We suspect that the current local optima are global, but for different parameter values, this might not be the case. NLOpt.jl can do global optimization. (@hdrake can say more)
Right now, margo's optimization is done using JuMP, but we want to use NLOpt.jl instead. The two reasons are: