diff --git a/config/jet.py b/config/jet.py
index 24bb5338f15119c870e88c294e9b656740a87836..757b95ca10c01d845b393f2733ef81f3dc39304b 100755
--- a/config/jet.py
+++ b/config/jet.py
@@ -56,6 +56,9 @@ cluster.ncks = '/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-2021.7.1
 cluster.ideal = '/jetfs/home/lkugler/bin/ideal-v4.3_v1.22.exe'
 cluster.wrfexe = '/jetfs/home/lkugler/bin/wrf-v4.3_v1.22_ifort_20230413.exe'
 cluster.dart_modules = 'module purge; module load netcdf-fortran/4.5.3-gcc-8.5.0-qsqbozc;'
+cluster.wrf_modules = """module purge; module load intel-oneapi-compilers/2022.2.1-zkofgc5 hdf5/1.12.2-intel-2021.7.1-w5sw2dq netcdf-fortran/4.5.3-intel-2021.7.1-27ldrnt netcdf-c/4.7.4-intel-2021.7.1-lnfs5zz intel-oneapi-mpi/2021.7.1-intel-2021.7.1-pt3unoz
+export HDF5=/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-2021.7.1/hdf5-1.12.2-w5sw2dqpcq2orlmeowleamoxr65dhhdc
+"""
 
 # paths for data output
 cluster.wrf_rundir_base = '/jetfs/home/lkugler/data/run_WRF/'  # path for temporary files
diff --git a/dartwrf/run_ens.jet.sh b/dartwrf/run_ens.jet.sh
index b2aa49aeb732e8b838963c25f25d8a89c57f8630..52aa2fc9d2acb60c53bcefa2fa65cd93e69cbbb0 100755
--- a/dartwrf/run_ens.jet.sh
+++ b/dartwrf/run_ens.jet.sh
@@ -1,6 +1,4 @@
-module purge
-module load intel-oneapi-compilers/2022.2.1-zkofgc5 hdf5/1.12.2-intel-2021.7.1-w5sw2dq netcdf-fortran/4.5.3-intel-2021.7.1-27ldrnt netcdf-c/4.7.4-intel-2021.7.1-lnfs5zz intel-oneapi-mpi/2021.7.1-intel-2021.7.1-pt3unoz
-export HDF5=/jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/intel-2021.7.1/hdf5-1.12.2-w5sw2dqpcq2orlmeowleamoxr65dhhdc
+<cluster.wrf_modules>
 export SLURM_STEP_GRES=none
 
 echo "SLURM_ARRAY_TASK_ID:"$SLURM_ARRAY_TASK_ID
diff --git a/dartwrf/workflows.py b/dartwrf/workflows.py
index 3c06dd2135c82d71d5538c1f55ea5ccec9f742f2..a6f699171c69502506d30329bab12c147916603b 100644
--- a/dartwrf/workflows.py
+++ b/dartwrf/workflows.py
@@ -226,8 +226,11 @@ class WorkFlows(object):
 
         id = self.cluster.run_job(' '.join(args), "preWRF", cfg_update=dict(time="2"), depends_on=[depends_on])
 
-        cmd = script_to_str(self.cluster.run_WRF).replace('<exp.expname>', exp.expname
-                                        ).replace('<cluster.wrf_rundir_base>', self.cluster.wrf_rundir_base)
+        cmd = script_to_str(self.cluster.run_WRF
+                ).replace('<exp.expname>', exp.expname
+                ).replace('<cluster.wrf_rundir_base>', self.cluster.wrf_rundir_base
+                ).replace('<cluster.wrf_modules>', self.cluster.wrf_modules)
+                
 
         time_in_simulation_hours = (end-begin).total_seconds()/3600
         runtime_wallclock_mins_expected = int(8+time_in_simulation_hours*9.5)  # usually below 9 min/hour