diff --git a/mlt_modules.sh b/mlt_modules.sh
new file mode 100755
index 0000000000000000000000000000000000000000..d20b246d4f396363a23e68d64f89b6d3abaee8c4
--- /dev/null
+++ b/mlt_modules.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+# __author__ = Felix Kleinert
+# __date__  = '2020-04-06'
+
+# This script loads the required modules for mlt which are available on JUWELS. 
+# Note that some other packages have to be installed into a venv (see setup_venv.sh).
+
+module --force purge
+module use $OTHERSTAGES
+
+ml Stages/Devel-2019a
+ml GCCcore/.8.3.0
+
+ml Jupyter/2019a-Python-3.6.8
+ml Python/3.6.8
+ml TensorFlow/1.13.1-GPU-Python-3.6.8
+ml Keras/2.2.4-GPU-Python-3.6.8
+ml SciPy-Stack/2019a-Python-3.6.8
+ml dask/1.1.5-Python-3.6.8
+ml GEOS/3.7.1-Python-3.6.8
+ml Graphviz/2.40.1
\ No newline at end of file
diff --git a/setup_venv.sh b/setup_venv.sh
new file mode 100755
index 0000000000000000000000000000000000000000..c740d587a2307201bda9e0d6eb3b1715c2d66629
--- /dev/null
+++ b/setup_venv.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+# __author__ = Felix Kleinert
+# __date__  = '2020-04-06'
+
+# This script creates a virtual env which contains all modules which are not available via slrum/easybuild (see mlt_modules.sh)
+
+# load existing modules
+source mlt_modules.sh
+
+# create venv 
+python3 -m venv venv
+
+source venv/bin/activate
+
+# export path for side-packages 
+export PYTHONPATH=${PWD}/venv/lib/python3.6/site-packages:${PYTHONPATH}
+
+pip install -r requirements_JUWELS_outcommented.txt
+