diff --git a/evalhyd-cpp.ipynb b/evalhyd-cpp.ipynb
new file mode 100644
index 0000000000000000000000000000000000000000..3f7f7da67af75bdf500c0f84ba9f43f29b79fa69
--- /dev/null
+++ b/evalhyd-cpp.ipynb
@@ -0,0 +1,203 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "source": [
+    "## `evalhyd-cli` demonstration"
+   ],
+   "metadata": {
+    "collapsed": false
+   }
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "outputs": [],
+   "source": [
+    "! evalhyd --help"
+   ],
+   "metadata": {
+    "collapsed": false
+   }
+  },
+  {
+   "cell_type": "markdown",
+   "source": [
+    "### Deterministic evaluation"
+   ],
+   "metadata": {
+    "collapsed": false
+   }
+  },
+  {
+   "cell_type": "markdown",
+   "source": [
+    "Visualise streamflow observations"
+   ],
+   "metadata": {
+    "collapsed": false
+   }
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "outputs": [],
+   "source": [
+    "# shape: {1, time: 4}\n",
+    "! cat \"data/obs.csv\""
+   ],
+   "metadata": {
+    "collapsed": false
+   }
+  },
+  {
+   "cell_type": "markdown",
+   "source": [
+    "Visualise streamflow predictions"
+   ],
+   "metadata": {
+    "collapsed": false
+   }
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "outputs": [],
+   "source": [
+    "# shape: {series: 1, time: 4}\n",
+    "! cat \"data/prd.csv\""
+   ],
+   "metadata": {
+    "collapsed": false
+   }
+  },
+  {
+   "cell_type": "markdown",
+   "source": [
+    "Compute Nash-Sutcliffe efficiency"
+   ],
+   "metadata": {
+    "collapsed": false
+   }
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# shape: {series: 1, subsets: 1, samples: 1}\n",
+    "! evalhyd evald \"data/obs.csv\" \"data/prd.csv\" \"NSE\""
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "source": [
+    "### Probabilistic evaluation"
+   ],
+   "metadata": {
+    "collapsed": false
+   }
+  },
+  {
+   "cell_type": "markdown",
+   "source": [
+    "Visualise streamflow observations"
+   ],
+   "metadata": {
+    "collapsed": false
+   }
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "outputs": [],
+   "source": [
+    "# shape: {sites: 1, time: 5}\n",
+    "! cat \"data/obs/site_a.csv\""
+   ],
+   "metadata": {
+    "collapsed": false
+   }
+  },
+  {
+   "cell_type": "markdown",
+   "source": [
+    "Visualise streamflow predictions"
+   ],
+   "metadata": {
+    "collapsed": false
+   }
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "outputs": [],
+   "source": [
+    "# shape: {sites: 1, lead times: 1, members: 3, time: 5}\n",
+    "! cat \"data/prd/leadtime_1/site_a.csv\""
+   ],
+   "metadata": {
+    "collapsed": false
+   }
+  },
+  {
+   "cell_type": "markdown",
+   "source": [
+    "Visualise streamflow thresholds"
+   ],
+   "metadata": {
+    "collapsed": false
+   }
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "outputs": [],
+   "source": [
+    "# shape: {sites: 1, thresholds: 2}\n",
+    "! cat \"data/thr/site_a.csv\""
+   ],
+   "metadata": {
+    "collapsed": false
+   }
+  },
+  {
+   "cell_type": "markdown",
+   "source": [
+    "Compute Brier score"
+   ],
+   "metadata": {
+    "collapsed": false
+   }
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "outputs": [],
+   "source": [
+    "# shape: {sites: 1, lead times: 1, subsets: 1, samples: 1, thresholds: 2}\n",
+    "! evalhyd evalp \"data/obs\" \"data/prd\" \"BS\" --q_thr \"data/thr\" --events \"high\""
+   ],
+   "metadata": {
+    "collapsed": false
+   }
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "C++14",
+   "language": "C++14",
+   "name": "xcpp14"
+  },
+  "language_info": {
+   "codemirror_mode": "text/x-c++src",
+   "file_extension": ".cpp",
+   "mimetype": "text/x-c++src",
+   "name": "c++",
+   "version": "-std=c++14"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}