diff --git a/analysis_only.py b/analysis_only.py
index 99101021757c4aebb4dbc38f3509af8fa2b72bdb..0646f6c6a9c2ee4b5a368db7bae1fb68fd4e9b44 100755
--- a/analysis_only.py
+++ b/analysis_only.py
@@ -16,7 +16,7 @@ print('scripts, which are submitted to SLURM:', slurm_scripts_dir)
 
 
 ###############################
-utils.backup_scripts()
+backup_scripts()
 
 
 prior_path_exp = '/mnt/jetfs/scratch/lkugler/data/sim_archive/exp_v1.19_P3_wbub7_noDA'
diff --git a/config/cfg.py b/config/cfg.py
index b9e356eec5414fc5584d6c60dd080337ecc65aa9..dc554fe8598d5f41e2f302b0d62d3c1c434df66f 100755
--- a/config/cfg.py
+++ b/config/cfg.py
@@ -23,7 +23,7 @@ exp.use_existing_obsseq = False  # False or pathname (use precomputed obs_seq.ou
 #exp.nature_wrfout = '/home/fs71386/lkugler/data/sim_archive/exp_v1.19_P5+su_nat2/2008-07-30_07:00/1/wrfout_d01_%Y-%m-%d_%H:%M:%S'
 #exp.nature_wrfout = '/jetfs/home/lkugler/data/sim_archive/exp_v1.19_P3_wbub7_nat/2008-07-30_12:00/1/wrfout_d01_%Y-%m-%d_%H:%M:%S'
 #exp.nature_wrfout = '/home/fs71386/lkugler/data/sim_archive/exp_v1.19_Pwbub5_nat/2008-07-30_12:00/1/wrfout_d01_%Y-%m-%d_%H:%M:%S'
-exp.nature_wrfout = '/jetfs/home/lkugler/data/sim_archive/exp_v1.18_P1_nature/2008-07-30_06:00/1/wrfout_d01_%Y-%m-%d_%H:%M:%S'
+exp.nature_wrfout = cluster.archive_base+'/exp_v1.18_P1_nature/2008-07-30_06:00/1/wrfout_d01_%Y-%m-%d_%H:%M:%S'
 #exp.nature_wrfout = '/home/fs71386/lkugler/data/sim_archive/exp_v1.19_P4_nat/2008-07-30_07:00/1/wrfout_d01_%Y-%m-%d_%H:%M:%S'
 
 exp.input_profile = '/jetfs/home/lkugler/data/initial_profiles/wrf/ens/2022-03-31/raso.fc.<iens>.wrfprof'
diff --git a/config/clusters.py b/config/clusters.py
index 4d35429a1e8c80dbb0968da6fbd75e9cde512dca..7c6efe938b9a1596f3eaa9905f6b09f8d4a8303f 100755
--- a/config/clusters.py
+++ b/config/clusters.py
@@ -1,7 +1,6 @@
 import os, sys
 import datetime as dt
 from dartwrf import utils
-from config.cfg import exp
 
 """Configuration name docs
 
@@ -42,7 +41,10 @@ slurm_cfg               python dictionary, containing options of SLURM
                             'cfg_update = {"nodes": "2"}'
 """
 
-vsc = utils.ClusterConfig(exp)
+
+
+
+vsc = utils.ClusterConfig()
 vsc.name = 'vsc' 
 vsc.max_nproc = 20
 vsc.size_jobarray = 10  # 10 jobs with each 4 WRF processes per node
@@ -75,7 +77,7 @@ vsc.slurm_cfg = {"account": "p71386", "partition": "skylake_0384", "qos": "p7138
                  "nodes": "1", "ntasks": "1", "ntasks-per-node": "48", "ntasks-per-core": "1",
                  "mail-type": "FAIL", "mail-user": "lukas.kugler@univie.ac.at"}
 
-jet = utils.ClusterConfig(exp)
+jet = utils.ClusterConfig()
 jet.name = 'jet'
 jet.max_nproc = 12
 jet.use_slurm = True
@@ -111,30 +113,29 @@ jet.slurm_cfg = {"account": "lkugler", "partition": "compute", #"nodelist": "jet
                  "mail-type": "FAIL", "mail-user": "lukas.kugler@univie.ac.at"}
 
 
-srvx1 = utils.ClusterConfig(exp)
+srvx1 = utils.ClusterConfig()
 srvx1.name = 'srvx1'
 srvx1.max_nproc = 6
-srvx1.size_jobarray = 40
 srvx1.use_slurm = False
 
 # binaries
