{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Parallel Monte Carlo runs\n", "The example script below shows how to run SWIM in parallel on the PIK cluster or on your local CPUs, using the example of a Monte Carlo random parameter setting. It makes use of the project *cloning* functionality of SWIMpy and SLURM `sbatch` job submission that is executed in the background." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "nbsphinx": "hidden" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Initialising a new modelmanager project in: .\n", "with settings file in: ./swimpy/settings.py\n" ] } ], "source": [ "# hidden cell: code to setup\n", "import swimpy, os\n", "%matplotlib inline\n", "\n", "project_path = os.path.join(os.path.dirname(swimpy.__file__), '../tests/project')\n", "os.chdir(project_path)\n", "if not os.path.exists('swimpy'):\n", " p = swimpy.project.setup()" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/wortmann/Desktop/source/swimpy/swimpy/utils.py:352: UserWarning: Using multiprocessing on 4 CPUs.\n", " warnings.warn(msg)\n" ] } ], "source": [ "import pandas as pd\n", "import numpy as np\n", "\n", "import swimpy\n", "\n", "# number of runs\n", "nruns = 10\n", "\n", "# parameter and ranges (extend as needed)\n", "parameter = {'ecal': (0.8, 1.2),\n", " 'sccor': (0.1, 10),\n", " 'smrate': (0.1, 0.6)}\n", "\n", "# load the project instance\n", "p = swimpy.Project()\n", "\n", "# create list of basin_parameter arguments\n", "args = [{k: np.random.uniform(*b) for k, b in parameter.items()} for _ in range(nruns)]\n", "\n", "# run and return set of runs\n", "runs = p.cluster.run_parallel(args=args, files=['station_daily_discharge'])" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# unpack Blankenstein station_daily_discharge and plot\n", "q = pd.DataFrame({r.id: r.station_daily_discharge['BLANKENSTEIN'] for r in runs})\n", "q.plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The default SLURM settings may be extended like a normal dictionary. E.g.:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'account': 'swim', 'qos': 'medium', 'time': '0:0:01'}" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p.cluster_slurmargs\n", "p.cluster_slurmargs.update({'qos': 'medium', 'time': '0:0:01'})\n", "p.cluster_slurmargs" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.14" } }, "nbformat": 4, "nbformat_minor": 2 }