Source code for pymagicc

from ._version import get_versions
from .core import MAGICC6, MAGICC7  # noqa
from .io import MAGICCData  # noqa
from .scenarios import (  # noqa
    rcp26,
    rcp45,
    rcp60,
    rcp85,
    rcps,
    read_scen_file,
    zero_emissions,
)

__version__ = get_versions()["version"]
del get_versions


[docs]def run(scenario, magicc_version=6, **kwargs): """ Run a MAGICC scenario and return output data and (optionally) config parameters. As a reminder, putting ``out_parameters=1`` will cause MAGICC to write out its parameters into ``out/PARAMETERS.OUT`` and they will then be read into ``output.metadata["parameters"]`` where ``output`` is the returned object. Parameters ---------- scenario : :obj:`pymagicc.io.MAGICCData` Scenario to run magicc_version : int MAGICC version to use for the run **kwargs Parameters overwriting default parameters Raises ------ ValueError If the magicc_version is not available Returns ------- output : :obj:`pymagicc.io.MAGICCData` Output of the run with the data in the ``df`` attribute and parameters and other metadata in the ``metadata attribute`` """ if magicc_version == 6: magicc_cls = MAGICC6 elif magicc_version == 7: magicc_cls = MAGICC7 else: raise ValueError("MAGICC version {} is not available".format(magicc_version)) with magicc_cls() as magicc: results = magicc.run(scenario=scenario, **kwargs) return results