From 6775dfcb272825f06bb3901efdbd96f0864545da Mon Sep 17 00:00:00 2001 From: Shrek Requiem Date: Sun, 16 Feb 2025 13:44:09 -0500 Subject: [PATCH] mdl convert --- python/src/convert_mdl.py | 3 + vensim/__pycache__/bes.cpython-312.pyc | Bin 0 -> 19707 bytes vensim/bes.py | 692 +++++++++++++++++++++++++ 3 files changed, 695 insertions(+) create mode 100644 python/src/convert_mdl.py create mode 100644 vensim/__pycache__/bes.cpython-312.pyc create mode 100644 vensim/bes.py diff --git a/python/src/convert_mdl.py b/python/src/convert_mdl.py new file mode 100644 index 0000000..b1d2523 --- /dev/null +++ b/python/src/convert_mdl.py @@ -0,0 +1,3 @@ +import pysd + +model = pysd.read_vensim('./vensim/bes.mdl') diff --git a/vensim/__pycache__/bes.cpython-312.pyc b/vensim/__pycache__/bes.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5307576f7b164f4d770d471f7032cca8b4bbf84e GIT binary patch literal 19707 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