ClimateMARGO / ClimateMARGO.jl

Julia implementation of MARGO, an idealized climate-economic modelling framework for Optimizing trade-offs between emissions Mitigation, Adaptation, carbon dioxide Removal, and solar Geoengineering.
https://margo.plutojl.org/
MIT License
67 stars 13 forks source link

(For API) Option to disable pyplot using ENV variable #53

Closed fonsp closed 3 years ago

fonsp commented 3 years ago

This does not change anything when Margo is loaded normally, but our webapp API can set the environment variable JULIA_MARGO_LOAD_PYPLOT to "no thank you" to skip loading /src/Plotting/*.


I also removed IJulia and PyCall from the Project.toml because we don't use them directly. This also does not change anything, it just cleans up the bookkeeping:

IJulia: Margo will still work with IJulia (i.e. Jupyter) because you load Margo from Jupyter, not the other way around. Binder will also still work, because Binder always adds the IJulia dependency itself.

PyCall: only used indirectly by PyPlot, which is still a dependency, so nothing changes.

fonsp commented 3 years ago

This means that we can use the hdrake master branch directly in the API. 😊

Until now, I always maintained a fork of hdrake#master where I manually stripped out this code. I also mentioned rewriting the plotting code to Plots.jl instead of PyPlot.jl, but both are no longer necessary.

hdrake commented 3 years ago

Awesome!