-srvx1.python = '/mnt/jetfs/home/lkugler/miniconda3/envs/DART/bin/python'
-srvx1.python_verif = '/jetfs/home/lkugler/miniconda3/envs/enstools/bin/python'
-srvx1.ncks = '/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-20.0.2/nco-4.9.3-dhlqiyog7howjmaleyfhm6lkt7ra37xf/bin/ncks'
-srvx1.ideal = '/jetfs/home/lkugler/bin/ideal-v4.3_v1.22.exe'
-srvx1.wrfexe = '/jetfs/home/lkugler/bin/wrf-v4.3_v1.22.exe'
+srvx1.python = '/users/staff/lkugler/miniconda3/bin/python'
+srvx1.python_verif = '/users/staff/lkugler/miniconda3/bin/python'
+srvx1.ncks = '/home/swd/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.5.0/nco-5.0.1-ntu44aoxlvwtr2tsrobfr4lht7cpvccf/bin/ncks'
+srvx1.ideal = '' #/jetfs/home/lkugler/bin/ideal-v4.3_v1.22.exe'
+srvx1.wrfexe = '' #/jetfs/home/lkugler/bin/wrf-v4.3_v1.22.exe'
 srvx1.container = ''
 
 # paths for data output
-srvx1.wrf_rundir_base = '/jetfs/home/lkugler/data/run_WRF/'  # path for temporary files
-srvx1.dart_rundir_base = '/jetfs/home/lkugler/data/run_DART/'  # path for temporary files
+srvx1.wrf_rundir_base = '/mnt/jetfs/home/lkugler/data/run_WRF/'  # path for temporary files
+srvx1.dart_rundir_base = '/users/staff/lkugler/AdvDA23/run_DART/'  # path for temporary files
 srvx1.archive_base = '/mnt/jetfs/scratch/lkugler/data/sim_archive/'
 
 # paths used as input
 srvx1.srcdir = '/users/staff/lkugler/AdvDA23/DART/WRF-4.3/run'
 srvx1.dart_srcdir = '/users/staff/lkugler/AdvDA23/DART/models/wrf/work'
 srvx1.rttov_srcdir = '/users/staff/lkugler/AdvDA23/RTTOV13/rtcoef_rttov13/'
-srvx1.scriptsdir = '/jetfs/home/lkugler/DART-WRF/dartwrf/'
+srvx1.scriptsdir = '/users/staff/lkugler/AdvDA23/DART-WRF/dartwrf/'
 srvx1.geo_em = '/mnt/jetfs/scratch/lkugler/data/geo_em.d01.nc'
 
 # templates/run scripts
@@ -144,7 +145,3 @@ srvx1.run_WRF = srvx1.scriptsdir+'/run_ens.jet.sh'
 srvx1.slurm_cfg = {"account": "lkugler", "partition": "compute",
                  "ntasks": "1", "ntasks-per-core": "1", "mem": "50G",
                  "mail-type": "FAIL", "mail-user": "lukas.kugler@univie.ac.at"}
-
-########
-# select cluster configuration here
-cluster = jet
diff --git a/dartwrf/utils.py b/dartwrf/utils.py
index ed49a81fe84b8b1e29fa4ecbe724b1f64261b7aa..ddc1350bbd72982ddb776d25fbbe5857425c500d 100755
--- a/dartwrf/utils.py
+++ b/dartwrf/utils.py
@@ -150,4 +150,4 @@ def sed_inplace(filename, pattern, repl):
     shutil.move(tmp_file.name, filename)
 
 def append_file(f_main, f_gets_appended):
-    os.system('cat '+f_gets_appended+' >> '+f_main)
+    os.system('cat '+f_gets_appended+' >> '+f_main)
\ No newline at end of file
diff --git a/env-minimal.yml b/env-minimal.yml
index 9373100c16b482adc3024f010aaad273f6013cb8..e02578e729020fd7eb937eb801a24e74758006a6 100644
--- a/env-minimal.yml
+++ b/env-minimal.yml
@@ -23,4 +23,4 @@ dependencies:
   - wrf-python
   - xarray
   - yaml
-  - pysolar
+  - pysolar>=0.10.0
diff --git a/generate_free.py b/generate_free.py
index 45bf3cbdda8f1c04854c27b3e52a497f64e5c8d9..8359c54c7dd7b58692bed47d4031fa8850225e9c 100755
--- a/generate_free.py
+++ b/generate_free.py
@@ -9,7 +9,7 @@ from slurmpy import Slurm
 
 from config.cfg import exp
 from config.clusters import cluster
-from dartwrf.utils import script_to_str, symlink, backup_scripts
+from dartwrf.utils import script_to_str, symlink
 from cycled_exp import *
 
 log_dir = cluster.archivedir+'/logs/'
@@ -20,7 +20,7 @@ print('scripts, which are submitted to SLURM:', slurm_scripts_dir)
 ################################
 print('starting osse')
 
-backup_scripts()
+cluster.backup_scripts()
 id = None
 
 
diff --git a/setup.py b/setup.py
index 39af8fdd97d8a595917ff699b864074ec7189c48..85e779e9cbcb6d6c965d43716cb38a754fdbb35e 100644
--- a/setup.py
+++ b/setup.py
@@ -21,7 +21,7 @@ def read_requirements(fname):
 
 setuptools.setup(
     name="dartwrf",
-    version="2022.11.02",
+    version="2023.2.12",
     author="Lukas Kugler",
     author_email="lukas.kugler@univie.ac.at",
     description="Observing system simulation experiments with WRF and DART",