diff --git a/scripts/prepare_wrf_initials.py b/scripts/prepare_wrf_initials.py
index 9f0743599c4e58c4a1937460cb9135b3b6ea50b2..3c00abc3bc3a0717e2cad6388d767e6de4fb237f 100755
--- a/scripts/prepare_wrf_initials.py
+++ b/scripts/prepare_wrf_initials.py
@@ -8,12 +8,16 @@ from utils import symlink, copy, mkdir, clean_wrfdir, try_remove
 
 """
 Sets initial condition data (wrfinput/wrrst file) in the run_WRF directory for each ensemble member 
- 1) copies wrfrst to run_WRF directory
- 2) overwrites DA-updated variables with DART output fields
 
- (for verification later on, since a restart run does not write the first wrfout) 
- 3) copy wrfout from prior to archivedir
- 4) overwrite DA-updated variables with DART output
+You have 2 options to restart:
+1) using wrfout files  (function create_updated_wrfinput_from_wrfout)
+2) using wrfrst files  (function create_wrfrst_in_WRF_rundir)
+
+Ad 1: copy wrfout from prior to archivedir
+      overwrite DA-updated variables with DART output
+
+Ad 2: copies wrfrst to run_WRF directory
+      overwrites DA-updated variables with DART output fields
 
 # assumes T = THM (dry potential temperature as prognostic variable)
 """
@@ -50,8 +54,30 @@ def create_wrfrst_in_WRF_rundir(time, prior_init_time, exppath_firstguess):
         for f in files_rst:
             try_remove(f)
 
+def create_updated_wrfinput_from_wrfout(time, prior_init_time, exppath_firstguess):
+    """Same as create_wrfout_in_archivedir, but output is `wrfinput` in WRF run directory"""
+
+    print('writing updated wrfout to WRF run directory as wrfinput')
+    for iens in range(1, exp.n_ens+1):
+        prior_wrfout = exppath_firstguess + prior_init_time.strftime('/%Y-%m-%d_%H:%M/') \
+                       +str(iens)+time.strftime('/wrfout_d01_%Y-%m-%d_%H:%M:%S')
+        post_wrfout = cluster.wrf_rundir(iens) + '/wrfinput_d01' 
+        copy(prior_wrfout, post_wrfout)
+
+        if True: # overwrite DA updated variables
+            filter_out = cluster.dartrundir+'/filter_restart_d01.'+str(iens).zfill(4)
+            os.system(cluster.ncks+' -A -v '+updates+' '+filter_out+' '+post_wrfout)
+
+            # need to overwrite THM manually
+            with nc.Dataset(filter_out, 'r') as ds_filter:
+                with nc.Dataset(post_wrfout, 'r+') as ds_wrfout:
+                    ds_wrfout.variables['THM'][:] = ds_filter.variables['T'][:]
+        print(post_wrfout, 'created.')
+
 def create_wrfout_in_archivedir(time, prior_init_time, exppath_firstguess):
     """Put updated wrfout in archive dir (because wrf restart writes no 0 minute wrfout)
+
+    probably not necessary, if using the wrf namelist option `write_hist_at_0h_rst`
     """
     print('writing updated wrfout to archive (for verification)')
     for iens in range(1, exp.n_ens+1):
@@ -74,28 +100,6 @@ def create_wrfout_in_archivedir(time, prior_init_time, exppath_firstguess):
                 ds_wrfout.variables['THM'][:] = ds_filter.variables['T'][:]
         print(post_wrfout_archive, 'created.')
 
-
-def create_updated_wrfinput_from_wrfout(time, prior_init_time, exppath_firstguess):
-    """Same as create_wrfout_in_archivedir, but output is `wrfinput` in WRF run directory"""
-
-    print('writing updated wrfout to WRF run directory as wrfinput')
-    for iens in range(1, exp.n_ens+1):
-        prior_wrfout = exppath_firstguess + prior_init_time.strftime('/%Y-%m-%d_%H:%M/') \
-                       +str(iens)+time.strftime('/wrfout_d01_%Y-%m-%d_%H:%M:%S')
-        post_wrfout = cluster.wrf_rundir(iens) + '/wrfinput_d01' 
-        copy(prior_wrfout, post_wrfout)
-
-        if True: # overwrite DA updated variables
-            filter_out = cluster.dartrundir+'/filter_restart_d01.'+str(iens).zfill(4)
-            os.system(cluster.ncks+' -A -v '+updates+' '+filter_out+' '+post_wrfout)
-
-            # need to overwrite THM manually
-            with nc.Dataset(filter_out, 'r') as ds_filter:
-                with nc.Dataset(post_wrfout, 'r+') as ds_wrfout:
-                    ds_wrfout.variables['THM'][:] = ds_filter.variables['T'][:]
-        print(post_wrfout, 'created.')
-
-
 if __name__ == '__main__':
     time = dt.datetime.strptime(sys.argv[1], '%Y-%m-%d_%H:%M')
     prior_init_time = dt.datetime.strptime(sys.argv[2], '%Y-%m-%d_%H:%M')