diff --git a/docs/source/tutorial1.ipynb b/docs/source/tutorial1.ipynb
index 8b15c140b73e35cd432f583d55590b40c8191819..089800e61916a0087a3725de25032a197003abed 100644
--- a/docs/source/tutorial1.ipynb
+++ b/docs/source/tutorial1.ipynb
@@ -7,7 +7,8 @@
    "source": [
     "# Tutorial 1: The assimilation step\n",
     "DART-WRF is a python package which automates many things like configuration, saving configuration and output, handling computing resources, etc.\n",
-    "\n"
+    "\n",
+    "The data for this experiment is accessible for students on the server srvx1.\n"
    ]
   },
   {
@@ -19,6 +20,13 @@
     "Firstly, you need to configure the experiment in `config/cfg.py`.\n",
     "\n",
     "Let's go through the most important settings:\n",
+    "- expname should be a unique identifier and will be used as folder name\n",
+    "- model_dx is the model resolution in meters\n",
+    "- n_ens is the ensemble size\n",
+    "- update_vars are the WRF variables which shall be updated by the assimilation\n",
+    "- filter_kind is 1 for the EAKF (see the DART documentation for more)\n",
+    "- prior and post_inflation defines what inflation we want (see the DART docs)\n",
+    "- sec is the statistical sampling error correction from Anderson (2012)\n",
     "\n",
     "```python\n",
     "exp = utils.Experiment()\n",
@@ -30,38 +38,46 @@
     "exp.prior_inflation = 0\n",
     "exp.post_inflation = 4\n",
     "exp.sec = True\n",
-    "exp.cov_loc_vert_km_horiz_km = (3, 20)\n",
+    "\n",
+    "```\n",
+    "In case you want to generate new observations like for an observing system simulations experiment, OSSE), set \n",
+    "```python\n",
+    "exp.use_existing_obsseq = False`.\n",
     "```\n",
-    "In case you want to generate new observations (observing system simulations experiment, OSSE), set `sxp.use_existing_obsseq = False`.\n",
     "\n",
-    "`exp.nature` defines where observations will be drawn from, e.g.:\n",
+    "`exp.nature` defines which WRF files will be used to draw observations from, e.g.: \n",
     "```python\n",
-    "exp.nature = '/mnt/jetfs/scratch/lkugler/data/sim_archive/exp_v1.18_P1_nature/2008-07-30_06:00/1'\n",
+    "exp.nature = '/users/students/lehre/advDA_s2023/data/sample_nature/'\n",
     "```\n",
     "\n",
     "`exp.input_profile` is used, if you create initial conditions from a so called wrf_profile (see WRF guide).\n",
     "```python\n",
-    "exp.input_profile = '/mnt/jetfs/home/lkugler/data/initial_profiles/wrf/ens/2022-03-31/raso.fc.<iens>.wrfprof'\n",
+    "exp.input_profile = '/doesnt_exist/initial_profiles/wrf/ens/raso.fc.<iens>.wrfprof'\n",
     "```\n",
     "\n",
-    "Vertical localization is tricky to set.\n",
-    "For horizontal localization half-width of 20 km and 3 km vertically, set\n",
-    "`exp.cov_loc_vert_km_horiz_km = (3, 20)`\n",
-    "You can also set it to zero for no vertical localization.\n",
     "\n",
+    "For horizontal localization half-width of 20 km and 3 km vertically, set\n",
+    "```python\n",
+    "exp.cov_loc_vert_km_horiz_km = (3, 20)\n",
+    "```\n",
+    "You can also set it to False for no vertical localization.\n",
     "\n",
-    "Set you desired observations like this. \n",
+    "#### Single observation\n",
+    "Set your desired observations like this. \n",
     "```python\n",
     "t = dict(plotname='Temperature', plotunits='[K]',\n",
     "         kind='RADIOSONDE_TEMPERATURE', \n",
-    "         n_obs=1, obs_locations=[(45., 0.)],\n",
-    "         error_generate=0.2, error_assimilate=0.2,\n",
-    "         heights=[1000,],  # range(1000, 17001, 2000),\n",
-    "         cov_loc_radius_km=50)\n",
-    "\n",
-    "exp.observations = [t,]\n",
+    "         n_obs=1,                    # number of observations\n",
+    "         obs_locations=[(45., 0.)],  # location of observations\n",
+    "         error_generate=0.2,    # observation error used to generate observations\n",
+    "         error_assimilate=0.2,  # observation error used for assimilation\n",
+    "         heights=[1000,],       # for radiosondes, use range(1000, 17001, 2000)\n",
+    "         cov_loc_radius_km=50)  # horizontal localization half-width\n",
+    "\n",
+    "exp.observations = [t,]  # select observations for assimilation\n",
     "```\n",
     "\n",
+    "#### Multiple observations\n",
     "To generate a grid of observations, use\n",
     "```python\n",
     "vis = dict(plotname='VIS 0.6µm', plotunits='[1]',\n",
@@ -70,6 +86,7 @@
     "           error_generate=0.03, error_assimilate=0.03,\n",
     "           cov_loc_radius_km=20)\n",
     "```\n",
+    "\n",
     "But caution, n_obs should only be one of the following:\n",
     "- 22500 for 2km observation density/resolution \n",
     "- 5776 for 4km; \n",
@@ -100,7 +117,7 @@
     "To assimilate observations at dt.datetime `time` we set the directory paths and times of the prior ensemble forecasts:\n",
     "\n",
     "```python\n",
-    "prior_path_exp = '/mnt/jetfs/scratch/lkugler/data/sim_archive/exp_v1.19_P3_wbub7_noDA'\n",
+    "prior_path_exp = '/users/students/lehre/advDA_s2023/data/sample_ensemble/'\n",
     "prior_init_time = dt.datetime(2008,7,30,12)\n",
     "prior_valid_time = dt.datetime(2008,7,30,12,30)\n",
     "assim_time = prior_valid_time\n",