Table of Contents
The execution model of CoLMTO, developed to conduct my simulation studies, is depicted in the following figure:
The CoLMTO Simulation Architecture as of release v0.1.1
- Python 3.7, with the following packages (will be installed during the install process):
- defusedxml
- h5py
- lxml
- matplotlib
- nose
- PyYAML
- sh
- sphinx_rtd_theme (documentation)
- pygments-style-solarized (documentation)
- libhdf5
- libxml
- libyaml
- SUMO (as provided by build instructions for MacOS, Linux, Windows. Also see required libraries)
git clone --recursive https://gitlab.com/ascm/colmto.git
The version of SUMO currently used for my research is referenced as a submodule (hence the --recursive
option above).
Feel free to use any other version, but make sure to set the SUMO_HOME
environment variable correctly.
sudo portmaster devel/git lang/python36 devel/autoconf textproc/xerces-c3 graphics/proj graphics/gdal x11-toolkits/fox16
cd colmto/sumo/sumo
make -f Makefile.cvs
./configure CXX=clang++ --with-xerces-libraries=/usr/local/lib --with-proj-libraries=/usr/local/lib --with-proj-includes=/usr/local/include --with-fox-config=/usr/local/bin/fox-config --enable-pic
make -j $(getconf NPROCESSORS_CONF)
brew install Caskroom/cask/xquartz autoconf automake gdal proj xerces-c fox
export CPPFLAGS="$CPPFLAGS -I/opt/X11/include/"
export LDFLAGS="-L/opt/X11/lib"
cd colmto/sumo/sumo
make -f Makefile.cvs
./configure --with-xerces=/usr/local --with-proj-gdal=/usr/local --enable-pic
make -j $(getconf NPROCESSORS_CONF)
sudo apt-get install autoconf libproj-dev proj-bin proj-data libtool libgdal-dev libxerces-c-dev libfox-1.6-0 libfox-1.6-dev
cd colmto/sumo/sumo
make -f Makefile.cvs
./configure --enable-pic
make -j $(getconf NPROCESSORS_CONF)
sudo portmaster devel/py-pip@py36 math/py-numpy@py36 science/py-h5py@py36 math/py-matplotlib@py36 textproc/libyaml lang/gcc math/openblas math/atlas math/lapack science/hdf5 print/freetype2
brew install libxml2 homebrew/science/hdf5 libyaml
sudo apt-get install libyaml-dev libxslt1-dev
On OSes with include paths other than /usr/include,
e.g., FreeBSD, MacOS export CPPFLAGS
(adjust accordingly):
export CPPFLAGS="-I/usr/local/include"
Install dependencies via pip3 (append --prefix=
on MacOS)
pip3.7 install -r requirements.txt --user
Build package
python3.7 setup.py build
Run unit tests
python3.7 setup.py test
Install (local)
python3.7 setup.py install --user
You can run CoLMTO directly as a script, providing your local python install directory is in your $PATH
:
Keep in mind to set SUMO_HOME
accordingly:
export SUMO_HOME=~/colmto/sumo/sumo # adjust accordingly
colmto --runs 1
If you have not installed CoLMTO in the previous section, run it inside the project directory as module.
cd colmto
python3.7 -m colmto --runs 1
Upon first start CoLMTO creates YAML formatted default configurations and its log file in ~/.colmto/
:
~/.colmto/
├── colmto.log
├── runconfig.yaml
├── scenarioconfig.yaml
└── vtypesconfig.yaml
Further help on command line options can be obtained by running
colmto --help
- Copyright 2018, Malte Aschermann
- License: LGPL