example_excel.py

 1"""
 2Created on 27 Jul. 2011
 3
 4This file illustrated the use the EMA classes for a model in Excel.
 5
 6It used the excel file provided by
 7`A. Sharov <https://home.comcast.net/~sharov/PopEcol/lec10/fullmod.html>`_
 8
 9This excel file implements a simple predator prey model.
10
11.. codeauthor:: jhkwakkel <j.h.kwakkel (at) tudelft (dot) nl>
12"""
13
14from ema_workbench import RealParameter, TimeSeriesOutcome, ema_logging, perform_experiments
15
16from ema_workbench.connectors.excel import ExcelModel
17from ema_workbench.em_framework.evaluators import MultiprocessingEvaluator
18
19if __name__ == "__main__":
20    ema_logging.log_to_stderr(level=ema_logging.INFO)
21
22    model = ExcelModel("predatorPrey", wd="./models/excelModel", model_file="excel example.xlsx")
23    model.uncertainties = [
24        RealParameter("K2", 0.01, 0.2),
25        # we can refer to a cell in the normal way
26        # we can also use named cells
27        RealParameter("KKK", 450, 550),
28        RealParameter("rP", 0.05, 0.15),
29        RealParameter("aaa", 0.00001, 0.25),
30        RealParameter("tH", 0.45, 0.55),
31        RealParameter("kk", 0.1, 0.3),
32    ]
33
34    # specification of the outcomes
35    model.outcomes = [
36        TimeSeriesOutcome("B4:B1076"),
37        # we can refer to a range in the normal way
38        TimeSeriesOutcome("P_t"),
39    ]  # we can also use named range
40
41    # name of the sheet
42    model.default_sheet = "Sheet1"
43
44    with MultiprocessingEvaluator(model) as evaluator:
45        results = perform_experiments(model, 100, reporting_interval=1, evaluator=evaluator)