From 2e60a317cb984d5494b937075a6f1cb51bc67867 Mon Sep 17 00:00:00 2001
From: Ting-Chen Chen <ting-chen.chen@kit.edu>
Date: Thu, 13 Jun 2024 13:36:54 +0000
Subject: [PATCH] Update 36 files

- /Scripts_for_running_simulations/exp.channel_2km_0001.run
- /Scripts_for_running_simulations/exp.channel_2km_0002.run
- /Scripts_for_running_simulations/exp.channel_2km_0003.run
- /Scripts_for_running_simulations/exp.channel_2km_0004.run
- /Scripts_for_running_simulations/exp.channel_2km_0005.run
- /Scripts_for_running_simulations/exp.channel_2km_0006.run
- /Scripts_for_running_simulations/exp.channel_80km_0001.run
- /Scripts_for_running_simulations/exp.channel_80km_0002.run
- /Scripts_for_running_simulations/exp.channel_80km_0003.run
- /Scripts_for_running_simulations/exp.channel_80km_0004.run
- /Scripts_for_running_simulations/exp.channel_80km_0005.run
- /Scripts_for_running_simulations/exp.channel_80km_0006.run
- /Scripts_for_running_simulations/README_simulations.txt
- /Scripts_for_postprocessing/copy_ml_atm_2km.sh
- /Scripts_for_postprocessing/copy_ml_atm_80km.sh
- /Scripts_for_postprocessing/grid_info_0p05x0p05.txt
- /Scripts_for_postprocessing/grid_info_1x1.txt
- /Scripts_for_postprocessing/grid_info_2km.txt
- /Scripts_for_postprocessing/grid_info_2km_to_1x1.txt
- /Scripts_for_postprocessing/grid_info_025x025.txt
- /Scripts_for_postprocessing/grid_info_80km.txt
- /Scripts_for_postprocessing/grid_info_80km_to_1x1.txt
- /Scripts_for_postprocessing/interpolate_mlpl_qv_u_v_850hPa_2km.sh
- /Scripts_for_postprocessing/interpolate_mlpl_qv_u_v_850hPa_80km.sh
- /Scripts_for_postprocessing/remap_ml_atm2d_2km.sh
- /Scripts_for_postprocessing/remap_ml_atm2d_2km_0p05x0p05deg.sh
- /Scripts_for_postprocessing/remap_ml_atm2d_2km_025x025deg.sh
- /Scripts_for_postprocessing/remap_ml_atm2d_80km.sh
- /Scripts_for_postprocessing/remap_mlpl_atm3d_2km.sh
- /Scripts_for_postprocessing/remap_mlpl_atm3d_2km_0p05x0p05deg.sh
- /Scripts_for_postprocessing/remap_mlpl_atm3d_2km_025x025deg.sh
- /Scripts_for_postprocessing/remap_mlpl_atm3d_80km.sh
- /Scripts_for_postprocessing/remap_mlpl_ddt3d_2km.sh
- /Scripts_for_postprocessing/remap_mlpl_ddt3d_2km_025x025deg.sh
- /Scripts_for_postprocessing/remap_mlpl_ddt3d_80km.sh
- /Scripts_for_postprocessing/.gitkeep
---
 Scripts_for_postprocessing/.gitkeep           |   0
 Scripts_for_postprocessing/copy_ml_atm_2km.sh |  54 ++
 .../copy_ml_atm_80km.sh                       |  36 +
 .../grid_info_025x025.txt                     |  17 +
 .../grid_info_0p05x0p05.txt                   |  17 +
 Scripts_for_postprocessing/grid_info_1x1.txt  |  17 +
 Scripts_for_postprocessing/grid_info_2km.txt  |  17 +
 .../grid_info_2km_to_1x1.txt                  |  17 +
 Scripts_for_postprocessing/grid_info_80km.txt |  18 +
 .../grid_info_80km_to_1x1.txt                 |  17 +
 .../interpolate_mlpl_qv_u_v_850hPa_2km.sh     |  84 +++
 .../interpolate_mlpl_qv_u_v_850hPa_80km.sh    |  84 +++
 .../remap_ml_atm2d_2km.sh                     | 116 +++
 .../remap_ml_atm2d_2km_025x025deg.sh          | 115 +++
 .../remap_ml_atm2d_2km_0p05x0p05deg.sh        | 115 +++
 .../remap_ml_atm2d_80km.sh                    | 115 +++
 .../remap_mlpl_atm3d_2km.sh                   | 121 ++++
 .../remap_mlpl_atm3d_2km_025x025deg.sh        | 156 ++++
 .../remap_mlpl_atm3d_2km_0p05x0p05deg.sh      | 156 ++++
 .../remap_mlpl_atm3d_80km.sh                  | 121 ++++
 .../remap_mlpl_ddt3d_2km.sh                   | 144 ++++
 .../remap_mlpl_ddt3d_2km_025x025deg.sh        | 164 +++++
 .../remap_mlpl_ddt3d_80km.sh                  | 144 ++++
 .../README_simulations.txt                    |  18 +
 .../exp.channel_2km_0001.run                  | 672 ++++++++++++++++++
 .../exp.channel_2km_0002.run                  | 672 ++++++++++++++++++
 .../exp.channel_2km_0003.run                  | 672 ++++++++++++++++++
 .../exp.channel_2km_0004.run                  | 672 ++++++++++++++++++
 .../exp.channel_2km_0005.run                  | 672 ++++++++++++++++++
 .../exp.channel_2km_0006.run                  | 672 ++++++++++++++++++
 .../exp.channel_80km_0001.run                 | 672 ++++++++++++++++++
 .../exp.channel_80km_0002.run                 | 672 ++++++++++++++++++
 .../exp.channel_80km_0003.run                 | 672 ++++++++++++++++++
 .../exp.channel_80km_0004.run                 | 672 ++++++++++++++++++
 .../exp.channel_80km_0005.run                 | 672 ++++++++++++++++++
 .../exp.channel_80km_0006.run                 | 672 ++++++++++++++++++
 36 files changed, 9927 insertions(+)
 create mode 100644 Scripts_for_postprocessing/.gitkeep
 create mode 100644 Scripts_for_postprocessing/copy_ml_atm_2km.sh
 create mode 100644 Scripts_for_postprocessing/copy_ml_atm_80km.sh
 create mode 100644 Scripts_for_postprocessing/grid_info_025x025.txt
 create mode 100644 Scripts_for_postprocessing/grid_info_0p05x0p05.txt
 create mode 100644 Scripts_for_postprocessing/grid_info_1x1.txt
 create mode 100644 Scripts_for_postprocessing/grid_info_2km.txt
 create mode 100644 Scripts_for_postprocessing/grid_info_2km_to_1x1.txt
 create mode 100644 Scripts_for_postprocessing/grid_info_80km.txt
 create mode 100644 Scripts_for_postprocessing/grid_info_80km_to_1x1.txt
 create mode 100644 Scripts_for_postprocessing/interpolate_mlpl_qv_u_v_850hPa_2km.sh
 create mode 100644 Scripts_for_postprocessing/interpolate_mlpl_qv_u_v_850hPa_80km.sh
 create mode 100644 Scripts_for_postprocessing/remap_ml_atm2d_2km.sh
 create mode 100644 Scripts_for_postprocessing/remap_ml_atm2d_2km_025x025deg.sh
 create mode 100644 Scripts_for_postprocessing/remap_ml_atm2d_2km_0p05x0p05deg.sh
 create mode 100644 Scripts_for_postprocessing/remap_ml_atm2d_80km.sh
 create mode 100644 Scripts_for_postprocessing/remap_mlpl_atm3d_2km.sh
 create mode 100644 Scripts_for_postprocessing/remap_mlpl_atm3d_2km_025x025deg.sh
 create mode 100644 Scripts_for_postprocessing/remap_mlpl_atm3d_2km_0p05x0p05deg.sh
 create mode 100644 Scripts_for_postprocessing/remap_mlpl_atm3d_80km.sh
 create mode 100644 Scripts_for_postprocessing/remap_mlpl_ddt3d_2km.sh
 create mode 100644 Scripts_for_postprocessing/remap_mlpl_ddt3d_2km_025x025deg.sh
 create mode 100644 Scripts_for_postprocessing/remap_mlpl_ddt3d_80km.sh
 create mode 100644 Scripts_for_running_simulations/README_simulations.txt
 create mode 100644 Scripts_for_running_simulations/exp.channel_2km_0001.run
 create mode 100644 Scripts_for_running_simulations/exp.channel_2km_0002.run
 create mode 100644 Scripts_for_running_simulations/exp.channel_2km_0003.run
 create mode 100644 Scripts_for_running_simulations/exp.channel_2km_0004.run
 create mode 100644 Scripts_for_running_simulations/exp.channel_2km_0005.run
 create mode 100644 Scripts_for_running_simulations/exp.channel_2km_0006.run
 create mode 100644 Scripts_for_running_simulations/exp.channel_80km_0001.run
 create mode 100644 Scripts_for_running_simulations/exp.channel_80km_0002.run
 create mode 100644 Scripts_for_running_simulations/exp.channel_80km_0003.run
 create mode 100644 Scripts_for_running_simulations/exp.channel_80km_0004.run
 create mode 100644 Scripts_for_running_simulations/exp.channel_80km_0005.run
 create mode 100644 Scripts_for_running_simulations/exp.channel_80km_0006.run

diff --git a/Scripts_for_postprocessing/.gitkeep b/Scripts_for_postprocessing/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/Scripts_for_postprocessing/copy_ml_atm_2km.sh b/Scripts_for_postprocessing/copy_ml_atm_2km.sh
new file mode 100644
index 0000000..d0206b7
--- /dev/null
+++ b/Scripts_for_postprocessing/copy_ml_atm_2km.sh
@@ -0,0 +1,54 @@
+#!/bin/bash
+#=============================================================================
+#SBATCH --account=bb1152
+#SBATCH --job-name=copy_atm_2km
+#SBATCH --partition=compute
+#SBATCH --nodes=1
+#SBATCH --threads-per-core=2
+# the following is needed to work around a bug that otherwise leads to
+# a too low number of ranks when using compute,compute2 as queue
+#SBATCH --mem=0
+#SBATCH --exclusive
+#SBATCH --output=/work/bb1152/Module_A/A6_CyclEx/b380782_Christoph/pp_logs/LOG.copy_atm_2km.%j.o
+#SBATCH --error=/work/bb1152/Module_A/A6_CyclEx/b380782_Christoph/pp_logs/LOG.copy_atm_2km.%j.o
+#SBATCH --time=02:00:00
+#=========================================================================================
+# this script is for copying data sets from scratch to work
+
+# define directories
+exp=channel_2km_0006
+inpath=/scratch/b/b380906 # directory with data that will be copied
+projpath=/work/bb1152/Module_A/A6_CyclEx # directory of project on work
+cppath=sim_data/production # directory that data will be copied to
+
+simpath=$inpath/$exp
+echo $simpath
+
+outpath=$projpath/$cppath/$exp
+echo $outpath
+
+# create folder in which the data will be stored
+mkdir -p $outpath
+cd $outpath
+
+cp $simpath/icon-extra_ml.nc $outpath
+
+#------------------------------------------------------------------------------------------
+# loop over the time steps
+for day in 01 02 03 04 05 06 07 08 09 ; do
+
+for hour in 00 06 12 18 ; do
+
+cp $simpath/*atm2d*${day}T${hour}0000Z.nc $outpath
+cp $simpath/*atm3d*${day}T${hour}0000Z.nc $outpath
+cp $simpath/*ddt3d*${day}T${hour}0000Z.nc $outpath
+
+done
+done
+
+day=10
+hour=00
+
+cp $simpath/*atm2d*${day}T${hour}0000Z.nc $outpath
+cp $simpath/*atm3d*${day}T${hour}0000Z.nc $outpath
+cp $simpath/*ddt3d*${day}T${hour}0000Z.nc $outpath
diff --git a/Scripts_for_postprocessing/copy_ml_atm_80km.sh b/Scripts_for_postprocessing/copy_ml_atm_80km.sh
new file mode 100644
index 0000000..6a05406
--- /dev/null
+++ b/Scripts_for_postprocessing/copy_ml_atm_80km.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+#=============================================================================
+#SBATCH --account=bb1152
+#SBATCH --job-name=copy_atm_80km
+#SBATCH --partition=compute
+#SBATCH --nodes=1
+#SBATCH --threads-per-core=2
+# the following is needed to work around a bug that otherwise leads to
+# a too low number of ranks when using compute,compute2 as queue
+#SBATCH --mem=0
+#SBATCH --exclusive
+#SBATCH --output=/work/bb1152/Module_A/A6_CyclEx/b380782_Christoph/pp_logs/LOG.copy_atm_80km.%j.o
+#SBATCH --error=/work/bb1152/Module_A/A6_CyclEx/b380782_Christoph/pp_logs/LOG.copy_atm_80km.%j.o
+#SBATCH --time=01:00:00
+#=========================================================================================
+# this script is for copying data sets from scratch to work
+
+# define directories
+exp=channel_80km_0001
+inpath=/scratch/b/b380906 # directory with data that will be copied
+projpath=/work/bb1152/Module_A/A6_CyclEx # directory of project on work
+cppath=sim_data/production # directory that data will be copied to
+
+simpath=$inpath/$exp
+echo $simpath
+
+outpath=$projpath/$cppath/$exp
+echo $outpath
+
+# create folder in which the data will be stored
+mkdir -p $outpath
+cd $outpath
+
+# cp $simpath/icon-extra_ml.nc $outpath
+cp $simpath/*2d* $outpath
+# cp $simpath/*3d*.nc $outpath
diff --git a/Scripts_for_postprocessing/grid_info_025x025.txt b/Scripts_for_postprocessing/grid_info_025x025.txt
new file mode 100644
index 0000000..d31bd4a
--- /dev/null
+++ b/Scripts_for_postprocessing/grid_info_025x025.txt
@@ -0,0 +1,17 @@
+#
+# gridID 1
+#
+gridtype  = lonlat
+gridsize  = 65484
+xsize     = 204
+ysize     = 321
+xname     = lon
+xlongname = "longitude"
+xunits    = "degrees_east"
+yname     = lat
+ylongname = "latitude"
+yunits    = "degrees_north"
+xfirst    = 12.5
+xinc      = 0.25
+yfirst    = 4.5
+yinc      = 0.25
diff --git a/Scripts_for_postprocessing/grid_info_0p05x0p05.txt b/Scripts_for_postprocessing/grid_info_0p05x0p05.txt
new file mode 100644
index 0000000..d7e6e40
--- /dev/null
+++ b/Scripts_for_postprocessing/grid_info_0p05x0p05.txt
@@ -0,0 +1,17 @@
+#
+# gridID 1
+#
+gridtype  = lonlat
+gridsize  = 1637100
+xsize     = 1020
+ysize     = 1605
+xname     = lon
+xlongname = "longitude"
+xunits    = "degrees_east"
+yname     = lat
+ylongname = "latitude"
+yunits    = "degrees_north"
+xfirst    = 12.5
+xinc      = 0.05
+yfirst    = 4.5
+yinc      = 0.05
diff --git a/Scripts_for_postprocessing/grid_info_1x1.txt b/Scripts_for_postprocessing/grid_info_1x1.txt
new file mode 100644
index 0000000..8719a39
--- /dev/null
+++ b/Scripts_for_postprocessing/grid_info_1x1.txt
@@ -0,0 +1,17 @@
+#
+# gridID 1
+#
+gridtype  = lonlat
+gridsize  = 4131
+xsize     = 51
+ysize     = 81
+xname     = lon
+xlongname = "longitude"
+xunits    = "degrees_east"
+yname     = lat
+ylongname = "latitude"
+yunits    = "degrees_north"
+xfirst    = 12.5
+xinc      = 1
+yfirst    = 4.5
+yinc      = 1
diff --git a/Scripts_for_postprocessing/grid_info_2km.txt b/Scripts_for_postprocessing/grid_info_2km.txt
new file mode 100644
index 0000000..ad33c65
--- /dev/null
+++ b/Scripts_for_postprocessing/grid_info_2km.txt
@@ -0,0 +1,17 @@
+#
+# gridID 1
+#
+gridtype  = lonlat
+gridsize  = 5762016
+xsize     = 2106
+ysize     = 2736
+xname     = lon
+xlongname = "longitude"
+xunits    = "degrees_east"
+yname     = lat
+ylongname = "latitude"
+yunits    = "degrees_north"
+xfirst    = 12.5
+xinc      = 0.024216524216524215
+yfirst    = 4.5
+yinc      = 0.029605263157894735
diff --git a/Scripts_for_postprocessing/grid_info_2km_to_1x1.txt b/Scripts_for_postprocessing/grid_info_2km_to_1x1.txt
new file mode 100644
index 0000000..fa47a2d
--- /dev/null
+++ b/Scripts_for_postprocessing/grid_info_2km_to_1x1.txt
@@ -0,0 +1,17 @@
+#
+# gridID 1
+#
+gridtype  = lonlat
+gridsize  = 4131
+xsize     = 51
+ysize     = 81
+xname     = lon
+xlongname = "longitude"
+xunits    = "degrees_east"
+yname     = lat
+ylongname = "latitude"
+yunits    = "degrees_north"
+xfirst    = 12.987891737891738
+xinc      = 1
+yfirst    = 4.5
+yinc      = 1
diff --git a/Scripts_for_postprocessing/grid_info_80km.txt b/Scripts_for_postprocessing/grid_info_80km.txt
new file mode 100644
index 0000000..8bc1808
--- /dev/null
+++ b/Scripts_for_postprocessing/grid_info_80km.txt
@@ -0,0 +1,18 @@
+#
+# gridID 1
+#
+gridtype  = lonlat
+gridsize  = 5676
+xsize     = 66
+ysize     = 86
+xname     = lon
+xlongname = "longitude"
+xunits    = "degrees_east"
+yname     = lat
+ylongname = "latitude"
+yunits    = "degrees_north"
+xfirst    = 12.5
+xinc      = 0.7727272727272727
+yfirst    = 4.5
+yinc      = 0.9418604651162791
+
diff --git a/Scripts_for_postprocessing/grid_info_80km_to_1x1.txt b/Scripts_for_postprocessing/grid_info_80km_to_1x1.txt
new file mode 100644
index 0000000..602611c
--- /dev/null
+++ b/Scripts_for_postprocessing/grid_info_80km_to_1x1.txt
@@ -0,0 +1,17 @@
+#
+# gridID 1
+#
+gridtype  = lonlat
+gridsize  = 4131
+xsize     = 51
+ysize     = 81
+xname     = lon
+xlongname = "longitude"
+xunits    = "degrees_east"
+yname     = lat
+ylongname = "latitude"
+yunits    = "degrees_north"
+xfirst    = 12.613636363636363
+xinc      = 1
+yfirst    = 4.5
+yinc      = 1
diff --git a/Scripts_for_postprocessing/interpolate_mlpl_qv_u_v_850hPa_2km.sh b/Scripts_for_postprocessing/interpolate_mlpl_qv_u_v_850hPa_2km.sh
new file mode 100644
index 0000000..20b82e0
--- /dev/null
+++ b/Scripts_for_postprocessing/interpolate_mlpl_qv_u_v_850hPa_2km.sh
@@ -0,0 +1,84 @@
+#!/bin/bash
+#=============================================================================
+#SBATCH --account=bb1152
+#SBATCH --job-name=interpolate_mlpl_qv_u_v_850hPa_2km
+#SBATCH --partition=compute
+#SBATCH --nodes=10
+#SBATCH --threads-per-core=2
+# the following is needed to work around a bug that otherwise leads to
+# a too low number of ranks when using compute,compute2 as queue
+#SBATCH --mem=0
+#SBATCH --exclusive
+#SBATCH --output=/home/b/b380782/pp_logs_cyclex/LOG.interpolate_mlpl_qv_u_v_850hPa_2km.o%j
+#SBATCH --error=/home/b/b380782/pp_logs_cyclex/LOG.interpolate_mlpl_qv_u_v_850hPa_2km.e%j
+#SBATCH --time=02:00:00
+#=========================================================================================
+# this script is for interpolating the variables qv, u, and v from model levels to 850 hPa (staying on the native triangular grid)
+
+# folder with data that will be remapped
+exp=channel_2km_0006
+datapath=/work/bb1152/Module_A/A6_CyclEx/sim_data/production
+projpath=/work/bb1152/Module_A/A6_CyclEx
+
+simpath=$datapath/$exp
+echo $simpath
+
+# folder in which the remapped data will be stored
+mkdir -p $simpath/interpol_850hPa_qv_u_v_native
+cd $simpath/interpol_850hPa_qv_u_v_native
+
+# define pressure levels that data will be remapped to
+plevout="85000"
+
+#------------------------------------------------------------------------------------------
+# loop over the time steps
+for day in 01 02 03 04 05 06 07 08 09 ; do
+
+for hour in 00 06 12 18 ; do
+
+# 1) select variables from the 3d dataset
+
+cdo -P 38 selname,pres,u,v,qv ../icon-atm3d_ML_202101${day}T${hour}0000Z.nc icon-3d_ML_202101${day}T${hour}0000Z.nc
+
+# 2) Interpolate from height to pressure levels (var 'pres' must be present in the dataset)
+
+# get sfc pressure from 2d files
+cdo -P 38 selname,pres_sfc ../icon-atm2d_ML_202101${day}T${hour}0000Z.nc pres_sfc_202101${day}T${hour}0000Z.nc
+
+# merge sfc pressure into remapped 3d files
+cdo -P 38 merge icon-3d_ML_202101${day}T${hour}0000Z.nc pres_sfc_202101${day}T${hour}0000Z.nc icon-3d_ML_202101${day}T${hour}0000Z.psfc.nc
+
+# interpolate to pressure levels
+cdo -P 38 ap2pl,$plevout icon-3d_ML_202101${day}T${hour}0000Z.psfc.nc icon-qv_u_v_850hPa_202101${day}T${hour}0000Z.nc
+
+# cleanup
+rm icon-3d_ML_202101${day}T${hour}0000Z.nc pres_sfc_202101${day}T${hour}0000Z.nc icon-3d_ML_202101${day}T${hour}0000Z.psfc.nc
+
+done
+done
+
+#-----------------------------------------------------------------------------------------
+# last time step
+
+day=10
+hour=00
+
+# 1) select variables from the 3d dataset
+
+cdo -P 38 selname,pres,u,v,qv ../icon-atm3d_ML_202101${day}T${hour}0000Z.nc icon-3d_ML_202101${day}T${hour}0000Z.nc
+
+# 2) Interpolate from height to pressure levels (var 'pres' must be present in the dataset)
+
+# get sfc pressure from 2d files
+cdo -P 38 selname,pres_sfc ../icon-atm2d_ML_202101${day}T${hour}0000Z.nc pres_sfc_202101${day}T${hour}0000Z.nc
+
+# merge sfc pressure into remapped 3d files
+cdo -P 38 merge icon-3d_ML_202101${day}T${hour}0000Z.nc pres_sfc_202101${day}T${hour}0000Z.nc icon-3d_ML_202101${day}T${hour}0000Z.psfc.nc
+
+# interpolate to pressure levels
+cdo -P 38 ap2pl,$plevout icon-3d_ML_202101${day}T${hour}0000Z.psfc.nc icon-qv_u_v_850hPa_202101${day}T${hour}0000Z.nc
+
+# cleanup
+rm icon-3d_ML_202101${day}T${hour}0000Z.nc pres_sfc_202101${day}T${hour}0000Z.nc icon-3d_ML_202101${day}T${hour}0000Z.psfc.nc
+
+#
diff --git a/Scripts_for_postprocessing/interpolate_mlpl_qv_u_v_850hPa_80km.sh b/Scripts_for_postprocessing/interpolate_mlpl_qv_u_v_850hPa_80km.sh
new file mode 100644
index 0000000..427de21
--- /dev/null
+++ b/Scripts_for_postprocessing/interpolate_mlpl_qv_u_v_850hPa_80km.sh
@@ -0,0 +1,84 @@
+#!/bin/bash
+#=============================================================================
+#SBATCH --account=bb1152
+#SBATCH --job-name=interpolate_mlpl_qv_u_v_850hPa_80km
+#SBATCH --partition=compute
+#SBATCH --nodes=10
+#SBATCH --threads-per-core=2
+# the following is needed to work around a bug that otherwise leads to
+# a too low number of ranks when using compute,compute2 as queue
+#SBATCH --mem=0
+#SBATCH --exclusive
+#SBATCH --output=/home/b/b380782/pp_logs_cyclex/LOG.interpolate_mlpl_qv_u_v_850hPa_80km.o%j
+#SBATCH --error=/home/b/b380782/pp_logs_cyclex/LOG.interpolate_mlpl_qv_u_v_850hPa_80km.e%j
+#SBATCH --time=00:30:00
+#=========================================================================================
+# this script is for interpolating the variables qv, u, and v from model levels to 850 hPa (staying on the native triangular grid)
+
+# folder with data that will be remapped
+exp=channel_80km_0006
+datapath=/work/bb1152/Module_A/A6_CyclEx/sim_data/production
+projpath=/work/bb1152/Module_A/A6_CyclEx
+
+simpath=$datapath/$exp
+echo $simpath
+
+# folder in which the remapped data will be stored
+mkdir -p $simpath/interpol_850hPa_qv_u_v_native
+cd $simpath/interpol_850hPa_qv_u_v_native
+
+# define pressure levels that data will be remapped to
+plevout="85000"
+
+#------------------------------------------------------------------------------------------
+# loop over the time steps
+for day in 01 02 03 04 05 06 07 08 09 ; do
+
+for hour in 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ; do
+
+# 1) select variables from the 3d dataset
+
+cdo -P 38 selname,pres,u,v,qv ../raw_data/icon-atm3d_ML_202101${day}T${hour}0000Z.nc icon-3d_ML_202101${day}T${hour}0000Z.nc
+
+# 2) Interpolate from height to pressure levels (var 'pres' must be present in the dataset)
+
+# get sfc pressure from 2d files
+cdo -P 38 selname,pres_sfc ../raw_data/icon-atm2d_ML_202101${day}T${hour}0000Z.nc pres_sfc_202101${day}T${hour}0000Z.nc
+
+# merge sfc pressure into remapped 3d files
+cdo -P 38 merge icon-3d_ML_202101${day}T${hour}0000Z.nc pres_sfc_202101${day}T${hour}0000Z.nc icon-3d_ML_202101${day}T${hour}0000Z.psfc.nc
+
+# interpolate to pressure levels
+cdo -P 38 ap2pl,$plevout icon-3d_ML_202101${day}T${hour}0000Z.psfc.nc icon-qv_u_v_850hPa_202101${day}T${hour}0000Z.nc
+
+# cleanup
+rm icon-3d_ML_202101${day}T${hour}0000Z.nc pres_sfc_202101${day}T${hour}0000Z.nc icon-3d_ML_202101${day}T${hour}0000Z.psfc.nc
+
+done
+done
+
+#-----------------------------------------------------------------------------------------
+# last time step
+
+day=10
+hour=00
+
+# 1) select variables from the 3d dataset
+
+cdo -P 38 selname,pres,u,v,qv ../raw_data/icon-atm3d_ML_202101${day}T${hour}0000Z.nc icon-3d_ML_202101${day}T${hour}0000Z.nc
+
+# 2) Interpolate from height to pressure levels (var 'pres' must be present in the dataset)
+
+# get sfc pressure from 2d files
+cdo -P 38 selname,pres_sfc ../raw_data/icon-atm2d_ML_202101${day}T${hour}0000Z.nc pres_sfc_202101${day}T${hour}0000Z.nc
+
+# merge sfc pressure into remapped 3d files
+cdo -P 38 merge icon-3d_ML_202101${day}T${hour}0000Z.nc pres_sfc_202101${day}T${hour}0000Z.nc icon-3d_ML_202101${day}T${hour}0000Z.psfc.nc
+
+# interpolate to pressure levels
+cdo -P 38 ap2pl,$plevout icon-3d_ML_202101${day}T${hour}0000Z.psfc.nc icon-qv_u_v_850hPa_202101${day}T${hour}0000Z.nc
+
+# cleanup
+rm icon-3d_ML_202101${day}T${hour}0000Z.nc pres_sfc_202101${day}T${hour}0000Z.nc icon-3d_ML_202101${day}T${hour}0000Z.psfc.nc
+
+#
diff --git a/Scripts_for_postprocessing/remap_ml_atm2d_2km.sh b/Scripts_for_postprocessing/remap_ml_atm2d_2km.sh
new file mode 100644
index 0000000..defaafe
--- /dev/null
+++ b/Scripts_for_postprocessing/remap_ml_atm2d_2km.sh
@@ -0,0 +1,116 @@
+#!/bin/bash
+#=============================================================================
+#SBATCH --account=bb1152
+#SBATCH --job-name=remap_atm2d_2km
+#SBATCH --partition=compute
+#SBATCH --nodes=10
+#SBATCH --threads-per-core=2
+# the following is needed to work around a bug that otherwise leads to
+# a too low number of ranks when using compute,compute2 as queue
+#SBATCH --mem=0
+#SBATCH --exclusive
+#SBATCH --output=/home/b/b380782/pp_logs_cyclex/LOG.remap_atm2d_2km.o%j
+#SBATCH --error=/home/b/b380782/pp_logs_cyclex/LOG.remap_atm2d_2km.e%j
+#SBATCH --time=1:00:00
+#=========================================================================================
+# this script is for remapping data sets from native unstructured grid 
+# to regular lat/lon grid
+# first near neighbor interpolation with the same resolution then conservative remapping
+
+
+#### INFO: If you cloned the code repository to your home directory (as suggested in the wiki)
+####       you need to change the username and experiment in the following section. The username
+####       also needs to be changed in the job header (path for log and error files).
+
+#### Set username and experiment
+###
+## Set username here and in job header
+#
+# name of user submitting this script
+username=b380782
+
+# experiment name
+exp=channel_2km_0005
+
+####
+####
+
+#### load required module
+module load cdo
+
+#### Set paths
+
+### raw data
+# folder with data that will be remapped
+datapath=/work/bb1152/Module_A/A6_CyclEx/sim_data/production
+
+simpath=$datapath/$exp
+echo $simpath
+
+### required scripts
+# path to clone of code repository
+repopath=/home/b/$username/icon-climxtreme
+# path to scripts WITHIN code repository
+scriptpath=CC_postprocessing_scripts
+
+### output directory
+# indicated scratch with predefined directory
+outpath=/scratch/b/$username/check_remapping_on_PTE/$exp/
+echo $outpath
+
+# directory, in which the remapped data will be stored
+mkdir -p $outpath/remapped_atm2d_latlon
+cd $outpath/remapped_atm2d_latlon
+
+#### Remapping
+
+# 1) Creating weights from a dataset which contains grid information!
+# icon-extra_ml.nc is the dataset which contains the clon,clat or from the grid file itself
+
+# Grid description: grid_info_2km.txt
+
+cdo -P 32 gennn,$repopath/$scriptpath/grid_info_2km.txt $simpath/icon-extra_ml.nc remapweights_2km.nc
+
+#------------------------------------------------------------------------------------------
+# loop over the time steps
+for day in 01 02 03 04 05 06 07 08 09 ; do
+
+for hour in 00 06 12 18 ; do
+
+# 2) remap to regular lat,lon grid (near neighbor)
+
+# remap all variables
+cdo -P 38 remap,$repopath/$scriptpath/grid_info_2km.txt,remapweights_2km.nc $simpath/icon-atm2d_ML_202101${day}T${hour}0000Z.nc icon-atm2d_ML_reg_202101${day}T${hour}0000Z.nc
+
+# 3) conservative remapping to 0.25x0.25 degree
+
+cdo -P 32 remapcon,$repopath/$scriptpath/grid_info_2km_to_1x1.txt icon-atm2d_ML_reg_202101${day}T${hour}0000Z.nc icon-atm2d_ML_reg_con_202101${day}T${hour}0000Z.nc
+
+rm icon-atm2d_ML_reg_202101${day}T${hour}0000Z.nc
+
+done
+done
+
+#-----------------------------------------------------------------------------------------
+# last time step
+
+day=10
+hour=00
+
+# 2) remap to regular lat,lon grid (near neighbor)
+
+# remap all variables
+cdo -P 38 remap,$repopath/$scriptpath/grid_info_2km.txt,remapweights_2km.nc $simpath/icon-atm2d_ML_202101${day}T${hour}0000Z.nc icon-atm2d_ML_reg_202101${day}T${hour}0000Z.nc
+
+# 3) conservative remapping to 1x1 degree
+
+cdo -P 32 remapcon,$repopath/$scriptpath/grid_info_2km_to_1x1.txt icon-atm2d_ML_reg_202101${day}T${hour}0000Z.nc icon-atm2d_ML_reg_con_202101${day}T${hour}0000Z.nc
+
+rm icon-atm2d_ML_reg_202101${day}T${hour}0000Z.nc
+
+#-----------------------------------------------------------------------------------------
+# delete grid file and remap weights
+
+rm remapweights_2km.nc
+
+#
diff --git a/Scripts_for_postprocessing/remap_ml_atm2d_2km_025x025deg.sh b/Scripts_for_postprocessing/remap_ml_atm2d_2km_025x025deg.sh
new file mode 100644
index 0000000..44299d3
--- /dev/null
+++ b/Scripts_for_postprocessing/remap_ml_atm2d_2km_025x025deg.sh
@@ -0,0 +1,115 @@
+#!/bin/bash
+#=============================================================================
+#SBATCH --account=bb1152
+#SBATCH --job-name=remap_atm2d_2km_025x025
+#SBATCH --partition=compute
+#SBATCH --nodes=10
+#SBATCH --threads-per-core=2
+# the following is needed to work around a bug that otherwise leads to
+# a too low number of ranks when using compute,compute2 as queue
+#SBATCH --mem=0
+#SBATCH --exclusive
+#SBATCH --output=/home/b/b380782/pp_logs_cyclex/LOG.remap_atm2d_2km_025x025.o%j
+#SBATCH --error=/home/b/b380782/pp_logs_cyclex/LOG.remap_atm2d_2km_025x025.e%j
+#SBATCH --time=1:00:00
+#=========================================================================================
+# this script is for remapping data sets from native unstructured grid 
+# to regular lat/lon grid
+# first near neighbor interpolation with the same resolution then conservative remapping
+
+
+#### INFO: If you cloned the code repository to your home directory (as suggested in the wiki)
+####       you need to change the username and experiment in the following section. The username
+####       also needs to be changed in the job header (path for log and error files).
+
+#### Set username and experiment
+###
+## Set username here and in job header
+#
+# name of user submitting this script
+username=b380782
+
+# experiment name
+exp=channel_2km_0005
+
+####
+####
+
+#### load required module
+module load cdo
+
+#### Set paths
+
+### raw data
+# folder with data that will be remapped
+datapath=/work/bb1152/Module_A/A6_CyclEx/sim_data/production
+
+simpath=$datapath/$exp
+echo $simpath
+
+### required scripts
+# path to clone of code repository
+repopath=/home/b/$username/icon-climxtreme
+# path to scripts WITHIN code repository
+scriptpath=CC_postprocessing_scripts
+
+### output directory
+# indicated scratch with predefined directory
+outpath=/scratch/b/$username/check_remapping_on_PTE/$exp
+echo $outpath
+
+# directory, in which the remapped data will be stored
+mkdir -p $outpath/remapped_atm2d_latlon_025x025
+cd $outpath/remapped_atm2d_latlon_025x025
+
+#### Remapping
+
+# 1) Creating weights from a dataset which contains grid information!
+# icon-extra_ml.nc is the dataset which contains the clon,clat or from the grid file itself
+
+# Grid description: grid_info_2km.txt
+
+cdo -P 32 gennn,$repopath/$scriptpath/grid_info_2km.txt $simpath/icon-extra_ml.nc remapweights_2km.nc
+
+#------------------------------------------------------------------------------------------
+# loop over the time steps
+for day in 01 02 03 04 05 06 07 08 09 ; do
+
+for hour in 00 06 12 18 ; do
+
+# 2) remap to regular lat,lon grid (near neighbor)
+
+# remap all variables
+cdo -P 38 remap,$repopath/$scriptpath/grid_info_2km.txt,remapweights_2km.nc $simpath/icon-atm2d_ML_202101${day}T${hour}0000Z.nc icon-atm2d_ML_reg_202101${day}T${hour}0000Z.nc
+
+# 3) conservative remapping to 0.25x0.25 degree
+
+cdo -P 32 remapcon,$repopath/$scriptpath/grid_info_025x025.txt icon-atm2d_ML_reg_202101${day}T${hour}0000Z.nc icon-atm2d_ML_reg_con_202101${day}T${hour}0000Z.nc
+
+rm icon-atm2d_ML_reg_202101${day}T${hour}0000Z.nc
+
+done
+done
+
+#-----------------------------------------------------------------------------------------
+# last time step
+
+day=10
+hour=00
+
+# 2) remap to regular lat,lon grid (near neighbor)
+
+# remap all variables
+cdo -P 38 remap,$repopath/$scriptpath/grid_info_2km.txt,remapweights_2km.nc $simpath/icon-atm2d_ML_202101${day}T${hour}0000Z.nc icon-atm2d_ML_reg_202101${day}T${hour}0000Z.nc
+
+# 3) conservative remapping to 1x1 degree
+
+cdo -P 32 remapcon,$repopath/$scriptpath/grid_info_025x025.txt icon-atm2d_ML_reg_202101${day}T${hour}0000Z.nc icon-atm2d_ML_reg_con_202101${day}T${hour}0000Z.nc
+
+rm icon-atm2d_ML_reg_202101${day}T${hour}0000Z.nc
+
+#-----------------------------------------------------------------------------------------
+# delete grid file and remap weights
+rm remapweights_2km.nc
+
+#
diff --git a/Scripts_for_postprocessing/remap_ml_atm2d_2km_0p05x0p05deg.sh b/Scripts_for_postprocessing/remap_ml_atm2d_2km_0p05x0p05deg.sh
new file mode 100644
index 0000000..97f74f4
--- /dev/null
+++ b/Scripts_for_postprocessing/remap_ml_atm2d_2km_0p05x0p05deg.sh
@@ -0,0 +1,115 @@
+#!/bin/bash
+#=============================================================================
+#SBATCH --account=bb1152
+#SBATCH --job-name=remap_atm2d_2km_0p05x0p05
+#SBATCH --partition=compute
+#SBATCH --nodes=10
+#SBATCH --threads-per-core=2
+# the following is needed to work around a bug that otherwise leads to
+# a too low number of ranks when using compute,compute2 as queue
+#SBATCH --mem=0
+#SBATCH --exclusive
+#SBATCH --output=/home/b/b380782/pp_logs_cyclex/LOG.remap_atm2d_2km_0p05x0p05.o%j
+#SBATCH --error=/home/b/b380782/pp_logs_cyclex/LOG.remap_atm2d_2km_0p05x0p05.e%j
+#SBATCH --time=4:00:00
+#=========================================================================================
+# this script is for remapping data sets from native unstructured grid 
+# to regular lat/lon grid
+# first near neighbor interpolation with the same resolution then conservative remapping
+
+
+#### INFO: If you cloned the code repository to your home directory (as suggested in the wiki)
+####       you need to change the username and experiment in the following section. The username
+####       also needs to be changed in the job header (path for log and error files).
+
+#### Set username and experiment
+###
+## Set username here and in job header
+#
+# name of user submitting this script
+username=b380782
+
+# experiment name
+exp=channel_2km_0004
+
+####
+####
+
+#### load required module
+module load cdo
+
+#### Set paths
+
+### raw data
+# folder with data that will be remapped
+datapath=/work/bb1152/Module_A/A6_CyclEx/sim_data/production
+
+simpath=$datapath/$exp
+echo $simpath
+
+### required scripts
+# path to clone of code repository
+repopath=/home/b/$username/icon-climxtreme
+# path to scripts WITHIN code repository
+scriptpath=CC_postprocessing_scripts
+
+### output directory
+# indicated scratch with predefined directory
+outpath=/scratch/b/$username/check_remapping_on_PTE/$exp
+echo $outpath
+
+# directory, in which the remapped data will be stored
+mkdir -p $outpath/remapped_atm2d_latlon_0p05x0p05
+cd $outpath/remapped_atm2d_latlon_0p05x0p05
+
+#### Remapping
+
+# 1) Creating weights from a dataset which contains grid information!
+# icon-extra_ml.nc is the dataset which contains the clon,clat or from the grid file itself
+
+# Grid description: grid_info_2km.txt
+
+cdo -P 32 gennn,$repopath/$scriptpath/grid_info_2km.txt $simpath/icon-extra_ml.nc remapweights_2km.nc
+
+#------------------------------------------------------------------------------------------
+# loop over the time steps
+for day in 01 02 03 04 05 06 07 08 09 ; do
+
+for hour in 00 06 12 18 ; do
+
+# 2) remap to regular lat,lon grid (near neighbor)
+
+# remap all variables
+cdo -P 38 remap,$repopath/$scriptpath/grid_info_2km.txt,remapweights_2km.nc $simpath/icon-atm2d_ML_202101${day}T${hour}0000Z.nc icon-atm2d_ML_reg_202101${day}T${hour}0000Z.nc
+
+# 3) conservative remapping to 0.05x0.05 degree
+
+cdo -P 32 remapcon,$repopath/$scriptpath/grid_info_0p05x0p05.txt icon-atm2d_ML_reg_202101${day}T${hour}0000Z.nc icon-atm2d_ML_reg_con_202101${day}T${hour}0000Z.nc
+
+rm icon-atm2d_ML_reg_202101${day}T${hour}0000Z.nc
+
+done
+done
+
+#-----------------------------------------------------------------------------------------
+# last time step
+
+day=10
+hour=00
+
+# 2) remap to regular lat,lon grid (near neighbor)
+
+# remap all variables
+cdo -P 38 remap,$repopath/$scriptpath/grid_info_2km.txt,remapweights_2km.nc $simpath/icon-atm2d_ML_202101${day}T${hour}0000Z.nc icon-atm2d_ML_reg_202101${day}T${hour}0000Z.nc
+
+# 3) conservative remapping to 0.05x0.05 degree
+
+cdo -P 32 remapcon,$repopath/$scriptpath/grid_info_0p05x0p05.txt icon-atm2d_ML_reg_202101${day}T${hour}0000Z.nc icon-atm2d_ML_reg_con_202101${day}T${hour}0000Z.nc
+
+rm icon-atm2d_ML_reg_202101${day}T${hour}0000Z.nc
+
+#-----------------------------------------------------------------------------------------
+# delete grid file and remap weights
+rm remapweights_2km.nc
+
+#
diff --git a/Scripts_for_postprocessing/remap_ml_atm2d_80km.sh b/Scripts_for_postprocessing/remap_ml_atm2d_80km.sh
new file mode 100644
index 0000000..cdd557b
--- /dev/null
+++ b/Scripts_for_postprocessing/remap_ml_atm2d_80km.sh
@@ -0,0 +1,115 @@
+#!/bin/bash
+#=============================================================================
+#SBATCH --account=bb1152
+#SBATCH --job-name=remap_atm2d_80km
+#SBATCH --partition=compute
+#SBATCH --nodes=10
+#SBATCH --threads-per-core=2
+# the following is needed to work around a bug that otherwise leads to
+# a too low number of ranks when using compute,compute2 as queue
+#SBATCH --mem=0
+#SBATCH --exclusive
+#SBATCH --output=/home/b/b380782/pp_logs_cyclex/LOG.remap_atm2d_80km.o%j
+#SBATCH --error=/home/b/b380782/pp_logs_cyclex/LOG.remap_atm2d_80km.e%j
+#SBATCH --time=1:00:00
+#=========================================================================================
+# this script is for remapping data sets from native unstructured grid 
+# to regular lat/lon grid
+# first near neighbor interpolation with the same resolution then conservative remapping
+
+
+#### INFO: If you cloned the code repository to your home directory (as suggested in the wiki)
+####       you need to change the username and experiment in the following section. The username
+####       also needs to be changed in the job header (path for log and error files).
+
+#### Set username and experiment
+###
+## Set username here and in job header
+#
+# name of user submitting this script
+username=b380782
+
+# experiment name
+exp=channel_80km_0005
+
+####
+####
+
+#### load required module
+module load cdo
+
+#### Set paths
+
+### raw data
+# folder with data that will be remapped
+datapath=/work/bb1152/Module_A/A6_CyclEx/sim_data/production
+
+simpath=$datapath/$exp/raw_data
+echo $simpath
+
+### required scripts
+# path to clone of code repository
+repopath=/home/b/$username/icon-climxtreme
+# path to scripts WITHIN code repository
+scriptpath=CC_postprocessing_scripts
+
+### output directory
+# indicated scratch with predefined directory
+outpath=/scratch/b/$username/check_remapping_on_PTE/$exp/
+echo $outpath
+
+# directory, in which the remapped data will be stored
+mkdir -p $outpath/remapped_atm2d_latlon
+cd $outpath/remapped_atm2d_latlon
+
+#### Remapping
+
+# 1) Creating weights from a dataset which contains grid information!
+# icon-extra_ml.nc is the dataset which contains the clon,clat or from the grid file itself
+
+# Grid description: grid_info_80km.txt
+
+cdo -P 32 gennn,$repopath/$scriptpath/grid_info_80km.txt $simpath/icon-extra_ml.nc remapweights_80km.nc
+
+#------------------------------------------------------------------------------------------
+# loop over the time steps
+for day in 01 02 03 04 05 06 07 08 09 ; do
+
+for hour in 00 06 12 18 ; do
+
+# 2) remap to regular lat,lon grid (near neighbor)
+
+# remap all variables
+cdo -P 38 remap,$repopath/$scriptpath/grid_info_80km.txt,remapweights_80km.nc $simpath/icon-atm2d_ML_202101${day}T${hour}0000Z.nc icon-atm2d_ML_reg_202101${day}T${hour}0000Z.nc
+
+# 3) conservative remapping to 0.25x0.25 degree
+
+cdo -P 32 remapcon,$repopath/$scriptpath/grid_info_1x1.txt icon-atm2d_ML_reg_202101${day}T${hour}0000Z.nc icon-atm2d_ML_reg_con_202101${day}T${hour}0000Z.nc
+
+rm icon-atm2d_ML_reg_202101${day}T${hour}0000Z.nc
+
+done
+done
+
+#-----------------------------------------------------------------------------------------
+# last time step
+
+day=10
+hour=00
+
+# 2) remap to regular lat,lon grid (near neighbor)
+
+# remap all variables
+cdo -P 38 remap,$repopath/$scriptpath/grid_info_80km.txt,remapweights_80km.nc $simpath/icon-atm2d_ML_202101${day}T${hour}0000Z.nc icon-atm2d_ML_reg_202101${day}T${hour}0000Z.nc
+
+# 3) conservative remapping to 1x1 degree
+
+cdo -P 32 remapcon,$repopath/$scriptpath/grid_info_1x1.txt icon-atm2d_ML_reg_202101${day}T${hour}0000Z.nc icon-atm2d_ML_reg_con_202101${day}T${hour}0000Z.nc
+
+rm icon-atm2d_ML_reg_202101${day}T${hour}0000Z.nc
+
+#-----------------------------------------------------------------------------------------
+# delete grid file and remap weights
+rm remapweights_80km.nc
+
+#
diff --git a/Scripts_for_postprocessing/remap_mlpl_atm3d_2km.sh b/Scripts_for_postprocessing/remap_mlpl_atm3d_2km.sh
new file mode 100644
index 0000000..6d2452a
--- /dev/null
+++ b/Scripts_for_postprocessing/remap_mlpl_atm3d_2km.sh
@@ -0,0 +1,121 @@
+#!/bin/bash
+#=============================================================================
+#SBATCH --account=bb1152
+#SBATCH --job-name=remap_mlpl_atm3d_2km
+#SBATCH --partition=compute
+#SBATCH --nodes=10
+#SBATCH --threads-per-core=2
+# the following is needed to work around a bug that otherwise leads to
+# a too low number of ranks when using compute,compute2 as queue
+#SBATCH --mem=0
+#SBATCH --exclusive
+#SBATCH --output=/work/bb1152/Module_A/A6_CyclEx/b380782_Christoph/pp_logs/LOG.remap_mlpl_atm3d_2km.%j.o
+#SBATCH --error=/work/bb1152/Module_A/A6_CyclEx/b380782_Christoph/pp_logs/LOG.remap_mlpl_atm3d_2km.%j.o
+#SBATCH --time=04:00:00
+#=========================================================================================
+# this script is for remapping data sets from native unstructured grid 
+# to regular lat/lon grid
+# first near neighbor interpolation with the same resolution then conservative remapping
+
+# folder with data that will be remapped
+exp=channel_2km_0006
+datapath=/work/bb1152/Module_A/A6_CyclEx/sim_data/production
+projpath=/work/bb1152/Module_A/A6_CyclEx
+
+simpath=$datapath/$exp
+echo $simpath
+
+# folder in which the remapped data will be stored
+mkdir -p $simpath/remapped_atm3d_latlon
+cd $simpath/remapped_atm3d_latlon
+
+# define pressure levels that data will be remapped to
+plevout="1000,2000,3000,4000,5000,6000,7000,8000,9000,10000,11000,12000,13000,14000,15000,16000,17000,18000,19000,20000,21000,22000,23000,24000,25000,26000,27000,28000,29000,30000,31000,32000,33000,34000,35000,36000,37000,38000,39000,40000,41000,42000,43000,44000,45000,46000,47000,48000,49000,50000,51000,52000,53000,54000,55000,56000,57000,58000,59000,60000,61000,62000,63000,64000,65000,66000,67000,68000,69000,70000,71000,72000,73000,74000,75000,76000,77000,78000,79000,80000,81000,82000,83000,84000,85000,86000,87000,88000,89000,90000,91000,92000,93000,94000,95000,96000,97000,98000,99000,100000"
+
+# 1) Creating weights from a dataset which contains grid information!
+# icon-extra_ml.nc is the dataset which contains the clon,clat or from the grid file itself
+
+# Grid description: grid_info_2km.txt
+
+cdo -P 32 gennn,$projpath/b380782_Christoph/icon-climxtreme/postprocessing_scripts/grid_info_2km.txt $simpath/icon-extra_ml.nc remapweights_2km.nc
+
+#------------------------------------------------------------------------------------------
+# loop over the time steps
+for day in 01 02 03 04 05 06 07 08 09 ; do
+
+for hour in 00 06 12 18 ; do
+
+# 2) select variables from the 3d dataset
+
+cdo -P 38 selname,u,v,pres,w,omega,temp,vor,div,z_ifc,geopot,qv ../icon-atm3d_ML_202101${day}T${hour}0000Z.nc icon-3d_ML_202101${day}T${hour}0000Z.nc
+
+# 3) remap to regular lat,lon grid (near neighbor)
+
+cdo -P 38 remap,$projpath/b380782_Christoph/icon-climxtreme/postprocessing_scripts/grid_info_2km.txt,remapweights_2km.nc icon-3d_ML_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_202101${day}T${hour}0000Z.nc
+
+rm icon-3d_ML_202101${day}T${hour}0000Z.nc
+
+# 4) conservative remapping to 1x1 degree
+
+cdo -P 32 remapcon,$projpath/b380782_Christoph/icon-climxtreme/postprocessing_scripts/grid_info_1x1.txt icon-atm3d_ML_reg_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.nc
+
+rm icon-atm3d_ML_reg_202101${day}T${hour}0000Z.nc
+
+# 5) Interpolate from height to pressure levels (var 'pres' must be present in the dataset)
+
+# get sfc pressure from remapped 2d files
+cdo -P 38 selname,pres_sfc ../remapped_atm2d_latlon/icon-atm2d_ML_reg_con_202101${day}T${hour}0000Z.nc pres_sfc_reg_con_202101${day}T${hour}0000Z.nc
+
+# merge sfc pressure into remapped 3d files
+cdo -P 38 merge icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.nc pres_sfc_reg_con_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc
+
+# interpolate to pressure levels
+cdo -P 38 ap2pl,$plevout icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc icon-atm3d_PL_reg_con_202101${day}T${hour}0000Z.nc
+
+# cleanup
+rm pres_sfc_reg_con_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc
+
+done
+done
+
+#-----------------------------------------------------------------------------------------
+# last time step
+
+day=10
+hour=00
+
+# 2) select variables from the 3d dataset
+
+cdo -P 38 selname,u,v,pres,w,omega,temp,vor,div,z_ifc,geopot,qv ../icon-atm3d_ML_202101${day}T${hour}0000Z.nc icon-3d_ML_202101${day}T${hour}0000Z.nc
+
+# 3) remap to regular lat,lon grid (near neighbor)
+
+cdo -P 38 remap,$projpath/b380782_Christoph/icon-climxtreme/postprocessing_scripts/grid_info_2km.txt,remapweights_2km.nc icon-3d_ML_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_202101${day}T${hour}0000Z.nc
+
+rm icon-3d_ML_202101${day}T${hour}0000Z.nc
+
+# 4) conservative remapping to 1x1 degree
+
+cdo -P 32 remapcon,$projpath/b380782_Christoph/icon-climxtreme/postprocessing_scripts/grid_info_1x1.txt icon-atm3d_ML_reg_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.nc
+
+rm icon-atm3d_ML_reg_202101${day}T${hour}0000Z.nc
+
+# 5) Interpolate from height to pressure levels (var 'pres' must be present in the dataset)
+
+# get sfc pressure from remapped 2d files
+cdo -P 38 selname,pres_sfc ../remapped_atm2d_latlon/icon-atm2d_ML_reg_con_202101${day}T${hour}0000Z.nc pres_sfc_reg_con_202101${day}T${hour}0000Z.nc
+
+# merge sfc pressure into remapped 3d files
+cdo -P 38 merge icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.nc pres_sfc_reg_con_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc
+
+# interpolate to pressure levels
+cdo -P 38 ap2pl,$plevout icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc icon-atm3d_PL_reg_con_202101${day}T${hour}0000Z.nc
+
+# cleanup
+rm pres_sfc_reg_con_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc
+
+#-----------------------------------------------------------------------------------------
+# delete grid file and remap weights
+rm remapweights_2km.nc
+
+#
diff --git a/Scripts_for_postprocessing/remap_mlpl_atm3d_2km_025x025deg.sh b/Scripts_for_postprocessing/remap_mlpl_atm3d_2km_025x025deg.sh
new file mode 100644
index 0000000..ebdeb30
--- /dev/null
+++ b/Scripts_for_postprocessing/remap_mlpl_atm3d_2km_025x025deg.sh
@@ -0,0 +1,156 @@
+#!/bin/bash
+#=============================================================================
+#SBATCH --account=bb1152
+#SBATCH --job-name=remap_mlpl_atm3d_2km_025x025
+#SBATCH --partition=compute
+#SBATCH --nodes=10
+#SBATCH --threads-per-core=2
+# the following is needed to work around a bug that otherwise leads to
+# a too low number of ranks when using compute,compute2 as queue
+#SBATCH --mem=0
+#SBATCH --exclusive
+#SBATCH --output=/home/b/b380782/pp_logs_cyclex/LOG.remap_mlpl_atm3d_2km_025x025.%j.o
+#SBATCH --error=/home/b/b380782/pp_logs_cyclex/LOG.remap_mlpl_atm3d_2km_025x025.%j.o
+#SBATCH --time=04:00:00
+#=========================================================================================
+# this script is for remapping data sets from native unstructured grid 
+# to regular lat/lon grid
+# first near neighbor interpolation with the same resolution then conservative remapping
+
+
+#### INFO: If you cloned the code repository to your home directory (as suggested in the wiki)
+####       you need to change the username and experiment in the following section. The username
+####       also needs to be changed in the job header (path for log and error files).
+
+#### Set username and experiment
+###
+## Set username here and in job header
+#
+# name of user submitting this script
+username=b380782
+
+# experiment name
+exp=channel_2km_0005
+
+####
+####
+
+#### load required module
+module load cdo
+
+#### Set paths
+
+### raw data
+# folder with data that will be remapped
+datapath=/work/bb1152/Module_A/A6_CyclEx/sim_data/production
+
+simpath=$datapath/$exp
+echo $simpath
+
+### required scripts
+# path to clone of code repository
+repopath=/home/b/$username/icon-climxtreme
+# path to scripts WITHIN code repository
+scriptpath=CC_postprocessing_scripts
+
+### output directory
+# indicated scratch with predefined directory
+outpath=/scratch/b/$username/check_remapping_on_PTE/$exp
+echo $outpath
+
+# directory, in which the remapped data will be stored
+mkdir -p $outpath/remapped_atm3d_latlon_025x025
+cd $outpath/remapped_atm3d_latlon_025x025
+
+#### Remapping
+
+# define pressure levels that data will be remapped to
+plevout="1000,2000,3000,4000,5000,6000,7000,8000,9000,10000,11000,12000,13000,14000,15000,16000,17000,18000,19000,20000,21000,22000,23000,24000,25000,26000,27000,28000,29000,30000,31000,32000,33000,34000,35000,36000,37000,38000,39000,40000,41000,42000,43000,44000,45000,46000,47000,48000,49000,50000,51000,52000,53000,54000,55000,56000,57000,58000,59000,60000,61000,62000,63000,64000,65000,66000,67000,68000,69000,70000,71000,72000,73000,74000,75000,76000,77000,78000,79000,80000,81000,82000,83000,84000,85000,86000,87000,88000,89000,90000,91000,92000,93000,94000,95000,96000,97000,98000,99000,100000"
+
+# 1) Creating weights from a dataset which contains grid information!
+# icon-extra_ml.nc is the dataset which contains the clon,clat or from the grid file itself
+
+# Grid description: grid_info_2km.txt
+
+cdo -P 32 gennn,$repopath/$scriptpath/grid_info_2km.txt $simpath/icon-extra_ml.nc remapweights_2km.nc
+
+#------------------------------------------------------------------------------------------
+# loop over the time steps
+for day in 01 02 03 04 05 06 07 08 09 ; do
+
+for hour in 00 06 12 18 ; do
+
+# 2) select variables from the 3d dataset
+
+cdo -P 38 selname,u,v,pres,w,omega,temp,vor,div,z_ifc,geopot,qv $simpath/icon-atm3d_ML_202101${day}T${hour}0000Z.nc icon-3d_ML_202101${day}T${hour}0000Z.nc
+
+# 3) remap to regular lat,lon grid (near neighbor)
+
+cdo -P 38 remap,$repopath/$scriptpath/grid_info_2km.txt,remapweights_2km.nc icon-3d_ML_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_202101${day}T${hour}0000Z.nc
+
+rm icon-3d_ML_202101${day}T${hour}0000Z.nc
+
+# 4) conservative remapping to 0.25x0.25 degree
+
+cdo -P 32 remapcon,$repopath/$scriptpath/grid_info_025x025.txt icon-atm3d_ML_reg_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.nc
+
+rm icon-atm3d_ML_reg_202101${day}T${hour}0000Z.nc
+
+# 5) Interpolate from height to pressure levels (var 'pres' must be present in the dataset)
+
+# get sfc pressure from remapped 2d files
+cdo -P 38 selname,pres_sfc ../remapped_atm2d_latlon_025x025/icon-atm2d_ML_reg_con_202101${day}T${hour}0000Z.nc pres_sfc_reg_con_202101${day}T${hour}0000Z.nc
+
+# merge sfc pressure into remapped 3d files
+cdo -P 38 merge icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.nc pres_sfc_reg_con_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc
+
+# interpolate to pressure levels
+cdo -P 38 ap2pl,$plevout icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc icon-atm3d_PL_reg_con_202101${day}T${hour}0000Z.nc
+
+# cleanup
+rm pres_sfc_reg_con_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc
+
+done
+done
+
+#-----------------------------------------------------------------------------------------
+# last time step
+
+day=10
+hour=00
+
+# 2) select variables from the 3d dataset
+
+cdo -P 38 selname,u,v,pres,w,omega,temp,vor,div,z_ifc,geopot,qv $simpath/icon-atm3d_ML_202101${day}T${hour}0000Z.nc icon-3d_ML_202101${day}T${hour}0000Z.nc
+
+# 3) remap to regular lat,lon grid (near neighbor)
+
+cdo -P 38 remap,$repopath/$scriptpath/grid_info_2km.txt,remapweights_2km.nc icon-3d_ML_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_202101${day}T${hour}0000Z.nc
+
+rm icon-3d_ML_202101${day}T${hour}0000Z.nc
+
+# 4) conservative remapping to 0.25x0.25 degree
+
+cdo -P 32 remapcon,$repopath/$scriptpath/grid_info_025x025.txt icon-atm3d_ML_reg_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.nc
+
+rm icon-atm3d_ML_reg_202101${day}T${hour}0000Z.nc
+
+# 5) Interpolate from height to pressure levels (var 'pres' must be present in the dataset)
+
+# get sfc pressure from remapped 2d files
+cdo -P 38 selname,pres_sfc ../remapped_atm2d_latlon_025x025/icon-atm2d_ML_reg_con_202101${day}T${hour}0000Z.nc pres_sfc_reg_con_202101${day}T${hour}0000Z.nc
+
+# merge sfc pressure into remapped 3d files
+cdo -P 38 merge icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.nc pres_sfc_reg_con_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc
+
+# interpolate to pressure levels
+cdo -P 38 ap2pl,$plevout icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc icon-atm3d_PL_reg_con_202101${day}T${hour}0000Z.nc
+
+# cleanup
+rm pres_sfc_reg_con_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc
+
+#-----------------------------------------------------------------------------------------
+# delete grid file and remap weights
+rm remapweights_2km.nc
+
+#
diff --git a/Scripts_for_postprocessing/remap_mlpl_atm3d_2km_0p05x0p05deg.sh b/Scripts_for_postprocessing/remap_mlpl_atm3d_2km_0p05x0p05deg.sh
new file mode 100644
index 0000000..fef40ef
--- /dev/null
+++ b/Scripts_for_postprocessing/remap_mlpl_atm3d_2km_0p05x0p05deg.sh
@@ -0,0 +1,156 @@
+#!/bin/bash
+#=============================================================================
+#SBATCH --account=bb1152
+#SBATCH --job-name=remap_mlpl_atm3d_2km_0p05x0p05
+#SBATCH --partition=compute
+#SBATCH --nodes=10
+#SBATCH --threads-per-core=2
+# the following is needed to work around a bug that otherwise leads to
+# a too low number of ranks when using compute,compute2 as queue
+#SBATCH --mem=0
+#SBATCH --exclusive
+#SBATCH --output=/home/b/b380782/pp_logs_cyclex/LOG.remap_mlpl_atm3d_2km_0p05x0p05.%j.o
+#SBATCH --error=/home/b/b380782/pp_logs_cyclex/LOG.remap_mlpl_atm3d_2km_0p05x0p05.%j.o
+#SBATCH --time=04:00:00
+#=========================================================================================
+# this script is for remapping data sets from native unstructured grid 
+# to regular lat/lon grid
+# first near neighbor interpolation with the same resolution then conservative remapping
+
+
+#### INFO: If you cloned the code repository to your home directory (as suggested in the wiki)
+####       you need to change the username and experiment in the following section. The username
+####       also needs to be changed in the job header (path for log and error files).
+
+#### Set username and experiment
+###
+## Set username here and in job header
+#
+# name of user submitting this script
+username=b380782
+
+# experiment name
+exp=channel_2km_0004
+
+####
+####
+
+#### load required module
+module load cdo
+
+#### Set paths
+
+### raw data
+# folder with data that will be remapped
+datapath=/work/bb1152/Module_A/A6_CyclEx/sim_data/production
+
+simpath=$datapath/$exp
+echo $simpath
+
+### required scripts
+# path to clone of code repository
+repopath=/home/b/$username/icon-climxtreme
+# path to scripts WITHIN code repository
+scriptpath=CC_postprocessing_scripts
+
+### output directory
+# indicated scratch with predefined directory
+outpath=/scratch/b/$username/check_remapping_on_PTE/$exp
+echo $outpath
+
+# directory, in which the remapped data will be stored
+mkdir -p $outpath/remapped_atm3d_latlon_0p05x0p05
+cd $outpath/remapped_atm3d_latlon_0p05x0p05
+
+#### Remapping
+
+# define pressure levels that data will be remapped to
+plevout="1000,2000,3000,4000,5000,6000,7000,8000,9000,10000,11000,12000,13000,14000,15000,16000,17000,18000,19000,20000,21000,22000,23000,24000,25000,26000,27000,28000,29000,30000,31000,32000,33000,34000,35000,36000,37000,38000,39000,40000,41000,42000,43000,44000,45000,46000,47000,48000,49000,50000,51000,52000,53000,54000,55000,56000,57000,58000,59000,60000,61000,62000,63000,64000,65000,66000,67000,68000,69000,70000,71000,72000,73000,74000,75000,76000,77000,78000,79000,80000,81000,82000,83000,84000,85000,86000,87000,88000,89000,90000,91000,92000,93000,94000,95000,96000,97000,98000,99000,100000"
+
+# 1) Creating weights from a dataset which contains grid information!
+# icon-extra_ml.nc is the dataset which contains the clon,clat or from the grid file itself
+
+# Grid description: grid_info_2km.txt
+
+cdo -P 32 gennn,$repopath/$scriptpath/grid_info_2km.txt $simpath/icon-extra_ml.nc remapweights_2km.nc
+
+#------------------------------------------------------------------------------------------
+# loop over the time steps
+for day in 01 02 03 04 05 06 07 08 09 ; do
+
+for hour in 00 06 12 18 ; do
+
+# 2) select variables from the 3d dataset
+
+cdo -P 38 selname,u,v,pres,w,omega,temp,vor,div,z_ifc,geopot,qv $simpath/icon-atm3d_ML_202101${day}T${hour}0000Z.nc icon-3d_ML_202101${day}T${hour}0000Z.nc
+
+# 3) remap to regular lat,lon grid (near neighbor)
+
+cdo -P 38 remap,$repopath/$scriptpath/grid_info_2km.txt,remapweights_2km.nc icon-3d_ML_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_202101${day}T${hour}0000Z.nc
+
+rm icon-3d_ML_202101${day}T${hour}0000Z.nc
+
+# 4) conservative remapping to 0.05x0.05 degree
+
+cdo -P 32 remapcon,$repopath/$scriptpath/grid_info_0p05x0p05.txt icon-atm3d_ML_reg_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.nc
+
+rm icon-atm3d_ML_reg_202101${day}T${hour}0000Z.nc
+
+# 5) Interpolate from height to pressure levels (var 'pres' must be present in the dataset)
+
+# get sfc pressure from remapped 2d files
+cdo -P 38 selname,pres_sfc ../remapped_atm2d_latlon_0p05x0p05/icon-atm2d_ML_reg_con_202101${day}T${hour}0000Z.nc pres_sfc_reg_con_202101${day}T${hour}0000Z.nc
+
+# merge sfc pressure into remapped 3d files
+cdo -P 38 merge icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.nc pres_sfc_reg_con_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc
+
+# interpolate to pressure levels
+cdo -P 38 ap2pl,$plevout icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc icon-atm3d_PL_reg_con_202101${day}T${hour}0000Z.nc
+
+# cleanup
+rm pres_sfc_reg_con_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc
+
+done
+done
+
+#-----------------------------------------------------------------------------------------
+# last time step
+
+day=10
+hour=00
+
+# 2) select variables from the 3d dataset
+
+cdo -P 38 selname,u,v,pres,w,omega,temp,vor,div,z_ifc,geopot,qv $simpath/icon-atm3d_ML_202101${day}T${hour}0000Z.nc icon-3d_ML_202101${day}T${hour}0000Z.nc
+
+# 3) remap to regular lat,lon grid (near neighbor)
+
+cdo -P 38 remap,$repopath/$scriptpath/grid_info_2km.txt,remapweights_2km.nc icon-3d_ML_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_202101${day}T${hour}0000Z.nc
+
+rm icon-3d_ML_202101${day}T${hour}0000Z.nc
+
+# 4) conservative remapping to 0.05x0.05 degree
+
+cdo -P 32 remapcon,$repopath/$scriptpath/grid_info_0p05x0p05.txt icon-atm3d_ML_reg_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.nc
+
+rm icon-atm3d_ML_reg_202101${day}T${hour}0000Z.nc
+
+# 5) Interpolate from height to pressure levels (var 'pres' must be present in the dataset)
+
+# get sfc pressure from remapped 2d files
+cdo -P 38 selname,pres_sfc ../remapped_atm2d_latlon_0p05x0p05/icon-atm2d_ML_reg_con_202101${day}T${hour}0000Z.nc pres_sfc_reg_con_202101${day}T${hour}0000Z.nc
+
+# merge sfc pressure into remapped 3d files
+cdo -P 38 merge icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.nc pres_sfc_reg_con_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc
+
+# interpolate to pressure levels
+cdo -P 38 ap2pl,$plevout icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc icon-atm3d_PL_reg_con_202101${day}T${hour}0000Z.nc
+
+# cleanup
+rm pres_sfc_reg_con_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc
+
+#-----------------------------------------------------------------------------------------
+# delete grid file and remap weights
+rm remapweights_2km.nc
+
+#
diff --git a/Scripts_for_postprocessing/remap_mlpl_atm3d_80km.sh b/Scripts_for_postprocessing/remap_mlpl_atm3d_80km.sh
new file mode 100644
index 0000000..369a6b1
--- /dev/null
+++ b/Scripts_for_postprocessing/remap_mlpl_atm3d_80km.sh
@@ -0,0 +1,121 @@
+#!/bin/bash
+#=============================================================================
+#SBATCH --account=bb1152
+#SBATCH --job-name=remap_mlpl_atm3d_80km
+#SBATCH --partition=compute
+#SBATCH --nodes=10
+#SBATCH --threads-per-core=2
+# the following is needed to work around a bug that otherwise leads to
+# a too low number of ranks when using compute,compute2 as queue
+#SBATCH --mem=0
+#SBATCH --exclusive
+#SBATCH --output=/work/bb1152/Module_A/A6_CyclEx/b380782_Christoph/pp_logs/LOG.remap_mlpl_atm3d_80km.%j.o
+#SBATCH --error=/work/bb1152/Module_A/A6_CyclEx/b380782_Christoph/pp_logs/LOG.remap_mlpl_atm3d_80km.%j.o
+#SBATCH --time=00:30:00
+#=========================================================================================
+# this script is for remapping data sets from native unstructured grid 
+# to regular lat/lon grid
+# first near neighbor interpolation with the same resolution then conservative remapping
+
+# folder with data that will be remapped
+exp=channel_80km_0006
+datapath=/work/bb1152/Module_A/A6_CyclEx/sim_data/production
+projpath=/work/bb1152/Module_A/A6_CyclEx
+
+simpath=$datapath/$exp
+echo $simpath
+
+# folder in which the remapped data will be stored
+mkdir -p $simpath/remapped_atm3d_latlon
+cd $simpath/remapped_atm3d_latlon
+
+# define pressure levels that data will be remapped to
+plevout="1000,2000,3000,4000,5000,6000,7000,8000,9000,10000,11000,12000,13000,14000,15000,16000,17000,18000,19000,20000,21000,22000,23000,24000,25000,26000,27000,28000,29000,30000,31000,32000,33000,34000,35000,36000,37000,38000,39000,40000,41000,42000,43000,44000,45000,46000,47000,48000,49000,50000,51000,52000,53000,54000,55000,56000,57000,58000,59000,60000,61000,62000,63000,64000,65000,66000,67000,68000,69000,70000,71000,72000,73000,74000,75000,76000,77000,78000,79000,80000,81000,82000,83000,84000,85000,86000,87000,88000,89000,90000,91000,92000,93000,94000,95000,96000,97000,98000,99000,100000"
+
+# 1) Creating weights from a dataset which contains grid information!
+# icon-extra_ml.nc is the dataset which contains the clon,clat or from the grid file itself
+
+# Grid description: grid_info_80km.txt
+
+cdo -P 32 gennn,$projpath/b380782_Christoph/icon-climxtreme/postprocessing_scripts/grid_info_80km.txt $simpath/icon-extra_ml.nc remapweights_80km.nc
+
+#------------------------------------------------------------------------------------------
+# loop over the time steps
+for day in 01 02 03 04 05 06 07 08 09 ; do
+
+for hour in 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ; do
+
+# 2) select variables from the 3d dataset
+
+cdo -P 38 selname,u,v,pres,w,omega,temp,vor,div,z_ifc,geopot,qv ../icon-atm3d_ML_202101${day}T${hour}0000Z.nc icon-3d_ML_202101${day}T${hour}0000Z.nc
+
+# 3) remap to regular lat,lon grid (near neighbor)
+
+cdo -P 38 remap,$projpath/b380782_Christoph/icon-climxtreme/postprocessing_scripts/grid_info_80km.txt,remapweights_80km.nc icon-3d_ML_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_202101${day}T${hour}0000Z.nc
+
+rm icon-3d_ML_202101${day}T${hour}0000Z.nc
+
+# 4) conservative remapping to 1x1 degree
+
+cdo -P 32 remapcon,$projpath/b380782_Christoph/icon-climxtreme/postprocessing_scripts/grid_info_1x1.txt icon-atm3d_ML_reg_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.nc
+
+rm icon-atm3d_ML_reg_202101${day}T${hour}0000Z.nc
+
+# 5) Interpolate from height to pressure levels (var 'pres' must be present in the dataset)
+
+# get sfc pressure from remapped 2d files
+cdo -P 38 selname,pres_sfc ../remapped_atm2d_latlon/icon-atm2d_ML_reg_con_202101${day}T${hour}0000Z.nc pres_sfc_reg_con_202101${day}T${hour}0000Z.nc
+
+# merge sfc pressure into remapped 3d files
+cdo -P 38 merge icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.nc pres_sfc_reg_con_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc
+
+# interpolate to pressure levels
+cdo -P 38 ap2pl,$plevout icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc icon-atm3d_PL_reg_con_202101${day}T${hour}0000Z.nc
+
+# cleanup
+rm pres_sfc_reg_con_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc
+
+done
+done
+
+#-----------------------------------------------------------------------------------------
+# last time step
+
+day=10
+hour=00
+
+# 2) select variables from the 3d dataset
+
+cdo -P 38 selname,u,v,pres,w,omega,temp,vor,div,z_ifc,geopot,qv ../icon-atm3d_ML_202101${day}T${hour}0000Z.nc icon-3d_ML_202101${day}T${hour}0000Z.nc
+
+# 3) remap to regular lat,lon grid (near neighbor)
+
+cdo -P 38 remap,$projpath/b380782_Christoph/icon-climxtreme/postprocessing_scripts/grid_info_80km.txt,remapweights_80km.nc icon-3d_ML_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_202101${day}T${hour}0000Z.nc
+
+rm icon-3d_ML_202101${day}T${hour}0000Z.nc
+
+# 4) conservative remapping to 1x1 degree
+
+cdo -P 32 remapcon,$projpath/b380782_Christoph/icon-climxtreme/postprocessing_scripts/grid_info_1x1.txt icon-atm3d_ML_reg_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.nc
+
+rm icon-atm3d_ML_reg_202101${day}T${hour}0000Z.nc
+
+# 5) Interpolate from height to pressure levels (var 'pres' must be present in the dataset)
+
+# get sfc pressure from remapped 2d files
+cdo -P 38 selname,pres_sfc ../remapped_atm2d_latlon/icon-atm2d_ML_reg_con_202101${day}T${hour}0000Z.nc pres_sfc_reg_con_202101${day}T${hour}0000Z.nc
+
+# merge sfc pressure into remapped 3d files
+cdo -P 38 merge icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.nc pres_sfc_reg_con_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc
+
+# interpolate to pressure levels
+cdo -P 38 ap2pl,$plevout icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc icon-atm3d_PL_reg_con_202101${day}T${hour}0000Z.nc
+
+# cleanup
+rm pres_sfc_reg_con_202101${day}T${hour}0000Z.nc icon-atm3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc
+
+#-----------------------------------------------------------------------------------------
+# delete grid file and remap weights
+rm remapweights_80km.nc
+
+#
diff --git a/Scripts_for_postprocessing/remap_mlpl_ddt3d_2km.sh b/Scripts_for_postprocessing/remap_mlpl_ddt3d_2km.sh
new file mode 100644
index 0000000..2b7e534
--- /dev/null
+++ b/Scripts_for_postprocessing/remap_mlpl_ddt3d_2km.sh
@@ -0,0 +1,144 @@
+#!/bin/bash
+#=============================================================================
+#SBATCH --account=bb1152
+#SBATCH --job-name=remap_mlpl_ddt3d_2km
+#SBATCH --partition=compute
+#SBATCH --nodes=10
+#SBATCH --threads-per-core=2
+# the following is needed to work around a bug that otherwise leads to
+# a too low number of ranks when using compute,compute2 as queue
+#SBATCH --mem=0
+#SBATCH --exclusive
+#SBATCH --output=/home/b/b380782/pp_logs_cyclex/LOG.remap_mlpl_ddt3d_2km.%j.o
+#SBATCH --error=/home/b/b380782/pp_logs_cyclex/LOG.remap_mlpl_ddt3d_2km.%j.e
+#SBATCH --time=04:00:00
+#=========================================================================================
+# this script is for remapping data sets from native unstructured grid 
+# to regular lat/lon grid
+# first near neighbor interpolation with the same resolution then conservative remapping
+
+
+#### INFO: If you cloned the code repository to your home directory (as suggested in the wiki)
+####       you need to change the username and experiment in the following section. The username
+####       also needs to be changed in the job header (path for log and error files).
+
+#### Set username and experiment
+###
+## Set username here and in job header
+#
+# name of user submitting this script
+username=b380782
+
+# experiment name
+exp=channel_2km_0006
+
+####
+####
+
+#### load required module
+module load cdo
+
+#### Set paths
+
+### raw data
+# folder with data that will be remapped
+datapath=/work/bb1152/Module_A/A6_CyclEx/sim_data/production
+
+simpath=$datapath/$exp
+echo $simpath
+
+### required scripts
+# path to clone of code repository
+repopath=/home/b/$username/icon-climxtreme
+# path to scripts WITHIN code repository
+scriptpath=CC_postprocessing_scripts
+
+### output directory
+# indicated scratch with predefined directory
+outpath=/work/bb1152/Module_A/A6_CyclEx/sim_data/production/$exp
+echo $outpath
+
+# directory, in which the remapped data will be stored
+mkdir -p $outpath/remapped_ddt3d_latlon
+cd $outpath/remapped_ddt3d_latlon
+
+#### Remapping
+
+# define pressure levels that data will be remapped to
+plevout="1000,2000,3000,4000,5000,6000,7000,8000,9000,10000,11000,12000,13000,14000,15000,16000,17000,18000,19000,20000,21000,22000,23000,24000,25000,26000,27000,28000,29000,30000,31000,32000,33000,34000,35000,36000,37000,38000,39000,40000,41000,42000,43000,44000,45000,46000,47000,48000,49000,50000,51000,52000,53000,54000,55000,56000,57000,58000,59000,60000,61000,62000,63000,64000,65000,66000,67000,68000,69000,70000,71000,72000,73000,74000,75000,76000,77000,78000,79000,80000,81000,82000,83000,84000,85000,86000,87000,88000,89000,90000,91000,92000,93000,94000,95000,96000,97000,98000,99000,100000"
+
+# 1) Creating weights from a dataset which contains grid information!
+# icon-extra_ml.nc is the dataset which contains the clon,clat or from the grid file itself
+
+# Grid description: grid_info_2km.txt
+
+cdo -P 32 gennn,$repopath/$scriptpath/grid_info_2km.txt $simpath/icon-extra_ml.nc remapweights_2km.nc
+
+#------------------------------------------------------------------------------------------
+# loop over the time steps
+for day in 01 02 03 04 05 06 07 08 09 ; do
+
+for hour in 00 06 12 18 ; do
+
+# 2) remap to regular lat,lon grid (near neighbor)
+
+cdo -P 38 remap,$repopath/$scriptpath/grid_info_2km.txt,remapweights_2km.nc $simpath/icon-ddt3d_ML_202101${day}T${hour}0000Z.nc icon-ddt3d_ML_reg_202101${day}T${hour}0000Z.nc
+
+# 3) conservative remapping to 1x1 degree
+
+cdo -P 32 remapcon,$repopath/$scriptpath/grid_info_1x1.txt icon-ddt3d_ML_reg_202101${day}T${hour}0000Z.nc icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.nc
+
+rm icon-ddt3d_ML_reg_202101${day}T${hour}0000Z.nc
+
+# 4) Interpolate from height to pressure levels (var 'pres' must be present in the dataset)
+
+# get sfc pressure from remapped 2d files
+cdo -P 38 selname,pres_sfc ../remapped_atm2d_latlon/icon-atm2d_ML_reg_con_202101${day}T${hour}0000Z.nc pres_sfc_reg_con_202101${day}T${hour}0000Z.nc
+
+# merge sfc pressure into remapped 3d files
+cdo -P 38 merge icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.nc pres_sfc_reg_con_202101${day}T${hour}0000Z.nc icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc
+
+# interpolate to pressure levels
+cdo -P 38 ap2pl,$plevout icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc icon-ddt3d_PL_reg_con_202101${day}T${hour}0000Z.nc
+
+# cleanup
+rm pres_sfc_reg_con_202101${day}T${hour}0000Z.nc icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc
+
+done
+done
+
+#-----------------------------------------------------------------------------------------
+# last time step
+
+day=10
+hour=00
+
+# 2) remap to regular lat,lon grid (near neighbor)
+
+cdo -P 38 remap,$repopath/$scriptpath/grid_info_2km.txt,remapweights_2km.nc $simpath/icon-ddt3d_ML_202101${day}T${hour}0000Z.nc icon-ddt3d_ML_reg_202101${day}T${hour}0000Z.nc
+
+# 3) conservative remapping to 1x1 degree
+
+cdo -P 32 remapcon,$repopath/$scriptpath/grid_info_1x1.txt icon-ddt3d_ML_reg_202101${day}T${hour}0000Z.nc icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.nc
+
+rm icon-ddt3d_ML_reg_202101${day}T${hour}0000Z.nc
+
+# 4) Interpolate from height to pressure levels (var 'pres' must be present in the dataset)
+
+# get sfc pressure from remapped 2d files
+cdo -P 38 selname,pres_sfc ../remapped_atm2d_latlon/icon-atm2d_ML_reg_con_202101${day}T${hour}0000Z.nc pres_sfc_reg_con_202101${day}T${hour}0000Z.nc
+
+# merge sfc pressure into remapped 3d files
+cdo -P 38 merge icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.nc pres_sfc_reg_con_202101${day}T${hour}0000Z.nc icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc
+
+# interpolate to pressure levels
+cdo -P 38 ap2pl,$plevout icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc icon-ddt3d_PL_reg_con_202101${day}T${hour}0000Z.nc
+
+# cleanup
+rm pres_sfc_reg_con_202101${day}T${hour}0000Z.nc icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc
+
+#-----------------------------------------------------------------------------------------
+# delete grid file and remap weights
+rm remapweights_2km.nc
+
+#
diff --git a/Scripts_for_postprocessing/remap_mlpl_ddt3d_2km_025x025deg.sh b/Scripts_for_postprocessing/remap_mlpl_ddt3d_2km_025x025deg.sh
new file mode 100644
index 0000000..e8b8a0c
--- /dev/null
+++ b/Scripts_for_postprocessing/remap_mlpl_ddt3d_2km_025x025deg.sh
@@ -0,0 +1,164 @@
+#!/bin/bash
+#=============================================================================
+#SBATCH --account=bb1152
+#SBATCH --job-name=remap_mlpl_ddt3d_2km_025x025
+#SBATCH --partition=compute
+#SBATCH --nodes=10
+#SBATCH --threads-per-core=2
+# the following is needed to work around a bug that otherwise leads to
+# a too low number of ranks when using compute,compute2 as queue
+#SBATCH --mem=0
+#SBATCH --exclusive
+#SBATCH --output=/home/b/b380782/pp_logs_cyclex/LOG.remap_mlpl_ddt3d_2km_025x025.%j.o
+#SBATCH --error=/home/b/b380782/pp_logs_cyclex/LOG.remap_mlpl_ddt3d_2km_025x025.%j.e
+#SBATCH --time=04:00:00
+#=========================================================================================
+# this script is for remapping data sets from native unstructured grid 
+# to regular lat/lon grid
+# first near neighbor interpolation with the same resolution then conservative remapping
+
+
+#### INFO: If you cloned the code repository to your home directory (as suggested in the wiki)
+####       you need to change the username and experiment in the following section. The username
+####       also needs to be changed in the job header (path for log and error files).
+
+#### Set username and experiment
+###
+## Set username here and in job header
+#
+# name of user submitting this script
+username=b380782
+
+# experiment name
+exp=channel_2km_0005
+
+####
+####
+
+#### load required module
+module load cdo
+
+#### Set paths
+
+### raw data
+# folder with data that will be remapped
+datapath=/work/bb1152/Module_A/A6_CyclEx/sim_data/production
+
+simpath=$datapath/$exp
+echo $simpath
+
+### required scripts
+# path to clone of code repository
+repopath=/home/b/$username/icon-climxtreme
+# path to scripts WITHIN code repository
+scriptpath=CC_postprocessing_scripts
+
+### output directory
+# indicated scratch with predefined directory
+outpath=/scratch/b/$username/check_remapping_on_PTE/$exp
+echo $outpath
+
+# directory, in which the remapped data will be stored
+mkdir -p $outpath/remapped_ddt3d_latlon_025x025
+cd $outpath/remapped_ddt3d_latlon_025x025
+
+#### Remapping
+
+# define pressure levels that data will be remapped to
+plevout="1000,2000,3000,4000,5000,6000,7000,8000,9000,10000,11000,12000,13000,14000,15000,16000,17000,18000,19000,20000,21000,22000,23000,24000,25000,26000,27000,28000,29000,30000,31000,32000,33000,34000,35000,36000,37000,38000,39000,40000,41000,42000,43000,44000,45000,46000,47000,48000,49000,50000,51000,52000,53000,54000,55000,56000,57000,58000,59000,60000,61000,62000,63000,64000,65000,66000,67000,68000,69000,70000,71000,72000,73000,74000,75000,76000,77000,78000,79000,80000,81000,82000,83000,84000,85000,86000,87000,88000,89000,90000,91000,92000,93000,94000,95000,96000,97000,98000,99000,100000"
+
+# 1) Creating weights from a dataset which contains grid information!
+# icon-extra_ml.nc is the dataset which contains the clon,clat or from the grid file itself
+
+# Grid description: grid_info_2km.txt
+
+cdo -P 32 gennn,$repopath/$scriptpath/grid_info_2km.txt $simpath/icon-extra_ml.nc remapweights_2km.nc
+
+#------------------------------------------------------------------------------------------
+# loop over the time steps
+for day in 01 02 03 04 05 06 07 08 09 ; do
+
+for hour in 00 06 12 18 ; do
+
+### CB remap all vars in the ddt files
+
+# 2) select variables from the 3d dataset
+
+#cdo -P 38 selname,pres,ddt_temp_totnwpphy $simpath/icon-ddt3d_ML_202101${day}T${hour}0000Z.nc icon-3d_ML_202101${day}T${hour}0000Z.nc
+
+# 2) remap to regular lat,lon grid (near neighbor)
+
+cdo -P 38 remap,$repopath/$scriptpath/grid_info_2km.txt,remapweights_2km.nc $simpath/icon-ddt3d_ML_202101${day}T${hour}0000Z.nc icon-ddt3d_ML_reg_202101${day}T${hour}0000Z.nc
+
+### CB file not created, see comment above
+
+# rm icon-3d_ML_202101${day}T${hour}0000Z.nc
+
+# 3) conservative remapping to 0.25x0.25 degree
+
+cdo -P 32 remapcon,$repopath/$scriptpath/grid_info_025x025.txt icon-ddt3d_ML_reg_202101${day}T${hour}0000Z.nc icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.nc
+
+rm icon-ddt3d_ML_reg_202101${day}T${hour}0000Z.nc
+
+# 4) Interpolate from height to pressure levels (var 'pres' must be present in the dataset)
+
+# get sfc pressure from remapped 2d files
+cdo -P 38 selname,pres_sfc ../remapped_atm2d_latlon_025x025/icon-atm2d_ML_reg_con_202101${day}T${hour}0000Z.nc pres_sfc_reg_con_202101${day}T${hour}0000Z.nc
+
+# merge sfc pressure into remapped 3d files
+cdo -P 38 merge icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.nc pres_sfc_reg_con_202101${day}T${hour}0000Z.nc icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc
+
+# interpolate to pressure levels
+cdo -P 38 ap2pl,$plevout icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc icon-ddt3d_PL_reg_con_202101${day}T${hour}0000Z.nc
+
+# cleanup
+rm pres_sfc_reg_con_202101${day}T${hour}0000Z.nc icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc
+
+done
+done
+
+#-----------------------------------------------------------------------------------------
+# last time step
+
+day=10
+hour=00
+
+### CB remap all vars in the ddt files
+
+# 2) select variables from the 3d dataset
+
+#cdo -P 38 selname,pres,ddt_temp_totnwpphy $simpath/icon-ddt3d_ML_202101${day}T${hour}0000Z.nc icon-3d_ML_202101${day}T${hour}0000Z.nc
+
+# 2) remap to regular lat,lon grid (near neighbor)
+
+cdo -P 38 remap,$repopath/$scriptpath/grid_info_2km.txt,remapweights_2km.nc $simpath/icon-ddt3d_ML_202101${day}T${hour}0000Z.nc icon-ddt3d_ML_reg_202101${day}T${hour}0000Z.nc
+
+### CB file not created, see comment above
+
+# rm icon-3d_ML_202101${day}T${hour}0000Z.nc
+
+# 3) conservative remapping to 0.25x0.25 degree
+
+cdo -P 32 remapcon,$repopath/$scriptpath/grid_info_025x025.txt icon-ddt3d_ML_reg_202101${day}T${hour}0000Z.nc icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.nc
+
+rm icon-ddt3d_ML_reg_202101${day}T${hour}0000Z.nc
+
+# 4) Interpolate from height to pressure levels (var 'pres' must be present in the dataset)
+
+# get sfc pressure from remapped 2d files
+cdo -P 38 selname,pres_sfc ../remapped_atm2d_latlon_025x025/icon-atm2d_ML_reg_con_202101${day}T${hour}0000Z.nc pres_sfc_reg_con_202101${day}T${hour}0000Z.nc
+
+# merge sfc pressure into remapped 3d files
+cdo -P 38 merge icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.nc pres_sfc_reg_con_202101${day}T${hour}0000Z.nc icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc
+
+# interpolate to pressure levels
+cdo -P 38 ap2pl,$plevout icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc icon-ddt3d_PL_reg_con_202101${day}T${hour}0000Z.nc
+
+# cleanup
+rm pres_sfc_reg_con_202101${day}T${hour}0000Z.nc icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc
+
+#-----------------------------------------------------------------------------------------
+# delete grid file and remap weights
+rm remapweights_2km.nc
+
+#
diff --git a/Scripts_for_postprocessing/remap_mlpl_ddt3d_80km.sh b/Scripts_for_postprocessing/remap_mlpl_ddt3d_80km.sh
new file mode 100644
index 0000000..0d4ae56
--- /dev/null
+++ b/Scripts_for_postprocessing/remap_mlpl_ddt3d_80km.sh
@@ -0,0 +1,144 @@
+#!/bin/bash
+#=============================================================================
+#SBATCH --account=bb1152
+#SBATCH --job-name=remap_mlpl_ddt3d_80km
+#SBATCH --partition=compute
+#SBATCH --nodes=10
+#SBATCH --threads-per-core=2
+# the following is needed to work around a bug that otherwise leads to
+# a too low number of ranks when using compute,compute2 as queue
+#SBATCH --mem=0
+#SBATCH --exclusive
+#SBATCH --output=/home/b/b380782/pp_logs_cyclex/LOG.remap_mlpl_ddt3d_80km.%j.o
+#SBATCH --error=/home/b/b380782/pp_logs_cyclex/LOG.remap_mlpl_ddt3d_80km.%j.e
+#SBATCH --time=04:00:00
+#=========================================================================================
+# this script is for remapping data sets from native unstructured grid 
+# to regular lat/lon grid
+# first near neighbor interpolation with the same resolution then conservative remapping
+
+
+#### INFO: If you cloned the code repository to your home directory (as suggested in the wiki)
+####       you need to change the username and experiment in the following section. The username
+####       also needs to be changed in the job header (path for log and error files).
+
+#### Set username and experiment
+###
+## Set username here and in job header
+#
+# name of user submitting this script
+username=b380782
+
+# experiment name
+exp=channel_80km_0001
+
+####
+####
+
+#### load required module
+module load cdo
+
+#### Set paths
+
+### raw data
+# folder with data that will be remapped
+datapath=/work/bb1152/Module_A/A6_CyclEx/sim_data/production
+
+simpath=$datapath/$exp/raw_data
+echo $simpath
+
+### required scripts
+# path to clone of code repository
+repopath=/home/b/$username/icon-climxtreme
+# path to scripts WITHIN code repository
+scriptpath=CC_postprocessing_scripts
+
+### output directory
+# indicated scratch with predefined directory
+outpath=/work/bb1152/Module_A/A6_CyclEx/sim_data/production/$exp
+echo $outpath
+
+# directory, in which the remapped data will be stored
+mkdir -p $outpath/remapped_ddt3d_latlon
+cd $outpath/remapped_ddt3d_latlon
+
+#### Remapping
+
+# define pressure levels that data will be remapped to
+plevout="1000,2000,3000,4000,5000,6000,7000,8000,9000,10000,11000,12000,13000,14000,15000,16000,17000,18000,19000,20000,21000,22000,23000,24000,25000,26000,27000,28000,29000,30000,31000,32000,33000,34000,35000,36000,37000,38000,39000,40000,41000,42000,43000,44000,45000,46000,47000,48000,49000,50000,51000,52000,53000,54000,55000,56000,57000,58000,59000,60000,61000,62000,63000,64000,65000,66000,67000,68000,69000,70000,71000,72000,73000,74000,75000,76000,77000,78000,79000,80000,81000,82000,83000,84000,85000,86000,87000,88000,89000,90000,91000,92000,93000,94000,95000,96000,97000,98000,99000,100000"
+
+# 1) Creating weights from a dataset which contains grid information!
+# icon-extra_ml.nc is the dataset which contains the clon,clat or from the grid file itself
+
+# Grid description: grid_info_80km.txt
+
+cdo -P 32 gennn,$repopath/$scriptpath/grid_info_80km.txt $simpath/icon-extra_ml.nc remapweights_80km.nc
+
+#------------------------------------------------------------------------------------------
+# loop over the time steps
+for day in 01 02 03 04 05 06 07 08 09 ; do
+
+for hour in 00 06 12 18 ; do
+
+# 2) remap to regular lat,lon grid (near neighbor)
+
+cdo -P 38 remap,$repopath/$scriptpath/grid_info_80km.txt,remapweights_80km.nc $simpath/icon-ddt3d_ML_202101${day}T${hour}0000Z.nc icon-ddt3d_ML_reg_202101${day}T${hour}0000Z.nc
+
+# 3) conservative remapping to 1x1 degree
+
+cdo -P 32 remapcon,$repopath/$scriptpath/grid_info_1x1.txt icon-ddt3d_ML_reg_202101${day}T${hour}0000Z.nc icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.nc
+
+rm icon-ddt3d_ML_reg_202101${day}T${hour}0000Z.nc
+
+# 4) Interpolate from height to pressure levels (var 'pres' must be present in the dataset)
+
+# get sfc pressure from remapped 2d files
+cdo -P 38 selname,pres_sfc ../remapped_atm2d_latlon/icon-atm2d_ML_reg_con_202101${day}T${hour}0000Z.nc pres_sfc_reg_con_202101${day}T${hour}0000Z.nc
+
+# merge sfc pressure into remapped 3d files
+cdo -P 38 merge icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.nc pres_sfc_reg_con_202101${day}T${hour}0000Z.nc icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc
+
+# interpolate to pressure levels
+cdo -P 38 ap2pl,$plevout icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc icon-ddt3d_PL_reg_con_202101${day}T${hour}0000Z.nc
+
+# cleanup
+rm pres_sfc_reg_con_202101${day}T${hour}0000Z.nc icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc
+
+done
+done
+
+#-----------------------------------------------------------------------------------------
+# last time step
+
+day=10
+hour=00
+
+# 2) remap to regular lat,lon grid (near neighbor)
+
+cdo -P 38 remap,$repopath/$scriptpath/grid_info_80km.txt,remapweights_80km.nc $simpath/icon-ddt3d_ML_202101${day}T${hour}0000Z.nc icon-ddt3d_ML_reg_202101${day}T${hour}0000Z.nc
+
+# 3) conservative remapping to 1x1 degree
+
+cdo -P 32 remapcon,$repopath/$scriptpath/grid_info_1x1.txt icon-ddt3d_ML_reg_202101${day}T${hour}0000Z.nc icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.nc
+
+rm icon-ddt3d_ML_reg_202101${day}T${hour}0000Z.nc
+
+# 4) Interpolate from height to pressure levels (var 'pres' must be present in the dataset)
+
+# get sfc pressure from remapped 2d files
+cdo -P 38 selname,pres_sfc ../remapped_atm2d_latlon/icon-atm2d_ML_reg_con_202101${day}T${hour}0000Z.nc pres_sfc_reg_con_202101${day}T${hour}0000Z.nc
+
+# merge sfc pressure into remapped 3d files
+cdo -P 38 merge icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.nc pres_sfc_reg_con_202101${day}T${hour}0000Z.nc icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc
+
+# interpolate to pressure levels
+cdo -P 38 ap2pl,$plevout icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc icon-ddt3d_PL_reg_con_202101${day}T${hour}0000Z.nc
+
+# cleanup
+rm pres_sfc_reg_con_202101${day}T${hour}0000Z.nc icon-ddt3d_ML_reg_con_202101${day}T${hour}0000Z.psfc.nc
+
+#-----------------------------------------------------------------------------------------
+# delete grid file and remap weights
+rm remapweights_80km.nc
+
+#
diff --git a/Scripts_for_running_simulations/README_simulations.txt b/Scripts_for_running_simulations/README_simulations.txt
new file mode 100644
index 0000000..b081cdf
--- /dev/null
+++ b/Scripts_for_running_simulations/README_simulations.txt
@@ -0,0 +1,18 @@
+ICON-NWP aquaplanet simulations of a baroclinic lifecycle (9 days)
+in limited area mode with channel setup.
+
+# 2km horizontal resolution
+channel_2km_0001: control simulation
+channel_2km_0002: +4K atmospheric and surface temperatures, qv consistent with T
+channel_2km_0003: +4K temperatures, qv from control simulation
+channel_2km_0004: +temperature anomaly from MPI-ESM1-2-LR far future
+channel_2km_0005: +tropical temperature anomaly from MPI-ESM1-2-LR far future
+channel_2km_0006: +polar temperature anomaly from MPI-ESM1-2-LR far future
+
+# 80km horizontal resolution
+channel_80km_0001: control simulation
+channel_80km_0002: +4K atmospheric and surface temperatures, qv consistent with T
+channel_80km_0003: +4K temperatures, qv from control simulation
+channel_80km_0004: +temperature anomaly from MPI-ESM1-2-LR far future
+channel_80km_0005: +tropical temperature anomaly from MPI-ESM1-2-LR far future
+channel_80km_0006: +polar temperature anomaly from MPI-ESM1-2-LR far future
diff --git a/Scripts_for_running_simulations/exp.channel_2km_0001.run b/Scripts_for_running_simulations/exp.channel_2km_0001.run
new file mode 100644
index 0000000..dee93a4
--- /dev/null
+++ b/Scripts_for_running_simulations/exp.channel_2km_0001.run
@@ -0,0 +1,672 @@
+#! /bin/ksh
+#=============================================================================
+
+# levante cpu batch job parameters
+
+#SBATCH --account=bb1152
+#SBATCH --job-name=2km0001
+#SBATCH --partition=compute
+#SBATCH --chdir=/home/b/b380906/icon-on-jet/run/runscripts/channel_2km_0001
+#SBATCH --nodes=80
+#SBATCH --threads-per-core=2
+# the following is needed to work around a bug that otherwise leads to
+# a too low number of ranks when using compute,compute2 as queue
+#SBATCH --mem=0
+#SBATCH --output=/home/b/b380906/icon-on-jet/run/runscripts/channel_2km_0001/LOG.channel_2km_0001.%j.o
+#SBATCH --error=/home/b/b380906/icon-on-jet/run/runscripts/channel_2km_0001/LOG.channel_2km_0001.%j.o
+#SBATCH --exclusive
+#SBATCH --time=08:00:00
+
+#=============================================================================
+set -x
+ulimit -s unlimited
+#=============================================================================
+# OpenMP environment variables
+# ----------------------------
+export OMP_NUM_THREADS=4
+export ICON_THREADS=$OMP_NUM_THREADS
+export OMP_SCHEDULE="guided"
+export OMP_DYNAMIC="false"
+export OMP_STACKSIZE=500M
+#
+# MPI variables
+# -------------
+no_of_nodes=${SLURM_JOB_NUM_NODES:=1}
+mpi_procs_pernode=$((128 / OMP_NUM_THREADS))
+((mpi_total_procs=no_of_nodes * mpi_procs_pernode))
+
+#=============================================================================
+
+# load local setting, if existing
+# -------------------------------
+if [ -a ../setting ]
+then
+  echo "Load Setting"
+  . ../setting
+fi
+
+# environment variables for the experiment and the target system
+# --------------------------------------------------------------
+
+export EXPNAME="atm_rte_rrtmgp_amip_test"
+export KMP_AFFINITY="granularity=fine,scatter"
+export KMP_LIBRARY="turnaround"
+export OMPI_MCA_pml="ucx"
+export OMPI_MCA_btl=self
+export OMPI_MCA_osc="pt2pt"
+export UCX_IB_ADDR_TYPE=ib_global
+export OMPI_MCA_coll="^ml"
+export OMPI_MCA_coll_hcoll_enable="1"
+export HCOLL_ENABLE_MCAST_ALL="1"
+export HCOLL_MAIN_IB=mlx5_0:1
+export UCX_NET_DEVICES=mlx5_0:1
+export UCX_TLS=mm,knem,cma,dc_mlx5,dc_x,self
+export UCX_UNIFIED_MODE=y
+export HDF5_USE_FILE_LOCKING=FALSE
+export OMPI_MCA_io="romio321"
+export MALLOC_TRIM_THRESHOLD_="-1"
+export MKL_ENABLE_INSTRUCTIONS=AVX2
+export MKL_DEBUG_CPU_TYPE=5
+export UCX_HANDLE_ERRORS=bt
+
+# load profile
+# ------------
+if [[ -a  /etc/profile ]]
+then
+        . /etc/profile
+fi
+
+#=============================================================================
+
+# directories with absolute paths
+# -------------------------------
+basedir="/home/b/b380906/icon-on-jet"
+export basedir
+
+# how to start the icon model
+mask="0xf,0xf0000,0xf00000000,0xf000000000000,0xf0000000000000000,0xf00000000000000000000,0xf000000000000000000000000,0xf0000000000000000000000000000,0xf0,0xf00000,0xf000000000,0xf0000000000000,0xf00000000000000000,0xf000000000000000000000,0xf0000000000000000000000000,0xf00000000000000000000000000000,0xf00,0xf000000,0xf0000000000,0xf00000000000000,0xf000000000000000000,0xf0000000000000000000000,0xf00000000000000000000000000,0xf000000000000000000000000000000,0xf000,0xf0000000,0xf00000000000,0xf000000000000000,0xf0000000000000000000,0xf00000000000000000000000,0xf000000000000000000000000000,0xf0000000000000000000000000000000"
+export START="srun -l --kill-on-bad-exit=1 --nodes=${SLURM_JOB_NUM_NODES:-1} --ntasks=$((no_of_nodes * mpi_procs_pernode)) --propagate=STACK,CORE --distribution=block:block --cpu-bind=v,mask_cpu=$mask "
+export MODEL="${basedir}/bin/icon"
+
+# how to submit the next job
+# --------------------------
+submit="sbatch"
+job_name="exp.channel_2km_0001.run"
+
+#=============================================================================
+
+ulimit -s $((4 * 1024 * 1024))
+ulimit -c 0
+
+#-----------------------------------------------------------------------------
+export EXPNAME="channel_2km_0001"
+
+# atmo namelist filename
+atmo_namelist=NAMELIST_${EXPNAME}_atm
+
+# directories definition
+RUNSCRIPTDIR=/home/b/b380906/icon-on-jet/run/runscripts/channel_2km_0001/  # run script directory
+
+#-----------------------------------------------------------------------------
+# global timing
+start_date="2021-01-01T00:00:00Z"
+end_date="2021-01-10T00:00:00Z" 
+
+# restart intervals
+checkpoint_interval="P20D"
+restart_interval="P40D"
+
+# output intervals
+output_interval="PT1H"
+file_interval="PT1H"
+
+#-----------------------------------------------------------------------------
+# model parameters
+model_equations=3             # equation system
+#                     1=hydrost. atm. T
+#                     1=hydrost. atm. theta dp
+#                     3=non-hydrost. atm.,
+#                     0=shallow water model
+#                    -1=hydrost. ocean
+#-----------------------------------------------------------------------------
+
+# experiment directory, with plenty of space, create if new
+
+EXPDIR=/scratch/b/b380906/${EXPNAME} 
+if [ ! -d ${EXPDIR} ] ;  then
+  mkdir -p ${EXPDIR}
+fi
+#
+ls -ld ${EXPDIR}
+if [ ! -d ${EXPDIR} ] ;  then
+    mkdir ${EXPDIR}
+fi
+ls -ld ${EXPDIR}
+check_error $? "${EXPDIR} does not exist?"
+
+cd ${EXPDIR}
+
+#-----------------------------------------------------------------------------
+# Link experiment initial files
+inputdir='/work/bb1152/Module_A/A6_CyclEx/input_data'
+# Grid
+ln -sf $inputdir/Channel_4000x9000_2500m_with_boundary.nc grid_DOM01.nc
+
+# Extpar
+ln -sf $inputdir/inputs_planar_channel_51x81_2km/extpar_remapped_12_months.nc extpar_DOM01.nc
+
+# Initial file
+ln -sf $inputdir/inputs_planar_channel_51x81_2km/lc1_ifs_CTL_remapped.nc ifs2icon_init.nc
+
+# Ozone
+ln -sf $inputdir/inputs_planar_channel_51x81_2km/ape_O3_remapped.nc o3_icon_DOM01.nc
+
+# Model required files
+ln -sf $basedir/data/rrtmg_lw.nc              ./
+ln -sf $basedir/data/rrtmg_sw.nc              ./
+ln -sf $basedir/data/ECHAM6_CldOptProps.nc    ./
+
+#=============================================================================
+
+# create ICON namelist parameters
+
+cat > ${atmo_namelist} << EOF
+&parallel_nml
+ nproma         = 16  ! optimal setting 8 for CRAY; use 16 or 24 for IBM
+ p_test_run     = .false.
+ l_test_openmp  = .false.
+ l_log_checks   = .false.
+ num_io_procs   = 10   ! asynchronous output for values >= 1
+ itype_comm     = 1
+ iorder_sendrecv = 3  ! best value for CRAY (slightly faster than option 1)
+ num_prefetch_proc = 1
+/
+&grid_nml
+ dynamics_grid_filename  = 'grid_DOM01.nc'
+ dynamics_parent_grid_id = 0
+ lredgrid_phys           = .false.
+ is_plane_cylinder       = .TRUE.
+ l_limited_area          = .true.
+ corio_lat               = 45.0
+/
+&initicon_nml
+ init_mode   = 2           ! operation mode 2: IFS
+ ifs2icon_filename = 'ifs2icon_init.nc' 
+ zpbl1       = 500. 
+ zpbl2       = 1000.
+ l_sst_in    = .true. 
+/
+&limarea_nml
+ itype_latbc    = 0            ! fix
+/
+&run_nml
+ num_lev        = 90           ! 60
+ dtime          = 24  ! 360 for R2B5 180 for R2B7    
+ ldynamics      = .TRUE.
+ ltransport     = .true.
+ iforcing       = 3            ! NWP forcing
+ ltestcase      = .false.      ! false: run with real data
+ msg_level      = 7            ! print maximum wind speeds every 5 time steps
+ ltimer         = .false.      ! set .TRUE. for timer output
+ timers_level   = 1            ! can be increased up to 10 for detailed timer output
+ output         = "nml"
+/
+&nwp_phy_nml
+ inwp_gscp          = 1
+ inwp_convection    = 1
+ lshallowconv_only  = .true. ! use only shallow convection scheme
+ inwp_radiation     = 1
+ inwp_cldcover      = 1
+ inwp_turb          = 1
+ inwp_satad         = 1
+ inwp_sso           = 1
+ inwp_gwd           = 1
+ inwp_surface       = 1
+ icapdcycl          = 3
+ latm_above_top  = .false.  ! the second entry refers to the nested domain (if present)
+ efdt_min_raylfric = 7200.
+ ldetrain_conv_prec = .false.
+ itype_z0         = 2
+ icpl_aero_conv   = 0 
+ icpl_aero_gscp   = 0
+ ! resolution-dependent settings - please choose the appropriate one
+ dt_rad    = 720 
+ dt_conv   = 300 
+ dt_sso    = 300 
+ dt_gwd    = 300. 
+/
+&turbdiff_nml
+ tkhmin  = 0.75  
+ tkmmin  = 0.75             
+ pat_len = 100. !750.
+ c_diff  = 0.2
+ rat_sea = 10  
+ ltkesso = .true.
+ frcsmot = 0.2      
+ imode_frcsmot = 2  
+ itype_sher = 3    
+ ltkeshs    = .true.
+ a_hshr     = 2.0     
+/
+&lnd_nml
+ ntiles         = 3      !!! 1 for assimilation cycle and forecast
+ nlev_snow      = 3      !!! 1 for assimilation cycle and forecast
+ lmulti_snow    = .true. !!! .false. for assimilation cycle and forecast
+ itype_heatcond = 2
+ idiag_snowfrac = 2
+ lsnowtile      = .false.  !! later on .true. if GRIB encoding issues are solved
+ lseaice        = .true. !!Sophia Schäfer, 23/03/2017: reads in sea ice (e.g. zero ice), instead of setting by temperature
+ llake          = .false.
+ itype_lndtbl   = 3  ! minimizes moist/cold bias in lower tropical troposphere
+ itype_root     = 2  			        
+/
+&radiation_nml
+ irad_o3       = 4
+ irad_aero     = 0
+ irad_cfc11    = 0
+ irad_cfc12    = 0
+ albedo_type   = 2 ! Modis albedo
+ vmr_co2       = 348.0e-6 ! values representative for 2012
+ vmr_ch4       = 1650.0e-09
+ vmr_n2o       = 396.0e-09
+ vmr_o2        = 0.20946
+ izenith       = 3
+ vmr_cfc11     = 0
+ vmr_cfc12     = 0
+/
+&nonhydrostatic_nml
+ iadv_rhotheta  = 2
+ ivctype        = 2
+ itime_scheme   = 4
+ exner_expol    = 0.333
+ vwind_offctr   = 0.2
+ damp_height    = 50000.
+ rayleigh_coeff = 0.10   ! R3B7: 1.0 for forecasts, 5.0 in assimilation cycle; 0.5/2.5 for R2B6 (i.e. ensemble) runs
+ lhdiff_rcf     = .true.
+ divdamp_order  = 24    ! setting for forecast runs; use '2' for assimilation cycle
+ divdamp_type   = 32    ! ** new setting for assimilation and forecast runs **
+ divdamp_fac    = 0.004 ! use 0.032 in conjunction with divdamp_order = 2 in assimilation cycle
+ l_open_ubc     = .false.
+ igradp_method  = 3
+ l_zdiffu_t     = .true.
+ thslp_zdiffu   = 0.02
+ thhgtd_zdiffu  = 125.
+ htop_moist_proc= 22500.
+ hbot_qvsubstep = 22500. ! use 22500. with R2B6
+/
+&nudging_nml
+ nudge_type  = 0
+ max_nudge_coeff_vn = 0.00000
+/
+&sleve_nml
+ min_lay_thckn   = 20.
+ max_lay_thckn   = 400.   ! maximum layer thickness below htop_thcknlimit
+ htop_thcknlimit = 14000. ! this implies that the upcoming COSMO-EU nest will have 60 levels
+ top_height      = 75000.
+ stretch_fac     = 0.9
+ decay_scale_1   = 4000.
+ decay_scale_2   = 2500.
+ decay_exp       = 1.2
+ flat_height     = 16000.
+/
+&dynamics_nml
+ iequations     = 3
+ idiv_method    = 1
+ divavg_cntrwgt = 0.50
+ !lcoriolis      = .TRUE.
+/
+&transport_nml
+ ctracer_list  = '12345'
+ ivadv_tracer  = 3,3,3,3,3
+ itype_hlimit  = 3,4,4,4,4
+ ihadv_tracer  = 52,2,2,2,2
+ iadv_tke      = 0
+/
+&diffusion_nml
+ hdiff_order      = 5
+ itype_vn_diffu   = 1
+ itype_t_diffu    = 2
+ hdiff_efdt_ratio = 24.0
+ hdiff_smag_fac   = 0.025
+ lhdiff_vn        = .TRUE.
+ lhdiff_temp      = .TRUE.
+/
+&interpol_nml
+ nudge_zone_width  = 0.0  ! deactivating nudging as needed for mass conservation for this setup 
+ nudge_efold_width = 0.0
+ nudge_max_coeff   = 0.00000
+ lsq_high_ord      = 3
+ l_intp_c2l        = .true.
+ l_mono_c2l        = .true.
+ support_baryctr_intp = .false.
+ rbf_vec_scale_c   = 0.3,  0.1,  0.03
+ rbf_vec_scale_v   = 0.4,  0.25, 0.07
+ rbf_vec_scale_e   = 0.45, 0.37, 0.25
+/
+&extpar_nml
+ itopo                = 1
+ extpar_filename      = 'extpar_DOM01.nc'
+ n_iter_smooth_topo   = 1         
+ heightdiff_threshold = 3000.
+/
+&io_nml
+ itype_pres_msl = 5  ! 4 New extrapolation method to circumvent Ninjo problem with surface inversions
+ itype_rh       = 1  ! RH w.r.t. water
+ restart_file_type = 5       ! 4: netcdf2, 5: netcdf4
+/
+&nh_pzlev_nml
+ nplev             = 18     ! number of p level output (attention: levels in [Pa] and top-down)
+ nzlev             = 20     ! number of z level output (attention: levels in [m] and top-down)
+ plevels           = 5000,7000,10000,15000,20000,25000,30000,40000,50000,60000,70000,
+                     80000,85000,90000,92500,95000,97500,100000
+ zlevels           = 25000,20000,18000,16000,14000,12000,10000,8000,6000,5000,4000,3000,2000,
+                     1000,800,600,400,200,100,10
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1         
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-atm3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'pres','qc','qi','qv','rho','temp','u','v','w','vn','z_ifc','vor','rh','pv','omega','geopot','div','cape','tke'
+ remap            = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1         
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-cld3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'clc','tot_qv_dia','tot_qc_dia','tot_qi_dia','pres'
+ remap            = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                      ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}" 
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-rad3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'lwflxall', 'lwflx_dn_clr','lwflx_up_clr','swflx_dn_clr','swflx_up_clr','swflx_up','swflx_dn','pres'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                      ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-ddt3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'ddt_temp_totnwpphy','ddt_temp_radsw','ddt_temp_radlw','ddt_temp_turb','ddt_temp_pconv','ddt_temp_drag','ddt_temp_satad','ddt_temp_diff','ddt_temp_dyn','ddt_temp_gscp','pres'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5              ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                       ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 = .FALSE.
+ output_filename              = 'icon-atm2d'   ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'pres_msl','pres_sfc','ddt_pres_sfc','u_10m','v_10m','t_g','t_2m','qv_2m','td_2m','rh_2m','group:precip_vars','rain_gsp_rate','rain_con_rate','cape_ml','cin_ml','clct','clch','clcm','clcl','tqv_dia','tqc_dia','tqi_dia','tqv','tqc','tqi','tqr','shfl_s','lhfl_s','qhfl_s','w_so'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5              ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                       ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 = .FALSE.
+ output_filename              = 'icon-rad2d'   ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'sob_t','thb_t','sob_s','thb_s','thbclr_s','sobclr_s'
+ remap                        = 0
+/
+&output_nml
+ output_filename  = "icon-extra"
+ filename_format  = "<output_filename>_<levtype_l>"
+ filetype         = 5
+ remap            = 0
+ output_grid      = .TRUE.
+ output_start     = "${start_date}"          ! output_start = output_end
+ output_end       = "${start_date}"          ! --> write once only irrespective of
+ output_interval  = "PT1H"  !     the output interval and
+ file_interval    = "${file_interval}"    !     the file interval
+ ml_varlist       = 'z_mc','t_seasfc'
+/
+EOF
+
+#=============================================================================
+#
+# This section of the run script prepares and starts the model integration. 
+#-----------------------------------------------------------------------------
+
+final_status_file=${EXPDIR}/${job_name}.final_status
+rm -f ${final_status_file}
+#-----------------------------------------------------------------------------
+
+# set up the model lists if they do not exist
+# this works for single model runs
+# for coupled runs the lists should be declared explicilty
+if [ x$namelist_list = x ]; then
+#  minrank_list=(        0           )
+#  maxrank_list=(     65535          )
+#  incrank_list=(        1           )
+  minrank_list[0]=0
+  maxrank_list[0]=65535
+  incrank_list[0]=1
+  if [ x$atmo_namelist != x ]; then
+    # this is the atmo model
+    namelist_list[0]="$atmo_namelist"
+    modelname_list[0]="atmo"
+    modeltype_list[0]=1
+    run_atmo="true"
+  else
+    check_error 1 "No namelist is defined"
+  fi
+fi
+
+#-----------------------------------------------------------------------------
+# set some default values and derive some run parameteres
+restart=${restart:=".false."}
+restartSemaphoreFilename='isRestartRun.sem'
+#AUTOMATIC_RESTART_SETUP:
+if [ -f ${restartSemaphoreFilename} ]; then
+  restart=.true.
+  #  do not delete switch-file, to enable restart after unintended abort
+  #[[ -f ${restartSemaphoreFilename} ]] && rm ${restartSemaphoreFilename}
+fi
+#END AUTOMATIC_RESTART_SETUP
+#
+# wait 5min to let GPFS finish the write operations
+if [ "x$restart" != 'x.false.' -a "x$submit" != 'x' ]; then
+  if [ x$(df -T ${EXPDIR} | cut -d ' ' -f 2) = gpfs ]; then
+    sleep 10;
+  fi
+fi
+# fill some checks
+
+run_atmo=${run_atmo="false"}
+if [ x$atmo_namelist != x ]; then
+  run_atmo="true"
+fi
+#-----------------------------------------------------------------------------
+# get restart files
+
+if  [ x$restart_atmo_from != "x" ] ; then
+  rm -f restart_atm_DOM01.nc
+#  ln -s ${basedir}/experiments/${restart_from_folder}/${restart_atmo_from} ${EXPDIR}/restart_atm_DOM01.nc
+  cp ${basedir}/experiments/${restart_from_folder}/${restart_atmo_from} cp_restart_atm.nc
+  ln -s cp_restart_atm.nc restart_atm_DOM01.nc
+  restart=".true."
+fi
+if  [ x$restart_ocean_from != "x" ] ; then
+  rm -f restart_oce.nc
+#  ln -s ${basedir}/experiments/${restart_from_folder}/${restart_ocean_from} ${EXPDIR}/restart_oce.nc
+  cp ${basedir}/experiments/${restart_from_folder}/${restart_ocean_from} cp_restart_oce_DOM01.nc
+  ln -s cp_restart_oce_DOM01.nc restart_oce_DOM01.nc
+  restart=".true."
+fi
+#-----------------------------------------------------------------------------
+
+
+read_restart_namelists=${read_restart_namelists:=".true."}
+
+#-----------------------------------------------------------------------------
+#
+# create ICON master namelist
+# ------------------------
+# For a complete list see Namelist_overview and Namelist_overview.pdf
+
+#-----------------------------------------------------------------------------
+# create master_namelist
+master_namelist=icon_master.namelist
+if [ x$end_date = x ]; then
+cat > $master_namelist << EOF
+&master_nml
+ lrestart            = $restart
+/
+&master_time_control_nml
+ experimentStartDate  = "$start_date"
+ restartTimeIntval    = "$restart_interval"
+ checkpointTimeIntval = "$checkpoint_interval"
+/
+&time_nml
+ is_relative_time = .false.
+/
+EOF
+else
+if [ x$calendar = x ]; then
+  calendar='proleptic gregorian'
+  calendar_type=1
+else
+  calendar=$calendar
+  calendar_type=$calendar_type
+fi
+cat > $master_namelist << EOF
+&master_nml
+ lrestart            = $restart
+ read_restart_namelists = $read_restart_namelists
+/
+&master_time_control_nml
+ calendar             = "$calendar"
+ checkpointTimeIntval = "$checkpoint_interval"
+ restartTimeIntval    = "$restart_interval"
+ experimentStartDate  = "$start_date"
+ experimentStopDate   = "$end_date"
+/
+&time_nml
+ is_relative_time = .false.
+/
+EOF
+fi
+#-----------------------------------------------------------------------------
+
+
+#-----------------------------------------------------------------------------
+# add model component to master_namelist
+add_component_to_master_namelist()
+{
+
+  model_namelist_filename="$1"
+  model_name=$2
+  model_type=$3
+  model_min_rank=$4
+  model_max_rank=$5
+  model_inc_rank=$6
+
+cat >> $master_namelist << EOF
+&master_model_nml
+  model_name="$model_name"
+  model_namelist_filename="$model_namelist_filename"
+  model_type=$model_type
+  model_min_rank=$model_min_rank
+  model_max_rank=$model_max_rank
+  model_inc_rank=$model_inc_rank
+/
+EOF
+
+}
+#-----------------------------------------------------------------------------
+
+
+no_of_models=${#namelist_list[*]}
+echo "no_of_models=$no_of_models"
+
+j=0
+while [ $j -lt ${no_of_models} ]
+do
+  add_component_to_master_namelist "${namelist_list[$j]}" "${modelname_list[$j]}" ${modeltype_list[$j]} ${minrank_list[$j]} ${maxrank_list[$j]} ${incrank_list[$j]}
+  j=`expr ${j} + 1`
+done
+
+#-----------------------------------------------------------------------------
+#
+# get model
+#
+ls -l ${MODEL}
+check_error $? "${MODEL} does not exist?"
+#-----------------------------------------------------------------------------
+
+# start experiment
+
+rm -f finish.status
+date
+${START} ${MODEL}
+date
+#
+if [ -r finish.status ] ; then
+  check_final_status 0 "${START} ${MODEL}"
+else
+  check_final_status -1 "${START} ${MODEL}"
+fi
+#
+
+#-----------------------------------------------------------------------------
+#
+finish_status=`cat finish.status`
+echo $finish_status
+echo "============================"
+echo "Script run successfully: $finish_status"
+echo "============================"
+#-----------------------------------------------------------------------------
+namelist_list=""
+#-----------------------------------------------------------------------------
+# check if we have to restart, ie resubmit
+#   Note: this is a different mechanism from checking the restart
+if [ $finish_status = "RESTART" ]; then
+  echo "restart next experiment..."
+  this_script="${RUNSCRIPTDIR}/exp.${EXPNAME}.run"
+  echo 'this_script: ' "$this_script"
+  # note that if ${restartSemaphoreFilename} does not exist yet, then touch will create it
+  touch ${restartSemaphoreFilename}
+  cd ${RUNSCRIPTDIR}
+  sbatch exp.${EXPNAME}.run
+else
+  [[ -f ${restartSemaphoreFilename} ]] && rm ${restartSemaphoreFilename}
+fi
+#-----------------------------------------------------------------------------
+
+#-----------------------------------------------------------------------------
+
+cd ${RUNSCRIPTDIR}
+
+#-----------------------------------------------------------------------------
diff --git a/Scripts_for_running_simulations/exp.channel_2km_0002.run b/Scripts_for_running_simulations/exp.channel_2km_0002.run
new file mode 100644
index 0000000..f4b5a99
--- /dev/null
+++ b/Scripts_for_running_simulations/exp.channel_2km_0002.run
@@ -0,0 +1,672 @@
+#! /bin/ksh
+#=============================================================================
+
+# levante cpu batch job parameters
+
+#SBATCH --account=bb1152
+#SBATCH --job-name=2km0002
+#SBATCH --partition=compute
+#SBATCH --chdir=/home/b/b380906/icon-on-jet/run/runscripts/channel_2km_0002
+#SBATCH --nodes=80
+#SBATCH --threads-per-core=2
+# the following is needed to work around a bug that otherwise leads to
+# a too low number of ranks when using compute,compute2 as queue
+#SBATCH --mem=0
+#SBATCH --output=/home/b/b380906/icon-on-jet/run/runscripts/channel_2km_0002/LOG.channel_2km_0002.%j.o
+#SBATCH --error=/home/b/b380906/icon-on-jet/run/runscripts/channel_2km_0002/LOG.channel_2km_0002.%j.o
+#SBATCH --exclusive
+#SBATCH --time=08:00:00
+
+#=============================================================================
+set -x
+ulimit -s unlimited
+#=============================================================================
+# OpenMP environment variables
+# ----------------------------
+export OMP_NUM_THREADS=4
+export ICON_THREADS=$OMP_NUM_THREADS
+export OMP_SCHEDULE="guided"
+export OMP_DYNAMIC="false"
+export OMP_STACKSIZE=500M
+#
+# MPI variables
+# -------------
+no_of_nodes=${SLURM_JOB_NUM_NODES:=1}
+mpi_procs_pernode=$((128 / OMP_NUM_THREADS))
+((mpi_total_procs=no_of_nodes * mpi_procs_pernode))
+
+#=============================================================================
+
+# load local setting, if existing
+# -------------------------------
+if [ -a ../setting ]
+then
+  echo "Load Setting"
+  . ../setting
+fi
+
+# environment variables for the experiment and the target system
+# --------------------------------------------------------------
+
+export EXPNAME="atm_rte_rrtmgp_amip_test"
+export KMP_AFFINITY="granularity=fine,scatter"
+export KMP_LIBRARY="turnaround"
+export OMPI_MCA_pml="ucx"
+export OMPI_MCA_btl=self
+export OMPI_MCA_osc="pt2pt"
+export UCX_IB_ADDR_TYPE=ib_global
+export OMPI_MCA_coll="^ml"
+export OMPI_MCA_coll_hcoll_enable="1"
+export HCOLL_ENABLE_MCAST_ALL="1"
+export HCOLL_MAIN_IB=mlx5_0:1
+export UCX_NET_DEVICES=mlx5_0:1
+export UCX_TLS=mm,knem,cma,dc_mlx5,dc_x,self
+export UCX_UNIFIED_MODE=y
+export HDF5_USE_FILE_LOCKING=FALSE
+export OMPI_MCA_io="romio321"
+export MALLOC_TRIM_THRESHOLD_="-1"
+export MKL_ENABLE_INSTRUCTIONS=AVX2
+export MKL_DEBUG_CPU_TYPE=5
+export UCX_HANDLE_ERRORS=bt
+
+# load profile
+# ------------
+if [[ -a  /etc/profile ]]
+then
+        . /etc/profile
+fi
+
+#=============================================================================
+
+# directories with absolute paths
+# -------------------------------
+basedir="/home/b/b380906/icon-on-jet"
+export basedir
+
+# how to start the icon model
+mask="0xf,0xf0000,0xf00000000,0xf000000000000,0xf0000000000000000,0xf00000000000000000000,0xf000000000000000000000000,0xf0000000000000000000000000000,0xf0,0xf00000,0xf000000000,0xf0000000000000,0xf00000000000000000,0xf000000000000000000000,0xf0000000000000000000000000,0xf00000000000000000000000000000,0xf00,0xf000000,0xf0000000000,0xf00000000000000,0xf000000000000000000,0xf0000000000000000000000,0xf00000000000000000000000000,0xf000000000000000000000000000000,0xf000,0xf0000000,0xf00000000000,0xf000000000000000,0xf0000000000000000000,0xf00000000000000000000000,0xf000000000000000000000000000,0xf0000000000000000000000000000000"
+export START="srun -l --kill-on-bad-exit=1 --nodes=${SLURM_JOB_NUM_NODES:-1} --ntasks=$((no_of_nodes * mpi_procs_pernode)) --propagate=STACK,CORE --distribution=block:block --cpu-bind=v,mask_cpu=$mask "
+export MODEL="${basedir}/bin/icon"
+
+# how to submit the next job
+# --------------------------
+submit="sbatch"
+job_name="exp.channel_2km_0002.run"
+
+#=============================================================================
+
+ulimit -s $((4 * 1024 * 1024))
+ulimit -c 0
+
+#-----------------------------------------------------------------------------
+export EXPNAME="channel_2km_0002"
+
+# atmo namelist filename
+atmo_namelist=NAMELIST_${EXPNAME}_atm
+
+# directories definition
+RUNSCRIPTDIR=/home/b/b380906/icon-on-jet/run/runscripts/channel_2km_0002/  # run script directory
+
+#-----------------------------------------------------------------------------
+# global timing
+start_date="2021-01-01T00:00:00Z"
+end_date="2021-01-10T00:00:00Z" 
+
+# restart intervals
+checkpoint_interval="P20D"
+restart_interval="P40D"
+
+# output intervals
+output_interval="PT1H"
+file_interval="PT1H"
+
+#-----------------------------------------------------------------------------
+# model parameters
+model_equations=3             # equation system
+#                     1=hydrost. atm. T
+#                     1=hydrost. atm. theta dp
+#                     3=non-hydrost. atm.,
+#                     0=shallow water model
+#                    -1=hydrost. ocean
+#-----------------------------------------------------------------------------
+
+# experiment directory, with plenty of space, create if new
+
+EXPDIR=/scratch/b/b380906/${EXPNAME} 
+if [ ! -d ${EXPDIR} ] ;  then
+  mkdir -p ${EXPDIR}
+fi
+#
+ls -ld ${EXPDIR}
+if [ ! -d ${EXPDIR} ] ;  then
+    mkdir ${EXPDIR}
+fi
+ls -ld ${EXPDIR}
+check_error $? "${EXPDIR} does not exist?"
+
+cd ${EXPDIR}
+
+#-----------------------------------------------------------------------------
+# Link experiment initial files
+inputdir='/work/bb1152/Module_A/A6_CyclEx/input_data'
+# Grid
+ln -sf $inputdir/Channel_4000x9000_2500m_with_boundary.nc grid_DOM01.nc
+
+# Extpar
+ln -sf $inputdir/inputs_planar_channel_51x81_2km/extpar_remapped_12_months.nc extpar_DOM01.nc
+
+# Initial file
+ln -sf $inputdir/inputs_planar_channel_51x81_2km/lc1_ifs_4K_remapped.nc ifs2icon_init.nc
+
+# Ozone
+ln -sf $inputdir/inputs_planar_channel_51x81_2km/ape_O3_remapped.nc o3_icon_DOM01.nc
+
+# Model required files
+ln -sf $basedir/data/rrtmg_lw.nc              ./
+ln -sf $basedir/data/rrtmg_sw.nc              ./
+ln -sf $basedir/data/ECHAM6_CldOptProps.nc    ./
+
+#=============================================================================
+
+# create ICON namelist parameters
+
+cat > ${atmo_namelist} << EOF
+&parallel_nml
+ nproma         = 16  ! optimal setting 8 for CRAY; use 16 or 24 for IBM
+ p_test_run     = .false.
+ l_test_openmp  = .false.
+ l_log_checks   = .false.
+ num_io_procs   = 10   ! asynchronous output for values >= 1
+ itype_comm     = 1
+ iorder_sendrecv = 3  ! best value for CRAY (slightly faster than option 1)
+ num_prefetch_proc = 1
+/
+&grid_nml
+ dynamics_grid_filename  = 'grid_DOM01.nc'
+ dynamics_parent_grid_id = 0
+ lredgrid_phys           = .false.
+ is_plane_cylinder       = .TRUE.
+ l_limited_area          = .true.
+ corio_lat               = 45.0
+/
+&initicon_nml
+ init_mode   = 2           ! operation mode 2: IFS
+ ifs2icon_filename = 'ifs2icon_init.nc' 
+ zpbl1       = 500. 
+ zpbl2       = 1000.
+ l_sst_in    = .true. 
+/
+&limarea_nml
+ itype_latbc    = 0            ! fix
+/
+&run_nml
+ num_lev        = 90           ! 60
+ dtime          = 24  ! 360 for R2B5 180 for R2B7    
+ ldynamics      = .TRUE.
+ ltransport     = .true.
+ iforcing       = 3            ! NWP forcing
+ ltestcase      = .false.      ! false: run with real data
+ msg_level      = 7            ! print maximum wind speeds every 5 time steps
+ ltimer         = .false.      ! set .TRUE. for timer output
+ timers_level   = 1            ! can be increased up to 10 for detailed timer output
+ output         = "nml"
+/
+&nwp_phy_nml
+ inwp_gscp          = 1
+ inwp_convection    = 1
+ lshallowconv_only  = .true. ! use only shallow convection scheme
+ inwp_radiation     = 1
+ inwp_cldcover      = 1
+ inwp_turb          = 1
+ inwp_satad         = 1
+ inwp_sso           = 1
+ inwp_gwd           = 1
+ inwp_surface       = 1
+ icapdcycl          = 3
+ latm_above_top  = .false.  ! the second entry refers to the nested domain (if present)
+ efdt_min_raylfric = 7200.
+ ldetrain_conv_prec = .false.
+ itype_z0         = 2
+ icpl_aero_conv   = 0 
+ icpl_aero_gscp   = 0
+ ! resolution-dependent settings - please choose the appropriate one
+ dt_rad    = 720 
+ dt_conv   = 300 
+ dt_sso    = 300 
+ dt_gwd    = 300. 
+/
+&turbdiff_nml
+ tkhmin  = 0.75  
+ tkmmin  = 0.75             
+ pat_len = 100. !750.
+ c_diff  = 0.2
+ rat_sea = 10  
+ ltkesso = .true.
+ frcsmot = 0.2      
+ imode_frcsmot = 2  
+ itype_sher = 3    
+ ltkeshs    = .true.
+ a_hshr     = 2.0     
+/
+&lnd_nml
+ ntiles         = 3      !!! 1 for assimilation cycle and forecast
+ nlev_snow      = 3      !!! 1 for assimilation cycle and forecast
+ lmulti_snow    = .true. !!! .false. for assimilation cycle and forecast
+ itype_heatcond = 2
+ idiag_snowfrac = 2
+ lsnowtile      = .false.  !! later on .true. if GRIB encoding issues are solved
+ lseaice        = .true. !!Sophia Schäfer, 23/03/2017: reads in sea ice (e.g. zero ice), instead of setting by temperature
+ llake          = .false.
+ itype_lndtbl   = 3  ! minimizes moist/cold bias in lower tropical troposphere
+ itype_root     = 2  			        
+/
+&radiation_nml
+ irad_o3       = 4
+ irad_aero     = 0
+ irad_cfc11    = 0
+ irad_cfc12    = 0
+ albedo_type   = 2 ! Modis albedo
+ vmr_co2       = 348.0e-6 ! values representative for 2012
+ vmr_ch4       = 1650.0e-09
+ vmr_n2o       = 396.0e-09
+ vmr_o2        = 0.20946
+ izenith       = 3
+ vmr_cfc11     = 0
+ vmr_cfc12     = 0
+/
+&nonhydrostatic_nml
+ iadv_rhotheta  = 2
+ ivctype        = 2
+ itime_scheme   = 4
+ exner_expol    = 0.333
+ vwind_offctr   = 0.2
+ damp_height    = 50000.
+ rayleigh_coeff = 0.10   ! R3B7: 1.0 for forecasts, 5.0 in assimilation cycle; 0.5/2.5 for R2B6 (i.e. ensemble) runs
+ lhdiff_rcf     = .true.
+ divdamp_order  = 24    ! setting for forecast runs; use '2' for assimilation cycle
+ divdamp_type   = 32    ! ** new setting for assimilation and forecast runs **
+ divdamp_fac    = 0.004 ! use 0.032 in conjunction with divdamp_order = 2 in assimilation cycle
+ l_open_ubc     = .false.
+ igradp_method  = 3
+ l_zdiffu_t     = .true.
+ thslp_zdiffu   = 0.02
+ thhgtd_zdiffu  = 125.
+ htop_moist_proc= 22500.
+ hbot_qvsubstep = 22500. ! use 22500. with R2B6
+/
+&nudging_nml
+ nudge_type  = 0
+ max_nudge_coeff_vn = 0.00000
+/
+&sleve_nml
+ min_lay_thckn   = 20.
+ max_lay_thckn   = 400.   ! maximum layer thickness below htop_thcknlimit
+ htop_thcknlimit = 14000. ! this implies that the upcoming COSMO-EU nest will have 60 levels
+ top_height      = 75000.
+ stretch_fac     = 0.9
+ decay_scale_1   = 4000.
+ decay_scale_2   = 2500.
+ decay_exp       = 1.2
+ flat_height     = 16000.
+/
+&dynamics_nml
+ iequations     = 3
+ idiv_method    = 1
+ divavg_cntrwgt = 0.50
+ !lcoriolis      = .TRUE.
+/
+&transport_nml
+ ctracer_list  = '12345'
+ ivadv_tracer  = 3,3,3,3,3
+ itype_hlimit  = 3,4,4,4,4
+ ihadv_tracer  = 52,2,2,2,2
+ iadv_tke      = 0
+/
+&diffusion_nml
+ hdiff_order      = 5
+ itype_vn_diffu   = 1
+ itype_t_diffu    = 2
+ hdiff_efdt_ratio = 24.0
+ hdiff_smag_fac   = 0.025
+ lhdiff_vn        = .TRUE.
+ lhdiff_temp      = .TRUE.
+/
+&interpol_nml
+ nudge_zone_width  = 0.0  ! deactivating nudging as needed for mass conservation for this setup 
+ nudge_efold_width = 0.0
+ nudge_max_coeff   = 0.00000
+ lsq_high_ord      = 3
+ l_intp_c2l        = .true.
+ l_mono_c2l        = .true.
+ support_baryctr_intp = .false.
+ rbf_vec_scale_c   = 0.3,  0.1,  0.03
+ rbf_vec_scale_v   = 0.4,  0.25, 0.07
+ rbf_vec_scale_e   = 0.45, 0.37, 0.25
+/
+&extpar_nml
+ itopo                = 1
+ extpar_filename      = 'extpar_DOM01.nc'
+ n_iter_smooth_topo   = 1         
+ heightdiff_threshold = 3000.
+/
+&io_nml
+ itype_pres_msl = 5  ! 4 New extrapolation method to circumvent Ninjo problem with surface inversions
+ itype_rh       = 1  ! RH w.r.t. water
+ restart_file_type = 5       ! 4: netcdf2, 5: netcdf4
+/
+&nh_pzlev_nml
+ nplev             = 18     ! number of p level output (attention: levels in [Pa] and top-down)
+ nzlev             = 20     ! number of z level output (attention: levels in [m] and top-down)
+ plevels           = 5000,7000,10000,15000,20000,25000,30000,40000,50000,60000,70000,
+                     80000,85000,90000,92500,95000,97500,100000
+ zlevels           = 25000,20000,18000,16000,14000,12000,10000,8000,6000,5000,4000,3000,2000,
+                     1000,800,600,400,200,100,10
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1         
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-atm3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'pres','qc','qi','qv','rho','temp','u','v','w','vn','z_ifc','vor','rh','pv','omega','geopot','div','cape','tke'
+ remap            = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1         
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-cld3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'clc','tot_qv_dia','tot_qc_dia','tot_qi_dia','pres'
+ remap            = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                      ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}" 
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-rad3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'lwflxall', 'lwflx_dn_clr','lwflx_up_clr','swflx_dn_clr','swflx_up_clr','swflx_up','swflx_dn','pres'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                      ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-ddt3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'ddt_temp_totnwpphy','ddt_temp_radsw','ddt_temp_radlw','ddt_temp_turb','ddt_temp_pconv','ddt_temp_drag','ddt_temp_satad','ddt_temp_diff','ddt_temp_dyn','ddt_temp_gscp','pres'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5              ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                       ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 = .FALSE.
+ output_filename              = 'icon-atm2d'   ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'pres_msl','pres_sfc','ddt_pres_sfc','u_10m','v_10m','t_g','t_2m','qv_2m','td_2m','rh_2m','group:precip_vars','rain_gsp_rate','rain_con_rate','cape_ml','cin_ml','clct','clch','clcm','clcl','tqv_dia','tqc_dia','tqi_dia','tqv','tqc','tqi','tqr','shfl_s','lhfl_s','qhfl_s','w_so'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5              ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                       ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 = .FALSE.
+ output_filename              = 'icon-rad2d'   ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'sob_t','thb_t','sob_s','thb_s','thbclr_s','sobclr_s'
+ remap                        = 0
+/
+&output_nml
+ output_filename  = "icon-extra"
+ filename_format  = "<output_filename>_<levtype_l>"
+ filetype         = 5
+ remap            = 0
+ output_grid      = .TRUE.
+ output_start     = "${start_date}"          ! output_start = output_end
+ output_end       = "${start_date}"          ! --> write once only irrespective of
+ output_interval  = "PT1H"  !     the output interval and
+ file_interval    = "${file_interval}"    !     the file interval
+ ml_varlist       = 'z_mc','t_seasfc'
+/
+EOF
+
+#=============================================================================
+#
+# This section of the run script prepares and starts the model integration. 
+#-----------------------------------------------------------------------------
+
+final_status_file=${EXPDIR}/${job_name}.final_status
+rm -f ${final_status_file}
+#-----------------------------------------------------------------------------
+
+# set up the model lists if they do not exist
+# this works for single model runs
+# for coupled runs the lists should be declared explicilty
+if [ x$namelist_list = x ]; then
+#  minrank_list=(        0           )
+#  maxrank_list=(     65535          )
+#  incrank_list=(        1           )
+  minrank_list[0]=0
+  maxrank_list[0]=65535
+  incrank_list[0]=1
+  if [ x$atmo_namelist != x ]; then
+    # this is the atmo model
+    namelist_list[0]="$atmo_namelist"
+    modelname_list[0]="atmo"
+    modeltype_list[0]=1
+    run_atmo="true"
+  else
+    check_error 1 "No namelist is defined"
+  fi
+fi
+
+#-----------------------------------------------------------------------------
+# set some default values and derive some run parameteres
+restart=${restart:=".false."}
+restartSemaphoreFilename='isRestartRun.sem'
+#AUTOMATIC_RESTART_SETUP:
+if [ -f ${restartSemaphoreFilename} ]; then
+  restart=.true.
+  #  do not delete switch-file, to enable restart after unintended abort
+  #[[ -f ${restartSemaphoreFilename} ]] && rm ${restartSemaphoreFilename}
+fi
+#END AUTOMATIC_RESTART_SETUP
+#
+# wait 5min to let GPFS finish the write operations
+if [ "x$restart" != 'x.false.' -a "x$submit" != 'x' ]; then
+  if [ x$(df -T ${EXPDIR} | cut -d ' ' -f 2) = gpfs ]; then
+    sleep 10;
+  fi
+fi
+# fill some checks
+
+run_atmo=${run_atmo="false"}
+if [ x$atmo_namelist != x ]; then
+  run_atmo="true"
+fi
+#-----------------------------------------------------------------------------
+# get restart files
+
+if  [ x$restart_atmo_from != "x" ] ; then
+  rm -f restart_atm_DOM01.nc
+#  ln -s ${basedir}/experiments/${restart_from_folder}/${restart_atmo_from} ${EXPDIR}/restart_atm_DOM01.nc
+  cp ${basedir}/experiments/${restart_from_folder}/${restart_atmo_from} cp_restart_atm.nc
+  ln -s cp_restart_atm.nc restart_atm_DOM01.nc
+  restart=".true."
+fi
+if  [ x$restart_ocean_from != "x" ] ; then
+  rm -f restart_oce.nc
+#  ln -s ${basedir}/experiments/${restart_from_folder}/${restart_ocean_from} ${EXPDIR}/restart_oce.nc
+  cp ${basedir}/experiments/${restart_from_folder}/${restart_ocean_from} cp_restart_oce_DOM01.nc
+  ln -s cp_restart_oce_DOM01.nc restart_oce_DOM01.nc
+  restart=".true."
+fi
+#-----------------------------------------------------------------------------
+
+
+read_restart_namelists=${read_restart_namelists:=".true."}
+
+#-----------------------------------------------------------------------------
+#
+# create ICON master namelist
+# ------------------------
+# For a complete list see Namelist_overview and Namelist_overview.pdf
+
+#-----------------------------------------------------------------------------
+# create master_namelist
+master_namelist=icon_master.namelist
+if [ x$end_date = x ]; then
+cat > $master_namelist << EOF
+&master_nml
+ lrestart            = $restart
+/
+&master_time_control_nml
+ experimentStartDate  = "$start_date"
+ restartTimeIntval    = "$restart_interval"
+ checkpointTimeIntval = "$checkpoint_interval"
+/
+&time_nml
+ is_relative_time = .false.
+/
+EOF
+else
+if [ x$calendar = x ]; then
+  calendar='proleptic gregorian'
+  calendar_type=1
+else
+  calendar=$calendar
+  calendar_type=$calendar_type
+fi
+cat > $master_namelist << EOF
+&master_nml
+ lrestart            = $restart
+ read_restart_namelists = $read_restart_namelists
+/
+&master_time_control_nml
+ calendar             = "$calendar"
+ checkpointTimeIntval = "$checkpoint_interval"
+ restartTimeIntval    = "$restart_interval"
+ experimentStartDate  = "$start_date"
+ experimentStopDate   = "$end_date"
+/
+&time_nml
+ is_relative_time = .false.
+/
+EOF
+fi
+#-----------------------------------------------------------------------------
+
+
+#-----------------------------------------------------------------------------
+# add model component to master_namelist
+add_component_to_master_namelist()
+{
+
+  model_namelist_filename="$1"
+  model_name=$2
+  model_type=$3
+  model_min_rank=$4
+  model_max_rank=$5
+  model_inc_rank=$6
+
+cat >> $master_namelist << EOF
+&master_model_nml
+  model_name="$model_name"
+  model_namelist_filename="$model_namelist_filename"
+  model_type=$model_type
+  model_min_rank=$model_min_rank
+  model_max_rank=$model_max_rank
+  model_inc_rank=$model_inc_rank
+/
+EOF
+
+}
+#-----------------------------------------------------------------------------
+
+
+no_of_models=${#namelist_list[*]}
+echo "no_of_models=$no_of_models"
+
+j=0
+while [ $j -lt ${no_of_models} ]
+do
+  add_component_to_master_namelist "${namelist_list[$j]}" "${modelname_list[$j]}" ${modeltype_list[$j]} ${minrank_list[$j]} ${maxrank_list[$j]} ${incrank_list[$j]}
+  j=`expr ${j} + 1`
+done
+
+#-----------------------------------------------------------------------------
+#
+# get model
+#
+ls -l ${MODEL}
+check_error $? "${MODEL} does not exist?"
+#-----------------------------------------------------------------------------
+
+# start experiment
+
+rm -f finish.status
+date
+${START} ${MODEL}
+date
+#
+if [ -r finish.status ] ; then
+  check_final_status 0 "${START} ${MODEL}"
+else
+  check_final_status -1 "${START} ${MODEL}"
+fi
+#
+
+#-----------------------------------------------------------------------------
+#
+finish_status=`cat finish.status`
+echo $finish_status
+echo "============================"
+echo "Script run successfully: $finish_status"
+echo "============================"
+#-----------------------------------------------------------------------------
+namelist_list=""
+#-----------------------------------------------------------------------------
+# check if we have to restart, ie resubmit
+#   Note: this is a different mechanism from checking the restart
+if [ $finish_status = "RESTART" ]; then
+  echo "restart next experiment..."
+  this_script="${RUNSCRIPTDIR}/exp.${EXPNAME}.run"
+  echo 'this_script: ' "$this_script"
+  # note that if ${restartSemaphoreFilename} does not exist yet, then touch will create it
+  touch ${restartSemaphoreFilename}
+  cd ${RUNSCRIPTDIR}
+  sbatch exp.${EXPNAME}.run
+else
+  [[ -f ${restartSemaphoreFilename} ]] && rm ${restartSemaphoreFilename}
+fi
+#-----------------------------------------------------------------------------
+
+#-----------------------------------------------------------------------------
+
+cd ${RUNSCRIPTDIR}
+
+#-----------------------------------------------------------------------------
diff --git a/Scripts_for_running_simulations/exp.channel_2km_0003.run b/Scripts_for_running_simulations/exp.channel_2km_0003.run
new file mode 100644
index 0000000..9b8cbf4
--- /dev/null
+++ b/Scripts_for_running_simulations/exp.channel_2km_0003.run
@@ -0,0 +1,672 @@
+#! /bin/ksh
+#=============================================================================
+
+# levante cpu batch job parameters
+
+#SBATCH --account=bb1152
+#SBATCH --job-name=2km0003
+#SBATCH --partition=compute
+#SBATCH --chdir=/home/b/b380906/icon-on-jet/run/runscripts/channel_2km_0003
+#SBATCH --nodes=80
+#SBATCH --threads-per-core=2
+# the following is needed to work around a bug that otherwise leads to
+# a too low number of ranks when using compute,compute2 as queue
+#SBATCH --mem=0
+#SBATCH --output=/home/b/b380906/icon-on-jet/run/runscripts/channel_2km_0003/LOG.channel_2km_0003.%j.o
+#SBATCH --error=/home/b/b380906/icon-on-jet/run/runscripts/channel_2km_0003/LOG.channel_2km_0003.%j.o
+#SBATCH --exclusive
+#SBATCH --time=08:00:00
+
+#=============================================================================
+set -x
+ulimit -s unlimited
+#=============================================================================
+# OpenMP environment variables
+# ----------------------------
+export OMP_NUM_THREADS=4
+export ICON_THREADS=$OMP_NUM_THREADS
+export OMP_SCHEDULE="guided"
+export OMP_DYNAMIC="false"
+export OMP_STACKSIZE=500M
+#
+# MPI variables
+# -------------
+no_of_nodes=${SLURM_JOB_NUM_NODES:=1}
+mpi_procs_pernode=$((128 / OMP_NUM_THREADS))
+((mpi_total_procs=no_of_nodes * mpi_procs_pernode))
+
+#=============================================================================
+
+# load local setting, if existing
+# -------------------------------
+if [ -a ../setting ]
+then
+  echo "Load Setting"
+  . ../setting
+fi
+
+# environment variables for the experiment and the target system
+# --------------------------------------------------------------
+
+export EXPNAME="atm_rte_rrtmgp_amip_test"
+export KMP_AFFINITY="granularity=fine,scatter"
+export KMP_LIBRARY="turnaround"
+export OMPI_MCA_pml="ucx"
+export OMPI_MCA_btl=self
+export OMPI_MCA_osc="pt2pt"
+export UCX_IB_ADDR_TYPE=ib_global
+export OMPI_MCA_coll="^ml"
+export OMPI_MCA_coll_hcoll_enable="1"
+export HCOLL_ENABLE_MCAST_ALL="1"
+export HCOLL_MAIN_IB=mlx5_0:1
+export UCX_NET_DEVICES=mlx5_0:1
+export UCX_TLS=mm,knem,cma,dc_mlx5,dc_x,self
+export UCX_UNIFIED_MODE=y
+export HDF5_USE_FILE_LOCKING=FALSE
+export OMPI_MCA_io="romio321"
+export MALLOC_TRIM_THRESHOLD_="-1"
+export MKL_ENABLE_INSTRUCTIONS=AVX2
+export MKL_DEBUG_CPU_TYPE=5
+export UCX_HANDLE_ERRORS=bt
+
+# load profile
+# ------------
+if [[ -a  /etc/profile ]]
+then
+        . /etc/profile
+fi
+
+#=============================================================================
+
+# directories with absolute paths
+# -------------------------------
+basedir="/home/b/b380906/icon-on-jet"
+export basedir
+
+# how to start the icon model
+mask="0xf,0xf0000,0xf00000000,0xf000000000000,0xf0000000000000000,0xf00000000000000000000,0xf000000000000000000000000,0xf0000000000000000000000000000,0xf0,0xf00000,0xf000000000,0xf0000000000000,0xf00000000000000000,0xf000000000000000000000,0xf0000000000000000000000000,0xf00000000000000000000000000000,0xf00,0xf000000,0xf0000000000,0xf00000000000000,0xf000000000000000000,0xf0000000000000000000000,0xf00000000000000000000000000,0xf000000000000000000000000000000,0xf000,0xf0000000,0xf00000000000,0xf000000000000000,0xf0000000000000000000,0xf00000000000000000000000,0xf000000000000000000000000000,0xf0000000000000000000000000000000"
+export START="srun -l --kill-on-bad-exit=1 --nodes=${SLURM_JOB_NUM_NODES:-1} --ntasks=$((no_of_nodes * mpi_procs_pernode)) --propagate=STACK,CORE --distribution=block:block --cpu-bind=v,mask_cpu=$mask "
+export MODEL="${basedir}/bin/icon"
+
+# how to submit the next job
+# --------------------------
+submit="sbatch"
+job_name="exp.channel_2km_0003.run"
+
+#=============================================================================
+
+ulimit -s $((4 * 1024 * 1024))
+ulimit -c 0
+
+#-----------------------------------------------------------------------------
+export EXPNAME="channel_2km_0003"
+
+# atmo namelist filename
+atmo_namelist=NAMELIST_${EXPNAME}_atm
+
+# directories definition
+RUNSCRIPTDIR=/home/b/b380906/icon-on-jet/run/runscripts/channel_2km_0003/  # run script directory
+
+#-----------------------------------------------------------------------------
+# global timing
+start_date="2021-01-01T00:00:00Z"
+end_date="2021-01-10T00:00:00Z" 
+
+# restart intervals
+checkpoint_interval="P20D"
+restart_interval="P40D"
+
+# output intervals
+output_interval="PT1H"
+file_interval="PT1H"
+
+#-----------------------------------------------------------------------------
+# model parameters
+model_equations=3             # equation system
+#                     1=hydrost. atm. T
+#                     1=hydrost. atm. theta dp
+#                     3=non-hydrost. atm.,
+#                     0=shallow water model
+#                    -1=hydrost. ocean
+#-----------------------------------------------------------------------------
+
+# experiment directory, with plenty of space, create if new
+
+EXPDIR=/scratch/b/b380906/${EXPNAME} 
+if [ ! -d ${EXPDIR} ] ;  then
+  mkdir -p ${EXPDIR}
+fi
+#
+ls -ld ${EXPDIR}
+if [ ! -d ${EXPDIR} ] ;  then
+    mkdir ${EXPDIR}
+fi
+ls -ld ${EXPDIR}
+check_error $? "${EXPDIR} does not exist?"
+
+cd ${EXPDIR}
+
+#-----------------------------------------------------------------------------
+# Link experiment initial files
+inputdir='/work/bb1152/Module_A/A6_CyclEx/input_data'
+# Grid
+ln -sf $inputdir/Channel_4000x9000_2500m_with_boundary.nc grid_DOM01.nc
+
+# Extpar
+ln -sf $inputdir/inputs_planar_channel_51x81_2km/extpar_remapped_12_months.nc extpar_DOM01.nc
+
+# Initial file
+ln -sf $inputdir/inputs_planar_channel_51x81_2km/lc1_ifs_4K_qvCTL_remapped.nc ifs2icon_init.nc
+
+# Ozone
+ln -sf $inputdir/inputs_planar_channel_51x81_2km/ape_O3_remapped.nc o3_icon_DOM01.nc
+
+# Model required files
+ln -sf $basedir/data/rrtmg_lw.nc              ./
+ln -sf $basedir/data/rrtmg_sw.nc              ./
+ln -sf $basedir/data/ECHAM6_CldOptProps.nc    ./
+
+#=============================================================================
+
+# create ICON namelist parameters
+
+cat > ${atmo_namelist} << EOF
+&parallel_nml
+ nproma         = 16  ! optimal setting 8 for CRAY; use 16 or 24 for IBM
+ p_test_run     = .false.
+ l_test_openmp  = .false.
+ l_log_checks   = .false.
+ num_io_procs   = 10   ! asynchronous output for values >= 1
+ itype_comm     = 1
+ iorder_sendrecv = 3  ! best value for CRAY (slightly faster than option 1)
+ num_prefetch_proc = 1
+/
+&grid_nml
+ dynamics_grid_filename  = 'grid_DOM01.nc'
+ dynamics_parent_grid_id = 0
+ lredgrid_phys           = .false.
+ is_plane_cylinder       = .TRUE.
+ l_limited_area          = .true.
+ corio_lat               = 45.0
+/
+&initicon_nml
+ init_mode   = 2           ! operation mode 2: IFS
+ ifs2icon_filename = 'ifs2icon_init.nc' 
+ zpbl1       = 500. 
+ zpbl2       = 1000.
+ l_sst_in    = .true. 
+/
+&limarea_nml
+ itype_latbc    = 0            ! fix
+/
+&run_nml
+ num_lev        = 90           ! 60
+ dtime          = 24  ! 360 for R2B5 180 for R2B7    
+ ldynamics      = .TRUE.
+ ltransport     = .true.
+ iforcing       = 3            ! NWP forcing
+ ltestcase      = .false.      ! false: run with real data
+ msg_level      = 7            ! print maximum wind speeds every 5 time steps
+ ltimer         = .false.      ! set .TRUE. for timer output
+ timers_level   = 1            ! can be increased up to 10 for detailed timer output
+ output         = "nml"
+/
+&nwp_phy_nml
+ inwp_gscp          = 1
+ inwp_convection    = 1
+ lshallowconv_only  = .true. ! use only shallow convection scheme
+ inwp_radiation     = 1
+ inwp_cldcover      = 1
+ inwp_turb          = 1
+ inwp_satad         = 1
+ inwp_sso           = 1
+ inwp_gwd           = 1
+ inwp_surface       = 1
+ icapdcycl          = 3
+ latm_above_top  = .false.  ! the second entry refers to the nested domain (if present)
+ efdt_min_raylfric = 7200.
+ ldetrain_conv_prec = .false.
+ itype_z0         = 2
+ icpl_aero_conv   = 0 
+ icpl_aero_gscp   = 0
+ ! resolution-dependent settings - please choose the appropriate one
+ dt_rad    = 720 
+ dt_conv   = 300 
+ dt_sso    = 300 
+ dt_gwd    = 300. 
+/
+&turbdiff_nml
+ tkhmin  = 0.75  
+ tkmmin  = 0.75             
+ pat_len = 100. !750.
+ c_diff  = 0.2
+ rat_sea = 10  
+ ltkesso = .true.
+ frcsmot = 0.2      
+ imode_frcsmot = 2  
+ itype_sher = 3    
+ ltkeshs    = .true.
+ a_hshr     = 2.0     
+/
+&lnd_nml
+ ntiles         = 3      !!! 1 for assimilation cycle and forecast
+ nlev_snow      = 3      !!! 1 for assimilation cycle and forecast
+ lmulti_snow    = .true. !!! .false. for assimilation cycle and forecast
+ itype_heatcond = 2
+ idiag_snowfrac = 2
+ lsnowtile      = .false.  !! later on .true. if GRIB encoding issues are solved
+ lseaice        = .true. !!Sophia Schäfer, 23/03/2017: reads in sea ice (e.g. zero ice), instead of setting by temperature
+ llake          = .false.
+ itype_lndtbl   = 3  ! minimizes moist/cold bias in lower tropical troposphere
+ itype_root     = 2  			        
+/
+&radiation_nml
+ irad_o3       = 4
+ irad_aero     = 0
+ irad_cfc11    = 0
+ irad_cfc12    = 0
+ albedo_type   = 2 ! Modis albedo
+ vmr_co2       = 348.0e-6 ! values representative for 2012
+ vmr_ch4       = 1650.0e-09
+ vmr_n2o       = 396.0e-09
+ vmr_o2        = 0.20946
+ izenith       = 3
+ vmr_cfc11     = 0
+ vmr_cfc12     = 0
+/
+&nonhydrostatic_nml
+ iadv_rhotheta  = 2
+ ivctype        = 2
+ itime_scheme   = 4
+ exner_expol    = 0.333
+ vwind_offctr   = 0.2
+ damp_height    = 50000.
+ rayleigh_coeff = 0.10   ! R3B7: 1.0 for forecasts, 5.0 in assimilation cycle; 0.5/2.5 for R2B6 (i.e. ensemble) runs
+ lhdiff_rcf     = .true.
+ divdamp_order  = 24    ! setting for forecast runs; use '2' for assimilation cycle
+ divdamp_type   = 32    ! ** new setting for assimilation and forecast runs **
+ divdamp_fac    = 0.004 ! use 0.032 in conjunction with divdamp_order = 2 in assimilation cycle
+ l_open_ubc     = .false.
+ igradp_method  = 3
+ l_zdiffu_t     = .true.
+ thslp_zdiffu   = 0.02
+ thhgtd_zdiffu  = 125.
+ htop_moist_proc= 22500.
+ hbot_qvsubstep = 22500. ! use 22500. with R2B6
+/
+&nudging_nml
+ nudge_type  = 0
+ max_nudge_coeff_vn = 0.00000
+/
+&sleve_nml
+ min_lay_thckn   = 20.
+ max_lay_thckn   = 400.   ! maximum layer thickness below htop_thcknlimit
+ htop_thcknlimit = 14000. ! this implies that the upcoming COSMO-EU nest will have 60 levels
+ top_height      = 75000.
+ stretch_fac     = 0.9
+ decay_scale_1   = 4000.
+ decay_scale_2   = 2500.
+ decay_exp       = 1.2
+ flat_height     = 16000.
+/
+&dynamics_nml
+ iequations     = 3
+ idiv_method    = 1
+ divavg_cntrwgt = 0.50
+ !lcoriolis      = .TRUE.
+/
+&transport_nml
+ ctracer_list  = '12345'
+ ivadv_tracer  = 3,3,3,3,3
+ itype_hlimit  = 3,4,4,4,4
+ ihadv_tracer  = 52,2,2,2,2
+ iadv_tke      = 0
+/
+&diffusion_nml
+ hdiff_order      = 5
+ itype_vn_diffu   = 1
+ itype_t_diffu    = 2
+ hdiff_efdt_ratio = 24.0
+ hdiff_smag_fac   = 0.025
+ lhdiff_vn        = .TRUE.
+ lhdiff_temp      = .TRUE.
+/
+&interpol_nml
+ nudge_zone_width  = 0.0  ! deactivating nudging as needed for mass conservation for this setup 
+ nudge_efold_width = 0.0
+ nudge_max_coeff   = 0.00000
+ lsq_high_ord      = 3
+ l_intp_c2l        = .true.
+ l_mono_c2l        = .true.
+ support_baryctr_intp = .false.
+ rbf_vec_scale_c   = 0.3,  0.1,  0.03
+ rbf_vec_scale_v   = 0.4,  0.25, 0.07
+ rbf_vec_scale_e   = 0.45, 0.37, 0.25
+/
+&extpar_nml
+ itopo                = 1
+ extpar_filename      = 'extpar_DOM01.nc'
+ n_iter_smooth_topo   = 1         
+ heightdiff_threshold = 3000.
+/
+&io_nml
+ itype_pres_msl = 5  ! 4 New extrapolation method to circumvent Ninjo problem with surface inversions
+ itype_rh       = 1  ! RH w.r.t. water
+ restart_file_type = 5       ! 4: netcdf2, 5: netcdf4
+/
+&nh_pzlev_nml
+ nplev             = 18     ! number of p level output (attention: levels in [Pa] and top-down)
+ nzlev             = 20     ! number of z level output (attention: levels in [m] and top-down)
+ plevels           = 5000,7000,10000,15000,20000,25000,30000,40000,50000,60000,70000,
+                     80000,85000,90000,92500,95000,97500,100000
+ zlevels           = 25000,20000,18000,16000,14000,12000,10000,8000,6000,5000,4000,3000,2000,
+                     1000,800,600,400,200,100,10
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1         
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-atm3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'pres','qc','qi','qv','rho','temp','u','v','w','vn','z_ifc','vor','rh','pv','omega','geopot','div','cape','tke'
+ remap            = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1         
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-cld3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'clc','tot_qv_dia','tot_qc_dia','tot_qi_dia','pres'
+ remap            = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                      ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}" 
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-rad3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'lwflxall', 'lwflx_dn_clr','lwflx_up_clr','swflx_dn_clr','swflx_up_clr','swflx_up','swflx_dn','pres'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                      ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-ddt3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'ddt_temp_totnwpphy','ddt_temp_radsw','ddt_temp_radlw','ddt_temp_turb','ddt_temp_pconv','ddt_temp_drag','ddt_temp_satad','ddt_temp_diff','ddt_temp_dyn','ddt_temp_gscp','pres'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5              ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                       ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 = .FALSE.
+ output_filename              = 'icon-atm2d'   ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'pres_msl','pres_sfc','ddt_pres_sfc','u_10m','v_10m','t_g','t_2m','qv_2m','td_2m','rh_2m','group:precip_vars','rain_gsp_rate','rain_con_rate','cape_ml','cin_ml','clct','clch','clcm','clcl','tqv_dia','tqc_dia','tqi_dia','tqv','tqc','tqi','tqr','shfl_s','lhfl_s','qhfl_s','w_so'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5              ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                       ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 = .FALSE.
+ output_filename              = 'icon-rad2d'   ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'sob_t','thb_t','sob_s','thb_s','thbclr_s','sobclr_s'
+ remap                        = 0
+/
+&output_nml
+ output_filename  = "icon-extra"
+ filename_format  = "<output_filename>_<levtype_l>"
+ filetype         = 5
+ remap            = 0
+ output_grid      = .TRUE.
+ output_start     = "${start_date}"          ! output_start = output_end
+ output_end       = "${start_date}"          ! --> write once only irrespective of
+ output_interval  = "PT1H"  !     the output interval and
+ file_interval    = "${file_interval}"    !     the file interval
+ ml_varlist       = 'z_mc','t_seasfc'
+/
+EOF
+
+#=============================================================================
+#
+# This section of the run script prepares and starts the model integration. 
+#-----------------------------------------------------------------------------
+
+final_status_file=${EXPDIR}/${job_name}.final_status
+rm -f ${final_status_file}
+#-----------------------------------------------------------------------------
+
+# set up the model lists if they do not exist
+# this works for single model runs
+# for coupled runs the lists should be declared explicilty
+if [ x$namelist_list = x ]; then
+#  minrank_list=(        0           )
+#  maxrank_list=(     65535          )
+#  incrank_list=(        1           )
+  minrank_list[0]=0
+  maxrank_list[0]=65535
+  incrank_list[0]=1
+  if [ x$atmo_namelist != x ]; then
+    # this is the atmo model
+    namelist_list[0]="$atmo_namelist"
+    modelname_list[0]="atmo"
+    modeltype_list[0]=1
+    run_atmo="true"
+  else
+    check_error 1 "No namelist is defined"
+  fi
+fi
+
+#-----------------------------------------------------------------------------
+# set some default values and derive some run parameteres
+restart=${restart:=".false."}
+restartSemaphoreFilename='isRestartRun.sem'
+#AUTOMATIC_RESTART_SETUP:
+if [ -f ${restartSemaphoreFilename} ]; then
+  restart=.true.
+  #  do not delete switch-file, to enable restart after unintended abort
+  #[[ -f ${restartSemaphoreFilename} ]] && rm ${restartSemaphoreFilename}
+fi
+#END AUTOMATIC_RESTART_SETUP
+#
+# wait 5min to let GPFS finish the write operations
+if [ "x$restart" != 'x.false.' -a "x$submit" != 'x' ]; then
+  if [ x$(df -T ${EXPDIR} | cut -d ' ' -f 2) = gpfs ]; then
+    sleep 10;
+  fi
+fi
+# fill some checks
+
+run_atmo=${run_atmo="false"}
+if [ x$atmo_namelist != x ]; then
+  run_atmo="true"
+fi
+#-----------------------------------------------------------------------------
+# get restart files
+
+if  [ x$restart_atmo_from != "x" ] ; then
+  rm -f restart_atm_DOM01.nc
+#  ln -s ${basedir}/experiments/${restart_from_folder}/${restart_atmo_from} ${EXPDIR}/restart_atm_DOM01.nc
+  cp ${basedir}/experiments/${restart_from_folder}/${restart_atmo_from} cp_restart_atm.nc
+  ln -s cp_restart_atm.nc restart_atm_DOM01.nc
+  restart=".true."
+fi
+if  [ x$restart_ocean_from != "x" ] ; then
+  rm -f restart_oce.nc
+#  ln -s ${basedir}/experiments/${restart_from_folder}/${restart_ocean_from} ${EXPDIR}/restart_oce.nc
+  cp ${basedir}/experiments/${restart_from_folder}/${restart_ocean_from} cp_restart_oce_DOM01.nc
+  ln -s cp_restart_oce_DOM01.nc restart_oce_DOM01.nc
+  restart=".true."
+fi
+#-----------------------------------------------------------------------------
+
+
+read_restart_namelists=${read_restart_namelists:=".true."}
+
+#-----------------------------------------------------------------------------
+#
+# create ICON master namelist
+# ------------------------
+# For a complete list see Namelist_overview and Namelist_overview.pdf
+
+#-----------------------------------------------------------------------------
+# create master_namelist
+master_namelist=icon_master.namelist
+if [ x$end_date = x ]; then
+cat > $master_namelist << EOF
+&master_nml
+ lrestart            = $restart
+/
+&master_time_control_nml
+ experimentStartDate  = "$start_date"
+ restartTimeIntval    = "$restart_interval"
+ checkpointTimeIntval = "$checkpoint_interval"
+/
+&time_nml
+ is_relative_time = .false.
+/
+EOF
+else
+if [ x$calendar = x ]; then
+  calendar='proleptic gregorian'
+  calendar_type=1
+else
+  calendar=$calendar
+  calendar_type=$calendar_type
+fi
+cat > $master_namelist << EOF
+&master_nml
+ lrestart            = $restart
+ read_restart_namelists = $read_restart_namelists
+/
+&master_time_control_nml
+ calendar             = "$calendar"
+ checkpointTimeIntval = "$checkpoint_interval"
+ restartTimeIntval    = "$restart_interval"
+ experimentStartDate  = "$start_date"
+ experimentStopDate   = "$end_date"
+/
+&time_nml
+ is_relative_time = .false.
+/
+EOF
+fi
+#-----------------------------------------------------------------------------
+
+
+#-----------------------------------------------------------------------------
+# add model component to master_namelist
+add_component_to_master_namelist()
+{
+
+  model_namelist_filename="$1"
+  model_name=$2
+  model_type=$3
+  model_min_rank=$4
+  model_max_rank=$5
+  model_inc_rank=$6
+
+cat >> $master_namelist << EOF
+&master_model_nml
+  model_name="$model_name"
+  model_namelist_filename="$model_namelist_filename"
+  model_type=$model_type
+  model_min_rank=$model_min_rank
+  model_max_rank=$model_max_rank
+  model_inc_rank=$model_inc_rank
+/
+EOF
+
+}
+#-----------------------------------------------------------------------------
+
+
+no_of_models=${#namelist_list[*]}
+echo "no_of_models=$no_of_models"
+
+j=0
+while [ $j -lt ${no_of_models} ]
+do
+  add_component_to_master_namelist "${namelist_list[$j]}" "${modelname_list[$j]}" ${modeltype_list[$j]} ${minrank_list[$j]} ${maxrank_list[$j]} ${incrank_list[$j]}
+  j=`expr ${j} + 1`
+done
+
+#-----------------------------------------------------------------------------
+#
+# get model
+#
+ls -l ${MODEL}
+check_error $? "${MODEL} does not exist?"
+#-----------------------------------------------------------------------------
+
+# start experiment
+
+rm -f finish.status
+date
+${START} ${MODEL}
+date
+#
+if [ -r finish.status ] ; then
+  check_final_status 0 "${START} ${MODEL}"
+else
+  check_final_status -1 "${START} ${MODEL}"
+fi
+#
+
+#-----------------------------------------------------------------------------
+#
+finish_status=`cat finish.status`
+echo $finish_status
+echo "============================"
+echo "Script run successfully: $finish_status"
+echo "============================"
+#-----------------------------------------------------------------------------
+namelist_list=""
+#-----------------------------------------------------------------------------
+# check if we have to restart, ie resubmit
+#   Note: this is a different mechanism from checking the restart
+if [ $finish_status = "RESTART" ]; then
+  echo "restart next experiment..."
+  this_script="${RUNSCRIPTDIR}/exp.${EXPNAME}.run"
+  echo 'this_script: ' "$this_script"
+  # note that if ${restartSemaphoreFilename} does not exist yet, then touch will create it
+  touch ${restartSemaphoreFilename}
+  cd ${RUNSCRIPTDIR}
+  sbatch exp.${EXPNAME}.run
+else
+  [[ -f ${restartSemaphoreFilename} ]] && rm ${restartSemaphoreFilename}
+fi
+#-----------------------------------------------------------------------------
+
+#-----------------------------------------------------------------------------
+
+cd ${RUNSCRIPTDIR}
+
+#-----------------------------------------------------------------------------
diff --git a/Scripts_for_running_simulations/exp.channel_2km_0004.run b/Scripts_for_running_simulations/exp.channel_2km_0004.run
new file mode 100644
index 0000000..11e941c
--- /dev/null
+++ b/Scripts_for_running_simulations/exp.channel_2km_0004.run
@@ -0,0 +1,672 @@
+#! /bin/ksh
+#=============================================================================
+
+# levante cpu batch job parameters
+
+#SBATCH --account=bb1152
+#SBATCH --job-name=2km0004
+#SBATCH --partition=compute
+#SBATCH --chdir=/home/b/b380906/icon-on-jet/run/runscripts/channel_2km_0004
+#SBATCH --nodes=80
+#SBATCH --threads-per-core=2
+# the following is needed to work around a bug that otherwise leads to
+# a too low number of ranks when using compute,compute2 as queue
+#SBATCH --mem=0
+#SBATCH --output=/home/b/b380906/icon-on-jet/run/runscripts/channel_2km_0004/LOG.channel_2km_0004.%j.o
+#SBATCH --error=/home/b/b380906/icon-on-jet/run/runscripts/channel_2km_0004/LOG.channel_2km_0004.%j.o
+#SBATCH --exclusive
+#SBATCH --time=08:00:00
+
+#=============================================================================
+set -x
+ulimit -s unlimited
+#=============================================================================
+# OpenMP environment variables
+# ----------------------------
+export OMP_NUM_THREADS=4
+export ICON_THREADS=$OMP_NUM_THREADS
+export OMP_SCHEDULE="guided"
+export OMP_DYNAMIC="false"
+export OMP_STACKSIZE=500M
+#
+# MPI variables
+# -------------
+no_of_nodes=${SLURM_JOB_NUM_NODES:=1}
+mpi_procs_pernode=$((128 / OMP_NUM_THREADS))
+((mpi_total_procs=no_of_nodes * mpi_procs_pernode))
+
+#=============================================================================
+
+# load local setting, if existing
+# -------------------------------
+if [ -a ../setting ]
+then
+  echo "Load Setting"
+  . ../setting
+fi
+
+# environment variables for the experiment and the target system
+# --------------------------------------------------------------
+
+export EXPNAME="atm_rte_rrtmgp_amip_test"
+export KMP_AFFINITY="granularity=fine,scatter"
+export KMP_LIBRARY="turnaround"
+export OMPI_MCA_pml="ucx"
+export OMPI_MCA_btl=self
+export OMPI_MCA_osc="pt2pt"
+export UCX_IB_ADDR_TYPE=ib_global
+export OMPI_MCA_coll="^ml"
+export OMPI_MCA_coll_hcoll_enable="1"
+export HCOLL_ENABLE_MCAST_ALL="1"
+export HCOLL_MAIN_IB=mlx5_0:1
+export UCX_NET_DEVICES=mlx5_0:1
+export UCX_TLS=mm,knem,cma,dc_mlx5,dc_x,self
+export UCX_UNIFIED_MODE=y
+export HDF5_USE_FILE_LOCKING=FALSE
+export OMPI_MCA_io="romio321"
+export MALLOC_TRIM_THRESHOLD_="-1"
+export MKL_ENABLE_INSTRUCTIONS=AVX2
+export MKL_DEBUG_CPU_TYPE=5
+export UCX_HANDLE_ERRORS=bt
+
+# load profile
+# ------------
+if [[ -a  /etc/profile ]]
+then
+        . /etc/profile
+fi
+
+#=============================================================================
+
+# directories with absolute paths
+# -------------------------------
+basedir="/home/b/b380906/icon-on-jet"
+export basedir
+
+# how to start the icon model
+mask="0xf,0xf0000,0xf00000000,0xf000000000000,0xf0000000000000000,0xf00000000000000000000,0xf000000000000000000000000,0xf0000000000000000000000000000,0xf0,0xf00000,0xf000000000,0xf0000000000000,0xf00000000000000000,0xf000000000000000000000,0xf0000000000000000000000000,0xf00000000000000000000000000000,0xf00,0xf000000,0xf0000000000,0xf00000000000000,0xf000000000000000000,0xf0000000000000000000000,0xf00000000000000000000000000,0xf000000000000000000000000000000,0xf000,0xf0000000,0xf00000000000,0xf000000000000000,0xf0000000000000000000,0xf00000000000000000000000,0xf000000000000000000000000000,0xf0000000000000000000000000000000"
+export START="srun -l --kill-on-bad-exit=1 --nodes=${SLURM_JOB_NUM_NODES:-1} --ntasks=$((no_of_nodes * mpi_procs_pernode)) --propagate=STACK,CORE --distribution=block:block --cpu-bind=v,mask_cpu=$mask "
+export MODEL="${basedir}/bin/icon"
+
+# how to submit the next job
+# --------------------------
+submit="sbatch"
+job_name="exp.channel_2km_0004.run"
+
+#=============================================================================
+
+ulimit -s $((4 * 1024 * 1024))
+ulimit -c 0
+
+#-----------------------------------------------------------------------------
+export EXPNAME="channel_2km_0004"
+
+# atmo namelist filename
+atmo_namelist=NAMELIST_${EXPNAME}_atm
+
+# directories definition
+RUNSCRIPTDIR=/home/b/b380906/icon-on-jet/run/runscripts/channel_2km_0004/  # run script directory
+
+#-----------------------------------------------------------------------------
+# global timing
+start_date="2021-01-01T00:00:00Z"
+end_date="2021-01-10T00:00:00Z" 
+
+# restart intervals
+checkpoint_interval="P20D"
+restart_interval="P40D"
+
+# output intervals
+output_interval="PT1H"
+file_interval="PT1H"
+
+#-----------------------------------------------------------------------------
+# model parameters
+model_equations=3             # equation system
+#                     1=hydrost. atm. T
+#                     1=hydrost. atm. theta dp
+#                     3=non-hydrost. atm.,
+#                     0=shallow water model
+#                    -1=hydrost. ocean
+#-----------------------------------------------------------------------------
+
+# experiment directory, with plenty of space, create if new
+
+EXPDIR=/scratch/b/b380906/${EXPNAME} 
+if [ ! -d ${EXPDIR} ] ;  then
+  mkdir -p ${EXPDIR}
+fi
+#
+ls -ld ${EXPDIR}
+if [ ! -d ${EXPDIR} ] ;  then
+    mkdir ${EXPDIR}
+fi
+ls -ld ${EXPDIR}
+check_error $? "${EXPDIR} does not exist?"
+
+cd ${EXPDIR}
+
+#-----------------------------------------------------------------------------
+# Link experiment initial files
+inputdir='/work/bb1152/Module_A/A6_CyclEx/input_data'
+# Grid
+ln -sf $inputdir/Channel_4000x9000_2500m_with_boundary.nc grid_DOM01.nc
+
+# Extpar
+ln -sf $inputdir/inputs_planar_channel_51x81_2km/extpar_remapped_12_months.nc extpar_DOM01.nc
+
+# Initial file
+ln -sf $inputdir/inputs_planar_channel_51x81_2km/lc1_ifs_Tanom_remapped.nc ifs2icon_init.nc
+
+# Ozone
+ln -sf $inputdir/inputs_planar_channel_51x81_2km/ape_O3_remapped.nc o3_icon_DOM01.nc
+
+# Model required files
+ln -sf $basedir/data/rrtmg_lw.nc              ./
+ln -sf $basedir/data/rrtmg_sw.nc              ./
+ln -sf $basedir/data/ECHAM6_CldOptProps.nc    ./
+
+#=============================================================================
+
+# create ICON namelist parameters
+
+cat > ${atmo_namelist} << EOF
+&parallel_nml
+ nproma         = 16  ! optimal setting 8 for CRAY; use 16 or 24 for IBM
+ p_test_run     = .false.
+ l_test_openmp  = .false.
+ l_log_checks   = .false.
+ num_io_procs   = 10   ! asynchronous output for values >= 1
+ itype_comm     = 1
+ iorder_sendrecv = 3  ! best value for CRAY (slightly faster than option 1)
+ num_prefetch_proc = 1
+/
+&grid_nml
+ dynamics_grid_filename  = 'grid_DOM01.nc'
+ dynamics_parent_grid_id = 0
+ lredgrid_phys           = .false.
+ is_plane_cylinder       = .TRUE.
+ l_limited_area          = .true.
+ corio_lat               = 45.0
+/
+&initicon_nml
+ init_mode   = 2           ! operation mode 2: IFS
+ ifs2icon_filename = 'ifs2icon_init.nc' 
+ zpbl1       = 500. 
+ zpbl2       = 1000.
+ l_sst_in    = .true. 
+/
+&limarea_nml
+ itype_latbc    = 0            ! fix
+/
+&run_nml
+ num_lev        = 90           ! 60
+ dtime          = 24  ! 360 for R2B5 180 for R2B7    
+ ldynamics      = .TRUE.
+ ltransport     = .true.
+ iforcing       = 3            ! NWP forcing
+ ltestcase      = .false.      ! false: run with real data
+ msg_level      = 7            ! print maximum wind speeds every 5 time steps
+ ltimer         = .false.      ! set .TRUE. for timer output
+ timers_level   = 1            ! can be increased up to 10 for detailed timer output
+ output         = "nml"
+/
+&nwp_phy_nml
+ inwp_gscp          = 1
+ inwp_convection    = 1
+ lshallowconv_only  = .true. ! use only shallow convection scheme
+ inwp_radiation     = 1
+ inwp_cldcover      = 1
+ inwp_turb          = 1
+ inwp_satad         = 1
+ inwp_sso           = 1
+ inwp_gwd           = 1
+ inwp_surface       = 1
+ icapdcycl          = 3
+ latm_above_top  = .false.  ! the second entry refers to the nested domain (if present)
+ efdt_min_raylfric = 7200.
+ ldetrain_conv_prec = .false.
+ itype_z0         = 2
+ icpl_aero_conv   = 0 
+ icpl_aero_gscp   = 0
+ ! resolution-dependent settings - please choose the appropriate one
+ dt_rad    = 720 
+ dt_conv   = 300 
+ dt_sso    = 300 
+ dt_gwd    = 300. 
+/
+&turbdiff_nml
+ tkhmin  = 0.75  
+ tkmmin  = 0.75             
+ pat_len = 100. !750.
+ c_diff  = 0.2
+ rat_sea = 10  
+ ltkesso = .true.
+ frcsmot = 0.2      
+ imode_frcsmot = 2  
+ itype_sher = 3    
+ ltkeshs    = .true.
+ a_hshr     = 2.0     
+/
+&lnd_nml
+ ntiles         = 3      !!! 1 for assimilation cycle and forecast
+ nlev_snow      = 3      !!! 1 for assimilation cycle and forecast
+ lmulti_snow    = .true. !!! .false. for assimilation cycle and forecast
+ itype_heatcond = 2
+ idiag_snowfrac = 2
+ lsnowtile      = .false.  !! later on .true. if GRIB encoding issues are solved
+ lseaice        = .true. !!Sophia Schäfer, 23/03/2017: reads in sea ice (e.g. zero ice), instead of setting by temperature
+ llake          = .false.
+ itype_lndtbl   = 3  ! minimizes moist/cold bias in lower tropical troposphere
+ itype_root     = 2  			        
+/
+&radiation_nml
+ irad_o3       = 4
+ irad_aero     = 0
+ irad_cfc11    = 0
+ irad_cfc12    = 0
+ albedo_type   = 2 ! Modis albedo
+ vmr_co2       = 348.0e-6 ! values representative for 2012
+ vmr_ch4       = 1650.0e-09
+ vmr_n2o       = 396.0e-09
+ vmr_o2        = 0.20946
+ izenith       = 3
+ vmr_cfc11     = 0
+ vmr_cfc12     = 0
+/
+&nonhydrostatic_nml
+ iadv_rhotheta  = 2
+ ivctype        = 2
+ itime_scheme   = 4
+ exner_expol    = 0.333
+ vwind_offctr   = 0.2
+ damp_height    = 50000.
+ rayleigh_coeff = 0.10   ! R3B7: 1.0 for forecasts, 5.0 in assimilation cycle; 0.5/2.5 for R2B6 (i.e. ensemble) runs
+ lhdiff_rcf     = .true.
+ divdamp_order  = 24    ! setting for forecast runs; use '2' for assimilation cycle
+ divdamp_type   = 32    ! ** new setting for assimilation and forecast runs **
+ divdamp_fac    = 0.004 ! use 0.032 in conjunction with divdamp_order = 2 in assimilation cycle
+ l_open_ubc     = .false.
+ igradp_method  = 3
+ l_zdiffu_t     = .true.
+ thslp_zdiffu   = 0.02
+ thhgtd_zdiffu  = 125.
+ htop_moist_proc= 22500.
+ hbot_qvsubstep = 22500. ! use 22500. with R2B6
+/
+&nudging_nml
+ nudge_type  = 0
+ max_nudge_coeff_vn = 0.00000
+/
+&sleve_nml
+ min_lay_thckn   = 20.
+ max_lay_thckn   = 400.   ! maximum layer thickness below htop_thcknlimit
+ htop_thcknlimit = 14000. ! this implies that the upcoming COSMO-EU nest will have 60 levels
+ top_height      = 75000.
+ stretch_fac     = 0.9
+ decay_scale_1   = 4000.
+ decay_scale_2   = 2500.
+ decay_exp       = 1.2
+ flat_height     = 16000.
+/
+&dynamics_nml
+ iequations     = 3
+ idiv_method    = 1
+ divavg_cntrwgt = 0.50
+ !lcoriolis      = .TRUE.
+/
+&transport_nml
+ ctracer_list  = '12345'
+ ivadv_tracer  = 3,3,3,3,3
+ itype_hlimit  = 3,4,4,4,4
+ ihadv_tracer  = 52,2,2,2,2
+ iadv_tke      = 0
+/
+&diffusion_nml
+ hdiff_order      = 5
+ itype_vn_diffu   = 1
+ itype_t_diffu    = 2
+ hdiff_efdt_ratio = 24.0
+ hdiff_smag_fac   = 0.025
+ lhdiff_vn        = .TRUE.
+ lhdiff_temp      = .TRUE.
+/
+&interpol_nml
+ nudge_zone_width  = 0.0  ! deactivating nudging as needed for mass conservation for this setup 
+ nudge_efold_width = 0.0
+ nudge_max_coeff   = 0.00000
+ lsq_high_ord      = 3
+ l_intp_c2l        = .true.
+ l_mono_c2l        = .true.
+ support_baryctr_intp = .false.
+ rbf_vec_scale_c   = 0.3,  0.1,  0.03
+ rbf_vec_scale_v   = 0.4,  0.25, 0.07
+ rbf_vec_scale_e   = 0.45, 0.37, 0.25
+/
+&extpar_nml
+ itopo                = 1
+ extpar_filename      = 'extpar_DOM01.nc'
+ n_iter_smooth_topo   = 1         
+ heightdiff_threshold = 3000.
+/
+&io_nml
+ itype_pres_msl = 5  ! 4 New extrapolation method to circumvent Ninjo problem with surface inversions
+ itype_rh       = 1  ! RH w.r.t. water
+ restart_file_type = 5       ! 4: netcdf2, 5: netcdf4
+/
+&nh_pzlev_nml
+ nplev             = 18     ! number of p level output (attention: levels in [Pa] and top-down)
+ nzlev             = 20     ! number of z level output (attention: levels in [m] and top-down)
+ plevels           = 5000,7000,10000,15000,20000,25000,30000,40000,50000,60000,70000,
+                     80000,85000,90000,92500,95000,97500,100000
+ zlevels           = 25000,20000,18000,16000,14000,12000,10000,8000,6000,5000,4000,3000,2000,
+                     1000,800,600,400,200,100,10
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1         
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-atm3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'pres','qc','qi','qv','rho','temp','u','v','w','vn','z_ifc','vor','rh','pv','omega','geopot','div','cape','tke'
+ remap            = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1         
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-cld3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'clc','tot_qv_dia','tot_qc_dia','tot_qi_dia','pres'
+ remap            = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                      ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}" 
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-rad3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'lwflxall', 'lwflx_dn_clr','lwflx_up_clr','swflx_dn_clr','swflx_up_clr','swflx_up','swflx_dn','pres'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                      ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-ddt3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'ddt_temp_totnwpphy','ddt_temp_radsw','ddt_temp_radlw','ddt_temp_turb','ddt_temp_pconv','ddt_temp_drag','ddt_temp_satad','ddt_temp_diff','ddt_temp_dyn','ddt_temp_gscp','pres'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5              ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                       ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 = .FALSE.
+ output_filename              = 'icon-atm2d'   ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'pres_msl','pres_sfc','ddt_pres_sfc','u_10m','v_10m','t_g','t_2m','qv_2m','td_2m','rh_2m','group:precip_vars','rain_gsp_rate','rain_con_rate','cape_ml','cin_ml','clct','clch','clcm','clcl','tqv_dia','tqc_dia','tqi_dia','tqv','tqc','tqi','tqr','shfl_s','lhfl_s','qhfl_s','w_so'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5              ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                       ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 = .FALSE.
+ output_filename              = 'icon-rad2d'   ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'sob_t','thb_t','sob_s','thb_s','thbclr_s','sobclr_s'
+ remap                        = 0
+/
+&output_nml
+ output_filename  = "icon-extra"
+ filename_format  = "<output_filename>_<levtype_l>"
+ filetype         = 5
+ remap            = 0
+ output_grid      = .TRUE.
+ output_start     = "${start_date}"          ! output_start = output_end
+ output_end       = "${start_date}"          ! --> write once only irrespective of
+ output_interval  = "PT1H"  !     the output interval and
+ file_interval    = "${file_interval}"    !     the file interval
+ ml_varlist       = 'z_mc','t_seasfc'
+/
+EOF
+
+#=============================================================================
+#
+# This section of the run script prepares and starts the model integration. 
+#-----------------------------------------------------------------------------
+
+final_status_file=${EXPDIR}/${job_name}.final_status
+rm -f ${final_status_file}
+#-----------------------------------------------------------------------------
+
+# set up the model lists if they do not exist
+# this works for single model runs
+# for coupled runs the lists should be declared explicilty
+if [ x$namelist_list = x ]; then
+#  minrank_list=(        0           )
+#  maxrank_list=(     65535          )
+#  incrank_list=(        1           )
+  minrank_list[0]=0
+  maxrank_list[0]=65535
+  incrank_list[0]=1
+  if [ x$atmo_namelist != x ]; then
+    # this is the atmo model
+    namelist_list[0]="$atmo_namelist"
+    modelname_list[0]="atmo"
+    modeltype_list[0]=1
+    run_atmo="true"
+  else
+    check_error 1 "No namelist is defined"
+  fi
+fi
+
+#-----------------------------------------------------------------------------
+# set some default values and derive some run parameteres
+restart=${restart:=".false."}
+restartSemaphoreFilename='isRestartRun.sem'
+#AUTOMATIC_RESTART_SETUP:
+if [ -f ${restartSemaphoreFilename} ]; then
+  restart=.true.
+  #  do not delete switch-file, to enable restart after unintended abort
+  #[[ -f ${restartSemaphoreFilename} ]] && rm ${restartSemaphoreFilename}
+fi
+#END AUTOMATIC_RESTART_SETUP
+#
+# wait 5min to let GPFS finish the write operations
+if [ "x$restart" != 'x.false.' -a "x$submit" != 'x' ]; then
+  if [ x$(df -T ${EXPDIR} | cut -d ' ' -f 2) = gpfs ]; then
+    sleep 10;
+  fi
+fi
+# fill some checks
+
+run_atmo=${run_atmo="false"}
+if [ x$atmo_namelist != x ]; then
+  run_atmo="true"
+fi
+#-----------------------------------------------------------------------------
+# get restart files
+
+if  [ x$restart_atmo_from != "x" ] ; then
+  rm -f restart_atm_DOM01.nc
+#  ln -s ${basedir}/experiments/${restart_from_folder}/${restart_atmo_from} ${EXPDIR}/restart_atm_DOM01.nc
+  cp ${basedir}/experiments/${restart_from_folder}/${restart_atmo_from} cp_restart_atm.nc
+  ln -s cp_restart_atm.nc restart_atm_DOM01.nc
+  restart=".true."
+fi
+if  [ x$restart_ocean_from != "x" ] ; then
+  rm -f restart_oce.nc
+#  ln -s ${basedir}/experiments/${restart_from_folder}/${restart_ocean_from} ${EXPDIR}/restart_oce.nc
+  cp ${basedir}/experiments/${restart_from_folder}/${restart_ocean_from} cp_restart_oce_DOM01.nc
+  ln -s cp_restart_oce_DOM01.nc restart_oce_DOM01.nc
+  restart=".true."
+fi
+#-----------------------------------------------------------------------------
+
+
+read_restart_namelists=${read_restart_namelists:=".true."}
+
+#-----------------------------------------------------------------------------
+#
+# create ICON master namelist
+# ------------------------
+# For a complete list see Namelist_overview and Namelist_overview.pdf
+
+#-----------------------------------------------------------------------------
+# create master_namelist
+master_namelist=icon_master.namelist
+if [ x$end_date = x ]; then
+cat > $master_namelist << EOF
+&master_nml
+ lrestart            = $restart
+/
+&master_time_control_nml
+ experimentStartDate  = "$start_date"
+ restartTimeIntval    = "$restart_interval"
+ checkpointTimeIntval = "$checkpoint_interval"
+/
+&time_nml
+ is_relative_time = .false.
+/
+EOF
+else
+if [ x$calendar = x ]; then
+  calendar='proleptic gregorian'
+  calendar_type=1
+else
+  calendar=$calendar
+  calendar_type=$calendar_type
+fi
+cat > $master_namelist << EOF
+&master_nml
+ lrestart            = $restart
+ read_restart_namelists = $read_restart_namelists
+/
+&master_time_control_nml
+ calendar             = "$calendar"
+ checkpointTimeIntval = "$checkpoint_interval"
+ restartTimeIntval    = "$restart_interval"
+ experimentStartDate  = "$start_date"
+ experimentStopDate   = "$end_date"
+/
+&time_nml
+ is_relative_time = .false.
+/
+EOF
+fi
+#-----------------------------------------------------------------------------
+
+
+#-----------------------------------------------------------------------------
+# add model component to master_namelist
+add_component_to_master_namelist()
+{
+
+  model_namelist_filename="$1"
+  model_name=$2
+  model_type=$3
+  model_min_rank=$4
+  model_max_rank=$5
+  model_inc_rank=$6
+
+cat >> $master_namelist << EOF
+&master_model_nml
+  model_name="$model_name"
+  model_namelist_filename="$model_namelist_filename"
+  model_type=$model_type
+  model_min_rank=$model_min_rank
+  model_max_rank=$model_max_rank
+  model_inc_rank=$model_inc_rank
+/
+EOF
+
+}
+#-----------------------------------------------------------------------------
+
+
+no_of_models=${#namelist_list[*]}
+echo "no_of_models=$no_of_models"
+
+j=0
+while [ $j -lt ${no_of_models} ]
+do
+  add_component_to_master_namelist "${namelist_list[$j]}" "${modelname_list[$j]}" ${modeltype_list[$j]} ${minrank_list[$j]} ${maxrank_list[$j]} ${incrank_list[$j]}
+  j=`expr ${j} + 1`
+done
+
+#-----------------------------------------------------------------------------
+#
+# get model
+#
+ls -l ${MODEL}
+check_error $? "${MODEL} does not exist?"
+#-----------------------------------------------------------------------------
+
+# start experiment
+
+rm -f finish.status
+date
+${START} ${MODEL}
+date
+#
+if [ -r finish.status ] ; then
+  check_final_status 0 "${START} ${MODEL}"
+else
+  check_final_status -1 "${START} ${MODEL}"
+fi
+#
+
+#-----------------------------------------------------------------------------
+#
+finish_status=`cat finish.status`
+echo $finish_status
+echo "============================"
+echo "Script run successfully: $finish_status"
+echo "============================"
+#-----------------------------------------------------------------------------
+namelist_list=""
+#-----------------------------------------------------------------------------
+# check if we have to restart, ie resubmit
+#   Note: this is a different mechanism from checking the restart
+if [ $finish_status = "RESTART" ]; then
+  echo "restart next experiment..."
+  this_script="${RUNSCRIPTDIR}/exp.${EXPNAME}.run"
+  echo 'this_script: ' "$this_script"
+  # note that if ${restartSemaphoreFilename} does not exist yet, then touch will create it
+  touch ${restartSemaphoreFilename}
+  cd ${RUNSCRIPTDIR}
+  sbatch exp.${EXPNAME}.run
+else
+  [[ -f ${restartSemaphoreFilename} ]] && rm ${restartSemaphoreFilename}
+fi
+#-----------------------------------------------------------------------------
+
+#-----------------------------------------------------------------------------
+
+cd ${RUNSCRIPTDIR}
+
+#-----------------------------------------------------------------------------
diff --git a/Scripts_for_running_simulations/exp.channel_2km_0005.run b/Scripts_for_running_simulations/exp.channel_2km_0005.run
new file mode 100644
index 0000000..5de89a1
--- /dev/null
+++ b/Scripts_for_running_simulations/exp.channel_2km_0005.run
@@ -0,0 +1,672 @@
+#! /bin/ksh
+#=============================================================================
+
+# levante cpu batch job parameters
+
+#SBATCH --account=bb1152
+#SBATCH --job-name=2km0005
+#SBATCH --partition=compute
+#SBATCH --chdir=/home/b/b380906/icon-on-jet/run/runscripts/channel_2km_0005
+#SBATCH --nodes=80
+#SBATCH --threads-per-core=2
+# the following is needed to work around a bug that otherwise leads to
+# a too low number of ranks when using compute,compute2 as queue
+#SBATCH --mem=0
+#SBATCH --output=/home/b/b380906/icon-on-jet/run/runscripts/channel_2km_0005/LOG.channel_2km_0005.%j.o
+#SBATCH --error=/home/b/b380906/icon-on-jet/run/runscripts/channel_2km_0005/LOG.channel_2km_0005.%j.o
+#SBATCH --exclusive
+#SBATCH --time=08:00:00
+
+#=============================================================================
+set -x
+ulimit -s unlimited
+#=============================================================================
+# OpenMP environment variables
+# ----------------------------
+export OMP_NUM_THREADS=4
+export ICON_THREADS=$OMP_NUM_THREADS
+export OMP_SCHEDULE="guided"
+export OMP_DYNAMIC="false"
+export OMP_STACKSIZE=500M
+#
+# MPI variables
+# -------------
+no_of_nodes=${SLURM_JOB_NUM_NODES:=1}
+mpi_procs_pernode=$((128 / OMP_NUM_THREADS))
+((mpi_total_procs=no_of_nodes * mpi_procs_pernode))
+
+#=============================================================================
+
+# load local setting, if existing
+# -------------------------------
+if [ -a ../setting ]
+then
+  echo "Load Setting"
+  . ../setting
+fi
+
+# environment variables for the experiment and the target system
+# --------------------------------------------------------------
+
+export EXPNAME="atm_rte_rrtmgp_amip_test"
+export KMP_AFFINITY="granularity=fine,scatter"
+export KMP_LIBRARY="turnaround"
+export OMPI_MCA_pml="ucx"
+export OMPI_MCA_btl=self
+export OMPI_MCA_osc="pt2pt"
+export UCX_IB_ADDR_TYPE=ib_global
+export OMPI_MCA_coll="^ml"
+export OMPI_MCA_coll_hcoll_enable="1"
+export HCOLL_ENABLE_MCAST_ALL="1"
+export HCOLL_MAIN_IB=mlx5_0:1
+export UCX_NET_DEVICES=mlx5_0:1
+export UCX_TLS=mm,knem,cma,dc_mlx5,dc_x,self
+export UCX_UNIFIED_MODE=y
+export HDF5_USE_FILE_LOCKING=FALSE
+export OMPI_MCA_io="romio321"
+export MALLOC_TRIM_THRESHOLD_="-1"
+export MKL_ENABLE_INSTRUCTIONS=AVX2
+export MKL_DEBUG_CPU_TYPE=5
+export UCX_HANDLE_ERRORS=bt
+
+# load profile
+# ------------
+if [[ -a  /etc/profile ]]
+then
+        . /etc/profile
+fi
+
+#=============================================================================
+
+# directories with absolute paths
+# -------------------------------
+basedir="/home/b/b380906/icon-on-jet"
+export basedir
+
+# how to start the icon model
+mask="0xf,0xf0000,0xf00000000,0xf000000000000,0xf0000000000000000,0xf00000000000000000000,0xf000000000000000000000000,0xf0000000000000000000000000000,0xf0,0xf00000,0xf000000000,0xf0000000000000,0xf00000000000000000,0xf000000000000000000000,0xf0000000000000000000000000,0xf00000000000000000000000000000,0xf00,0xf000000,0xf0000000000,0xf00000000000000,0xf000000000000000000,0xf0000000000000000000000,0xf00000000000000000000000000,0xf000000000000000000000000000000,0xf000,0xf0000000,0xf00000000000,0xf000000000000000,0xf0000000000000000000,0xf00000000000000000000000,0xf000000000000000000000000000,0xf0000000000000000000000000000000"
+export START="srun -l --kill-on-bad-exit=1 --nodes=${SLURM_JOB_NUM_NODES:-1} --ntasks=$((no_of_nodes * mpi_procs_pernode)) --propagate=STACK,CORE --distribution=block:block --cpu-bind=v,mask_cpu=$mask "
+export MODEL="${basedir}/bin/icon"
+
+# how to submit the next job
+# --------------------------
+submit="sbatch"
+job_name="exp.channel_2km_0005.run"
+
+#=============================================================================
+
+ulimit -s $((4 * 1024 * 1024))
+ulimit -c 0
+
+#-----------------------------------------------------------------------------
+export EXPNAME="channel_2km_0005"
+
+# atmo namelist filename
+atmo_namelist=NAMELIST_${EXPNAME}_atm
+
+# directories definition
+RUNSCRIPTDIR=/home/b/b380906/icon-on-jet/run/runscripts/channel_2km_0005/  # run script directory
+
+#-----------------------------------------------------------------------------
+# global timing
+start_date="2021-01-01T00:00:00Z"
+end_date="2021-01-10T00:00:00Z" 
+
+# restart intervals
+checkpoint_interval="P20D"
+restart_interval="P40D"
+
+# output intervals
+output_interval="PT1H"
+file_interval="PT1H"
+
+#-----------------------------------------------------------------------------
+# model parameters
+model_equations=3             # equation system
+#                     1=hydrost. atm. T
+#                     1=hydrost. atm. theta dp
+#                     3=non-hydrost. atm.,
+#                     0=shallow water model
+#                    -1=hydrost. ocean
+#-----------------------------------------------------------------------------
+
+# experiment directory, with plenty of space, create if new
+
+EXPDIR=/scratch/b/b380906/${EXPNAME} 
+if [ ! -d ${EXPDIR} ] ;  then
+  mkdir -p ${EXPDIR}
+fi
+#
+ls -ld ${EXPDIR}
+if [ ! -d ${EXPDIR} ] ;  then
+    mkdir ${EXPDIR}
+fi
+ls -ld ${EXPDIR}
+check_error $? "${EXPDIR} does not exist?"
+
+cd ${EXPDIR}
+
+#-----------------------------------------------------------------------------
+# Link experiment initial files
+inputdir='/work/bb1152/Module_A/A6_CyclEx/input_data'
+# Grid
+ln -sf $inputdir/Channel_4000x9000_2500m_with_boundary.nc grid_DOM01.nc
+
+# Extpar
+ln -sf $inputdir/inputs_planar_channel_51x81_2km/extpar_remapped_12_months.nc extpar_DOM01.nc
+
+# Initial file
+ln -sf $inputdir/inputs_planar_channel_51x81_2km/lc1_ifs_Tanom_tropics_linear_remapped.nc ifs2icon_init.nc
+
+# Ozone
+ln -sf $inputdir/inputs_planar_channel_51x81_2km/ape_O3_remapped.nc o3_icon_DOM01.nc
+
+# Model required files
+ln -sf $basedir/data/rrtmg_lw.nc              ./
+ln -sf $basedir/data/rrtmg_sw.nc              ./
+ln -sf $basedir/data/ECHAM6_CldOptProps.nc    ./
+
+#=============================================================================
+
+# create ICON namelist parameters
+
+cat > ${atmo_namelist} << EOF
+&parallel_nml
+ nproma         = 16  ! optimal setting 8 for CRAY; use 16 or 24 for IBM
+ p_test_run     = .false.
+ l_test_openmp  = .false.
+ l_log_checks   = .false.
+ num_io_procs   = 10   ! asynchronous output for values >= 1
+ itype_comm     = 1
+ iorder_sendrecv = 3  ! best value for CRAY (slightly faster than option 1)
+ num_prefetch_proc = 1
+/
+&grid_nml
+ dynamics_grid_filename  = 'grid_DOM01.nc'
+ dynamics_parent_grid_id = 0
+ lredgrid_phys           = .false.
+ is_plane_cylinder       = .TRUE.
+ l_limited_area          = .true.
+ corio_lat               = 45.0
+/
+&initicon_nml
+ init_mode   = 2           ! operation mode 2: IFS
+ ifs2icon_filename = 'ifs2icon_init.nc' 
+ zpbl1       = 500. 
+ zpbl2       = 1000.
+ l_sst_in    = .true. 
+/
+&limarea_nml
+ itype_latbc    = 0            ! fix
+/
+&run_nml
+ num_lev        = 90           ! 60
+ dtime          = 24  ! 360 for R2B5 180 for R2B7    
+ ldynamics      = .TRUE.
+ ltransport     = .true.
+ iforcing       = 3            ! NWP forcing
+ ltestcase      = .false.      ! false: run with real data
+ msg_level      = 7            ! print maximum wind speeds every 5 time steps
+ ltimer         = .false.      ! set .TRUE. for timer output
+ timers_level   = 1            ! can be increased up to 10 for detailed timer output
+ output         = "nml"
+/
+&nwp_phy_nml
+ inwp_gscp          = 1
+ inwp_convection    = 1
+ lshallowconv_only  = .true. ! use only shallow convection scheme
+ inwp_radiation     = 1
+ inwp_cldcover      = 1
+ inwp_turb          = 1
+ inwp_satad         = 1
+ inwp_sso           = 1
+ inwp_gwd           = 1
+ inwp_surface       = 1
+ icapdcycl          = 3
+ latm_above_top  = .false.  ! the second entry refers to the nested domain (if present)
+ efdt_min_raylfric = 7200.
+ ldetrain_conv_prec = .false.
+ itype_z0         = 2
+ icpl_aero_conv   = 0 
+ icpl_aero_gscp   = 0
+ ! resolution-dependent settings - please choose the appropriate one
+ dt_rad    = 720 
+ dt_conv   = 300 
+ dt_sso    = 300 
+ dt_gwd    = 300. 
+/
+&turbdiff_nml
+ tkhmin  = 0.75  
+ tkmmin  = 0.75             
+ pat_len = 100. !750.
+ c_diff  = 0.2
+ rat_sea = 10  
+ ltkesso = .true.
+ frcsmot = 0.2      
+ imode_frcsmot = 2  
+ itype_sher = 3    
+ ltkeshs    = .true.
+ a_hshr     = 2.0     
+/
+&lnd_nml
+ ntiles         = 3      !!! 1 for assimilation cycle and forecast
+ nlev_snow      = 3      !!! 1 for assimilation cycle and forecast
+ lmulti_snow    = .true. !!! .false. for assimilation cycle and forecast
+ itype_heatcond = 2
+ idiag_snowfrac = 2
+ lsnowtile      = .false.  !! later on .true. if GRIB encoding issues are solved
+ lseaice        = .true. !!Sophia Schäfer, 23/03/2017: reads in sea ice (e.g. zero ice), instead of setting by temperature
+ llake          = .false.
+ itype_lndtbl   = 3  ! minimizes moist/cold bias in lower tropical troposphere
+ itype_root     = 2  			        
+/
+&radiation_nml
+ irad_o3       = 4
+ irad_aero     = 0
+ irad_cfc11    = 0
+ irad_cfc12    = 0
+ albedo_type   = 2 ! Modis albedo
+ vmr_co2       = 348.0e-6 ! values representative for 2012
+ vmr_ch4       = 1650.0e-09
+ vmr_n2o       = 396.0e-09
+ vmr_o2        = 0.20946
+ izenith       = 3
+ vmr_cfc11     = 0
+ vmr_cfc12     = 0
+/
+&nonhydrostatic_nml
+ iadv_rhotheta  = 2
+ ivctype        = 2
+ itime_scheme   = 4
+ exner_expol    = 0.333
+ vwind_offctr   = 0.2
+ damp_height    = 50000.
+ rayleigh_coeff = 0.10   ! R3B7: 1.0 for forecasts, 5.0 in assimilation cycle; 0.5/2.5 for R2B6 (i.e. ensemble) runs
+ lhdiff_rcf     = .true.
+ divdamp_order  = 24    ! setting for forecast runs; use '2' for assimilation cycle
+ divdamp_type   = 32    ! ** new setting for assimilation and forecast runs **
+ divdamp_fac    = 0.004 ! use 0.032 in conjunction with divdamp_order = 2 in assimilation cycle
+ l_open_ubc     = .false.
+ igradp_method  = 3
+ l_zdiffu_t     = .true.
+ thslp_zdiffu   = 0.02
+ thhgtd_zdiffu  = 125.
+ htop_moist_proc= 22500.
+ hbot_qvsubstep = 22500. ! use 22500. with R2B6
+/
+&nudging_nml
+ nudge_type  = 0
+ max_nudge_coeff_vn = 0.00000
+/
+&sleve_nml
+ min_lay_thckn   = 20.
+ max_lay_thckn   = 400.   ! maximum layer thickness below htop_thcknlimit
+ htop_thcknlimit = 14000. ! this implies that the upcoming COSMO-EU nest will have 60 levels
+ top_height      = 75000.
+ stretch_fac     = 0.9
+ decay_scale_1   = 4000.
+ decay_scale_2   = 2500.
+ decay_exp       = 1.2
+ flat_height     = 16000.
+/
+&dynamics_nml
+ iequations     = 3
+ idiv_method    = 1
+ divavg_cntrwgt = 0.50
+ !lcoriolis      = .TRUE.
+/
+&transport_nml
+ ctracer_list  = '12345'
+ ivadv_tracer  = 3,3,3,3,3
+ itype_hlimit  = 3,4,4,4,4
+ ihadv_tracer  = 52,2,2,2,2
+ iadv_tke      = 0
+/
+&diffusion_nml
+ hdiff_order      = 5
+ itype_vn_diffu   = 1
+ itype_t_diffu    = 2
+ hdiff_efdt_ratio = 24.0
+ hdiff_smag_fac   = 0.025
+ lhdiff_vn        = .TRUE.
+ lhdiff_temp      = .TRUE.
+/
+&interpol_nml
+ nudge_zone_width  = 0.0  ! deactivating nudging as needed for mass conservation for this setup 
+ nudge_efold_width = 0.0
+ nudge_max_coeff   = 0.00000
+ lsq_high_ord      = 3
+ l_intp_c2l        = .true.
+ l_mono_c2l        = .true.
+ support_baryctr_intp = .false.
+ rbf_vec_scale_c   = 0.3,  0.1,  0.03
+ rbf_vec_scale_v   = 0.4,  0.25, 0.07
+ rbf_vec_scale_e   = 0.45, 0.37, 0.25
+/
+&extpar_nml
+ itopo                = 1
+ extpar_filename      = 'extpar_DOM01.nc'
+ n_iter_smooth_topo   = 1         
+ heightdiff_threshold = 3000.
+/
+&io_nml
+ itype_pres_msl = 5  ! 4 New extrapolation method to circumvent Ninjo problem with surface inversions
+ itype_rh       = 1  ! RH w.r.t. water
+ restart_file_type = 5       ! 4: netcdf2, 5: netcdf4
+/
+&nh_pzlev_nml
+ nplev             = 18     ! number of p level output (attention: levels in [Pa] and top-down)
+ nzlev             = 20     ! number of z level output (attention: levels in [m] and top-down)
+ plevels           = 5000,7000,10000,15000,20000,25000,30000,40000,50000,60000,70000,
+                     80000,85000,90000,92500,95000,97500,100000
+ zlevels           = 25000,20000,18000,16000,14000,12000,10000,8000,6000,5000,4000,3000,2000,
+                     1000,800,600,400,200,100,10
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1         
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-atm3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'pres','qc','qi','qv','rho','temp','u','v','w','vn','z_ifc','vor','rh','pv','omega','geopot','div','cape','tke'
+ remap            = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1         
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-cld3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'clc','tot_qv_dia','tot_qc_dia','tot_qi_dia','pres'
+ remap            = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                      ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}" 
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-rad3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'lwflxall', 'lwflx_dn_clr','lwflx_up_clr','swflx_dn_clr','swflx_up_clr','swflx_up','swflx_dn','pres'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                      ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-ddt3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'ddt_temp_totnwpphy','ddt_temp_radsw','ddt_temp_radlw','ddt_temp_turb','ddt_temp_pconv','ddt_temp_drag','ddt_temp_satad','ddt_temp_diff','ddt_temp_dyn','ddt_temp_gscp','pres'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5              ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                       ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 = .FALSE.
+ output_filename              = 'icon-atm2d'   ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'pres_msl','pres_sfc','ddt_pres_sfc','u_10m','v_10m','t_g','t_2m','qv_2m','td_2m','rh_2m','group:precip_vars','rain_gsp_rate','rain_con_rate','cape_ml','cin_ml','clct','clch','clcm','clcl','tqv_dia','tqc_dia','tqi_dia','tqv','tqc','tqi','tqr','shfl_s','lhfl_s','qhfl_s','w_so'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5              ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                       ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 = .FALSE.
+ output_filename              = 'icon-rad2d'   ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'sob_t','thb_t','sob_s','thb_s','thbclr_s','sobclr_s'
+ remap                        = 0
+/
+&output_nml
+ output_filename  = "icon-extra"
+ filename_format  = "<output_filename>_<levtype_l>"
+ filetype         = 5
+ remap            = 0
+ output_grid      = .TRUE.
+ output_start     = "${start_date}"          ! output_start = output_end
+ output_end       = "${start_date}"          ! --> write once only irrespective of
+ output_interval  = "PT1H"  !     the output interval and
+ file_interval    = "${file_interval}"    !     the file interval
+ ml_varlist       = 'z_mc','t_seasfc'
+/
+EOF
+
+#=============================================================================
+#
+# This section of the run script prepares and starts the model integration. 
+#-----------------------------------------------------------------------------
+
+final_status_file=${EXPDIR}/${job_name}.final_status
+rm -f ${final_status_file}
+#-----------------------------------------------------------------------------
+
+# set up the model lists if they do not exist
+# this works for single model runs
+# for coupled runs the lists should be declared explicilty
+if [ x$namelist_list = x ]; then
+#  minrank_list=(        0           )
+#  maxrank_list=(     65535          )
+#  incrank_list=(        1           )
+  minrank_list[0]=0
+  maxrank_list[0]=65535
+  incrank_list[0]=1
+  if [ x$atmo_namelist != x ]; then
+    # this is the atmo model
+    namelist_list[0]="$atmo_namelist"
+    modelname_list[0]="atmo"
+    modeltype_list[0]=1
+    run_atmo="true"
+  else
+    check_error 1 "No namelist is defined"
+  fi
+fi
+
+#-----------------------------------------------------------------------------
+# set some default values and derive some run parameteres
+restart=${restart:=".false."}
+restartSemaphoreFilename='isRestartRun.sem'
+#AUTOMATIC_RESTART_SETUP:
+if [ -f ${restartSemaphoreFilename} ]; then
+  restart=.true.
+  #  do not delete switch-file, to enable restart after unintended abort
+  #[[ -f ${restartSemaphoreFilename} ]] && rm ${restartSemaphoreFilename}
+fi
+#END AUTOMATIC_RESTART_SETUP
+#
+# wait 5min to let GPFS finish the write operations
+if [ "x$restart" != 'x.false.' -a "x$submit" != 'x' ]; then
+  if [ x$(df -T ${EXPDIR} | cut -d ' ' -f 2) = gpfs ]; then
+    sleep 10;
+  fi
+fi
+# fill some checks
+
+run_atmo=${run_atmo="false"}
+if [ x$atmo_namelist != x ]; then
+  run_atmo="true"
+fi
+#-----------------------------------------------------------------------------
+# get restart files
+
+if  [ x$restart_atmo_from != "x" ] ; then
+  rm -f restart_atm_DOM01.nc
+#  ln -s ${basedir}/experiments/${restart_from_folder}/${restart_atmo_from} ${EXPDIR}/restart_atm_DOM01.nc
+  cp ${basedir}/experiments/${restart_from_folder}/${restart_atmo_from} cp_restart_atm.nc
+  ln -s cp_restart_atm.nc restart_atm_DOM01.nc
+  restart=".true."
+fi
+if  [ x$restart_ocean_from != "x" ] ; then
+  rm -f restart_oce.nc
+#  ln -s ${basedir}/experiments/${restart_from_folder}/${restart_ocean_from} ${EXPDIR}/restart_oce.nc
+  cp ${basedir}/experiments/${restart_from_folder}/${restart_ocean_from} cp_restart_oce_DOM01.nc
+  ln -s cp_restart_oce_DOM01.nc restart_oce_DOM01.nc
+  restart=".true."
+fi
+#-----------------------------------------------------------------------------
+
+
+read_restart_namelists=${read_restart_namelists:=".true."}
+
+#-----------------------------------------------------------------------------
+#
+# create ICON master namelist
+# ------------------------
+# For a complete list see Namelist_overview and Namelist_overview.pdf
+
+#-----------------------------------------------------------------------------
+# create master_namelist
+master_namelist=icon_master.namelist
+if [ x$end_date = x ]; then
+cat > $master_namelist << EOF
+&master_nml
+ lrestart            = $restart
+/
+&master_time_control_nml
+ experimentStartDate  = "$start_date"
+ restartTimeIntval    = "$restart_interval"
+ checkpointTimeIntval = "$checkpoint_interval"
+/
+&time_nml
+ is_relative_time = .false.
+/
+EOF
+else
+if [ x$calendar = x ]; then
+  calendar='proleptic gregorian'
+  calendar_type=1
+else
+  calendar=$calendar
+  calendar_type=$calendar_type
+fi
+cat > $master_namelist << EOF
+&master_nml
+ lrestart            = $restart
+ read_restart_namelists = $read_restart_namelists
+/
+&master_time_control_nml
+ calendar             = "$calendar"
+ checkpointTimeIntval = "$checkpoint_interval"
+ restartTimeIntval    = "$restart_interval"
+ experimentStartDate  = "$start_date"
+ experimentStopDate   = "$end_date"
+/
+&time_nml
+ is_relative_time = .false.
+/
+EOF
+fi
+#-----------------------------------------------------------------------------
+
+
+#-----------------------------------------------------------------------------
+# add model component to master_namelist
+add_component_to_master_namelist()
+{
+
+  model_namelist_filename="$1"
+  model_name=$2
+  model_type=$3
+  model_min_rank=$4
+  model_max_rank=$5
+  model_inc_rank=$6
+
+cat >> $master_namelist << EOF
+&master_model_nml
+  model_name="$model_name"
+  model_namelist_filename="$model_namelist_filename"
+  model_type=$model_type
+  model_min_rank=$model_min_rank
+  model_max_rank=$model_max_rank
+  model_inc_rank=$model_inc_rank
+/
+EOF
+
+}
+#-----------------------------------------------------------------------------
+
+
+no_of_models=${#namelist_list[*]}
+echo "no_of_models=$no_of_models"
+
+j=0
+while [ $j -lt ${no_of_models} ]
+do
+  add_component_to_master_namelist "${namelist_list[$j]}" "${modelname_list[$j]}" ${modeltype_list[$j]} ${minrank_list[$j]} ${maxrank_list[$j]} ${incrank_list[$j]}
+  j=`expr ${j} + 1`
+done
+
+#-----------------------------------------------------------------------------
+#
+# get model
+#
+ls -l ${MODEL}
+check_error $? "${MODEL} does not exist?"
+#-----------------------------------------------------------------------------
+
+# start experiment
+
+rm -f finish.status
+date
+${START} ${MODEL}
+date
+#
+if [ -r finish.status ] ; then
+  check_final_status 0 "${START} ${MODEL}"
+else
+  check_final_status -1 "${START} ${MODEL}"
+fi
+#
+
+#-----------------------------------------------------------------------------
+#
+finish_status=`cat finish.status`
+echo $finish_status
+echo "============================"
+echo "Script run successfully: $finish_status"
+echo "============================"
+#-----------------------------------------------------------------------------
+namelist_list=""
+#-----------------------------------------------------------------------------
+# check if we have to restart, ie resubmit
+#   Note: this is a different mechanism from checking the restart
+if [ $finish_status = "RESTART" ]; then
+  echo "restart next experiment..."
+  this_script="${RUNSCRIPTDIR}/exp.${EXPNAME}.run"
+  echo 'this_script: ' "$this_script"
+  # note that if ${restartSemaphoreFilename} does not exist yet, then touch will create it
+  touch ${restartSemaphoreFilename}
+  cd ${RUNSCRIPTDIR}
+  sbatch exp.${EXPNAME}.run
+else
+  [[ -f ${restartSemaphoreFilename} ]] && rm ${restartSemaphoreFilename}
+fi
+#-----------------------------------------------------------------------------
+
+#-----------------------------------------------------------------------------
+
+cd ${RUNSCRIPTDIR}
+
+#-----------------------------------------------------------------------------
diff --git a/Scripts_for_running_simulations/exp.channel_2km_0006.run b/Scripts_for_running_simulations/exp.channel_2km_0006.run
new file mode 100644
index 0000000..d41ae1e
--- /dev/null
+++ b/Scripts_for_running_simulations/exp.channel_2km_0006.run
@@ -0,0 +1,672 @@
+#! /bin/ksh
+#=============================================================================
+
+# levante cpu batch job parameters
+
+#SBATCH --account=bb1152
+#SBATCH --job-name=2km0006
+#SBATCH --partition=compute
+#SBATCH --chdir=/home/b/b380906/icon-on-jet/run/runscripts/channel_2km_0006
+#SBATCH --nodes=80
+#SBATCH --threads-per-core=2
+# the following is needed to work around a bug that otherwise leads to
+# a too low number of ranks when using compute,compute2 as queue
+#SBATCH --mem=0
+#SBATCH --output=/home/b/b380906/icon-on-jet/run/runscripts/channel_2km_0006/LOG.channel_2km_0006.%j.o
+#SBATCH --error=/home/b/b380906/icon-on-jet/run/runscripts/channel_2km_0006/LOG.channel_2km_0006.%j.o
+#SBATCH --exclusive
+#SBATCH --time=08:00:00
+
+#=============================================================================
+set -x
+ulimit -s unlimited
+#=============================================================================
+# OpenMP environment variables
+# ----------------------------
+export OMP_NUM_THREADS=4
+export ICON_THREADS=$OMP_NUM_THREADS
+export OMP_SCHEDULE="guided"
+export OMP_DYNAMIC="false"
+export OMP_STACKSIZE=500M
+#
+# MPI variables
+# -------------
+no_of_nodes=${SLURM_JOB_NUM_NODES:=1}
+mpi_procs_pernode=$((128 / OMP_NUM_THREADS))
+((mpi_total_procs=no_of_nodes * mpi_procs_pernode))
+
+#=============================================================================
+
+# load local setting, if existing
+# -------------------------------
+if [ -a ../setting ]
+then
+  echo "Load Setting"
+  . ../setting
+fi
+
+# environment variables for the experiment and the target system
+# --------------------------------------------------------------
+
+export EXPNAME="atm_rte_rrtmgp_amip_test"
+export KMP_AFFINITY="granularity=fine,scatter"
+export KMP_LIBRARY="turnaround"
+export OMPI_MCA_pml="ucx"
+export OMPI_MCA_btl=self
+export OMPI_MCA_osc="pt2pt"
+export UCX_IB_ADDR_TYPE=ib_global
+export OMPI_MCA_coll="^ml"
+export OMPI_MCA_coll_hcoll_enable="1"
+export HCOLL_ENABLE_MCAST_ALL="1"
+export HCOLL_MAIN_IB=mlx5_0:1
+export UCX_NET_DEVICES=mlx5_0:1
+export UCX_TLS=mm,knem,cma,dc_mlx5,dc_x,self
+export UCX_UNIFIED_MODE=y
+export HDF5_USE_FILE_LOCKING=FALSE
+export OMPI_MCA_io="romio321"
+export MALLOC_TRIM_THRESHOLD_="-1"
+export MKL_ENABLE_INSTRUCTIONS=AVX2
+export MKL_DEBUG_CPU_TYPE=5
+export UCX_HANDLE_ERRORS=bt
+
+# load profile
+# ------------
+if [[ -a  /etc/profile ]]
+then
+        . /etc/profile
+fi
+
+#=============================================================================
+
+# directories with absolute paths
+# -------------------------------
+basedir="/home/b/b380906/icon-on-jet"
+export basedir
+
+# how to start the icon model
+mask="0xf,0xf0000,0xf00000000,0xf000000000000,0xf0000000000000000,0xf00000000000000000000,0xf000000000000000000000000,0xf0000000000000000000000000000,0xf0,0xf00000,0xf000000000,0xf0000000000000,0xf00000000000000000,0xf000000000000000000000,0xf0000000000000000000000000,0xf00000000000000000000000000000,0xf00,0xf000000,0xf0000000000,0xf00000000000000,0xf000000000000000000,0xf0000000000000000000000,0xf00000000000000000000000000,0xf000000000000000000000000000000,0xf000,0xf0000000,0xf00000000000,0xf000000000000000,0xf0000000000000000000,0xf00000000000000000000000,0xf000000000000000000000000000,0xf0000000000000000000000000000000"
+export START="srun -l --kill-on-bad-exit=1 --nodes=${SLURM_JOB_NUM_NODES:-1} --ntasks=$((no_of_nodes * mpi_procs_pernode)) --propagate=STACK,CORE --distribution=block:block --cpu-bind=v,mask_cpu=$mask "
+export MODEL="${basedir}/bin/icon"
+
+# how to submit the next job
+# --------------------------
+submit="sbatch"
+job_name="exp.channel_2km_0006.run"
+
+#=============================================================================
+
+ulimit -s $((4 * 1024 * 1024))
+ulimit -c 0
+
+#-----------------------------------------------------------------------------
+export EXPNAME="channel_2km_0006"
+
+# atmo namelist filename
+atmo_namelist=NAMELIST_${EXPNAME}_atm
+
+# directories definition
+RUNSCRIPTDIR=/home/b/b380906/icon-on-jet/run/runscripts/channel_2km_0006/  # run script directory
+
+#-----------------------------------------------------------------------------
+# global timing
+start_date="2021-01-01T00:00:00Z"
+end_date="2021-01-10T00:00:00Z" 
+
+# restart intervals
+checkpoint_interval="P20D"
+restart_interval="P40D"
+
+# output intervals
+output_interval="PT1H"
+file_interval="PT1H"
+
+#-----------------------------------------------------------------------------
+# model parameters
+model_equations=3             # equation system
+#                     1=hydrost. atm. T
+#                     1=hydrost. atm. theta dp
+#                     3=non-hydrost. atm.,
+#                     0=shallow water model
+#                    -1=hydrost. ocean
+#-----------------------------------------------------------------------------
+
+# experiment directory, with plenty of space, create if new
+
+EXPDIR=/scratch/b/b380906/${EXPNAME} 
+if [ ! -d ${EXPDIR} ] ;  then
+  mkdir -p ${EXPDIR}
+fi
+#
+ls -ld ${EXPDIR}
+if [ ! -d ${EXPDIR} ] ;  then
+    mkdir ${EXPDIR}
+fi
+ls -ld ${EXPDIR}
+check_error $? "${EXPDIR} does not exist?"
+
+cd ${EXPDIR}
+
+#-----------------------------------------------------------------------------
+# Link experiment initial files
+inputdir='/work/bb1152/Module_A/A6_CyclEx/input_data'
+# Grid
+ln -sf $inputdir/Channel_4000x9000_2500m_with_boundary.nc grid_DOM01.nc
+
+# Extpar
+ln -sf $inputdir/inputs_planar_channel_51x81_2km/extpar_remapped_12_months.nc extpar_DOM01.nc
+
+# Initial file
+ln -sf $inputdir/inputs_planar_channel_51x81_2km/lc1_ifs_Tanom_polar_linear_remapped.nc ifs2icon_init.nc
+
+# Ozone
+ln -sf $inputdir/inputs_planar_channel_51x81_2km/ape_O3_remapped.nc o3_icon_DOM01.nc
+
+# Model required files
+ln -sf $basedir/data/rrtmg_lw.nc              ./
+ln -sf $basedir/data/rrtmg_sw.nc              ./
+ln -sf $basedir/data/ECHAM6_CldOptProps.nc    ./
+
+#=============================================================================
+
+# create ICON namelist parameters
+
+cat > ${atmo_namelist} << EOF
+&parallel_nml
+ nproma         = 16  ! optimal setting 8 for CRAY; use 16 or 24 for IBM
+ p_test_run     = .false.
+ l_test_openmp  = .false.
+ l_log_checks   = .false.
+ num_io_procs   = 10   ! asynchronous output for values >= 1
+ itype_comm     = 1
+ iorder_sendrecv = 3  ! best value for CRAY (slightly faster than option 1)
+ num_prefetch_proc = 1
+/
+&grid_nml
+ dynamics_grid_filename  = 'grid_DOM01.nc'
+ dynamics_parent_grid_id = 0
+ lredgrid_phys           = .false.
+ is_plane_cylinder       = .TRUE.
+ l_limited_area          = .true.
+ corio_lat               = 45.0
+/
+&initicon_nml
+ init_mode   = 2           ! operation mode 2: IFS
+ ifs2icon_filename = 'ifs2icon_init.nc' 
+ zpbl1       = 500. 
+ zpbl2       = 1000.
+ l_sst_in    = .true. 
+/
+&limarea_nml
+ itype_latbc    = 0            ! fix
+/
+&run_nml
+ num_lev        = 90           ! 60
+ dtime          = 24  ! 360 for R2B5 180 for R2B7    
+ ldynamics      = .TRUE.
+ ltransport     = .true.
+ iforcing       = 3            ! NWP forcing
+ ltestcase      = .false.      ! false: run with real data
+ msg_level      = 7            ! print maximum wind speeds every 5 time steps
+ ltimer         = .false.      ! set .TRUE. for timer output
+ timers_level   = 1            ! can be increased up to 10 for detailed timer output
+ output         = "nml"
+/
+&nwp_phy_nml
+ inwp_gscp          = 1
+ inwp_convection    = 1
+ lshallowconv_only  = .true. ! use only shallow convection scheme
+ inwp_radiation     = 1
+ inwp_cldcover      = 1
+ inwp_turb          = 1
+ inwp_satad         = 1
+ inwp_sso           = 1
+ inwp_gwd           = 1
+ inwp_surface       = 1
+ icapdcycl          = 3
+ latm_above_top  = .false.  ! the second entry refers to the nested domain (if present)
+ efdt_min_raylfric = 7200.
+ ldetrain_conv_prec = .false.
+ itype_z0         = 2
+ icpl_aero_conv   = 0 
+ icpl_aero_gscp   = 0
+ ! resolution-dependent settings - please choose the appropriate one
+ dt_rad    = 720 
+ dt_conv   = 300 
+ dt_sso    = 300 
+ dt_gwd    = 300. 
+/
+&turbdiff_nml
+ tkhmin  = 0.75  
+ tkmmin  = 0.75             
+ pat_len = 100. !750.
+ c_diff  = 0.2
+ rat_sea = 10  
+ ltkesso = .true.
+ frcsmot = 0.2      
+ imode_frcsmot = 2  
+ itype_sher = 3    
+ ltkeshs    = .true.
+ a_hshr     = 2.0     
+/
+&lnd_nml
+ ntiles         = 3      !!! 1 for assimilation cycle and forecast
+ nlev_snow      = 3      !!! 1 for assimilation cycle and forecast
+ lmulti_snow    = .true. !!! .false. for assimilation cycle and forecast
+ itype_heatcond = 2
+ idiag_snowfrac = 2
+ lsnowtile      = .false.  !! later on .true. if GRIB encoding issues are solved
+ lseaice        = .true. !!Sophia Schäfer, 23/03/2017: reads in sea ice (e.g. zero ice), instead of setting by temperature
+ llake          = .false.
+ itype_lndtbl   = 3  ! minimizes moist/cold bias in lower tropical troposphere
+ itype_root     = 2  			        
+/
+&radiation_nml
+ irad_o3       = 4
+ irad_aero     = 0
+ irad_cfc11    = 0
+ irad_cfc12    = 0
+ albedo_type   = 2 ! Modis albedo
+ vmr_co2       = 348.0e-6 ! values representative for 2012
+ vmr_ch4       = 1650.0e-09
+ vmr_n2o       = 396.0e-09
+ vmr_o2        = 0.20946
+ izenith       = 3
+ vmr_cfc11     = 0
+ vmr_cfc12     = 0
+/
+&nonhydrostatic_nml
+ iadv_rhotheta  = 2
+ ivctype        = 2
+ itime_scheme   = 4
+ exner_expol    = 0.333
+ vwind_offctr   = 0.2
+ damp_height    = 50000.
+ rayleigh_coeff = 0.10   ! R3B7: 1.0 for forecasts, 5.0 in assimilation cycle; 0.5/2.5 for R2B6 (i.e. ensemble) runs
+ lhdiff_rcf     = .true.
+ divdamp_order  = 24    ! setting for forecast runs; use '2' for assimilation cycle
+ divdamp_type   = 32    ! ** new setting for assimilation and forecast runs **
+ divdamp_fac    = 0.004 ! use 0.032 in conjunction with divdamp_order = 2 in assimilation cycle
+ l_open_ubc     = .false.
+ igradp_method  = 3
+ l_zdiffu_t     = .true.
+ thslp_zdiffu   = 0.02
+ thhgtd_zdiffu  = 125.
+ htop_moist_proc= 22500.
+ hbot_qvsubstep = 22500. ! use 22500. with R2B6
+/
+&nudging_nml
+ nudge_type  = 0
+ max_nudge_coeff_vn = 0.00000
+/
+&sleve_nml
+ min_lay_thckn   = 20.
+ max_lay_thckn   = 400.   ! maximum layer thickness below htop_thcknlimit
+ htop_thcknlimit = 14000. ! this implies that the upcoming COSMO-EU nest will have 60 levels
+ top_height      = 75000.
+ stretch_fac     = 0.9
+ decay_scale_1   = 4000.
+ decay_scale_2   = 2500.
+ decay_exp       = 1.2
+ flat_height     = 16000.
+/
+&dynamics_nml
+ iequations     = 3
+ idiv_method    = 1
+ divavg_cntrwgt = 0.50
+ !lcoriolis      = .TRUE.
+/
+&transport_nml
+ ctracer_list  = '12345'
+ ivadv_tracer  = 3,3,3,3,3
+ itype_hlimit  = 3,4,4,4,4
+ ihadv_tracer  = 52,2,2,2,2
+ iadv_tke      = 0
+/
+&diffusion_nml
+ hdiff_order      = 5
+ itype_vn_diffu   = 1
+ itype_t_diffu    = 2
+ hdiff_efdt_ratio = 24.0
+ hdiff_smag_fac   = 0.025
+ lhdiff_vn        = .TRUE.
+ lhdiff_temp      = .TRUE.
+/
+&interpol_nml
+ nudge_zone_width  = 0.0  ! deactivating nudging as needed for mass conservation for this setup 
+ nudge_efold_width = 0.0
+ nudge_max_coeff   = 0.00000
+ lsq_high_ord      = 3
+ l_intp_c2l        = .true.
+ l_mono_c2l        = .true.
+ support_baryctr_intp = .false.
+ rbf_vec_scale_c   = 0.3,  0.1,  0.03
+ rbf_vec_scale_v   = 0.4,  0.25, 0.07
+ rbf_vec_scale_e   = 0.45, 0.37, 0.25
+/
+&extpar_nml
+ itopo                = 1
+ extpar_filename      = 'extpar_DOM01.nc'
+ n_iter_smooth_topo   = 1         
+ heightdiff_threshold = 3000.
+/
+&io_nml
+ itype_pres_msl = 5  ! 4 New extrapolation method to circumvent Ninjo problem with surface inversions
+ itype_rh       = 1  ! RH w.r.t. water
+ restart_file_type = 5       ! 4: netcdf2, 5: netcdf4
+/
+&nh_pzlev_nml
+ nplev             = 18     ! number of p level output (attention: levels in [Pa] and top-down)
+ nzlev             = 20     ! number of z level output (attention: levels in [m] and top-down)
+ plevels           = 5000,7000,10000,15000,20000,25000,30000,40000,50000,60000,70000,
+                     80000,85000,90000,92500,95000,97500,100000
+ zlevels           = 25000,20000,18000,16000,14000,12000,10000,8000,6000,5000,4000,3000,2000,
+                     1000,800,600,400,200,100,10
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1         
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-atm3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'pres','qc','qi','qv','rho','temp','u','v','w','vn','z_ifc','vor','rh','pv','omega','geopot','div','cape','tke'
+ remap            = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1         
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-cld3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'clc','tot_qv_dia','tot_qc_dia','tot_qi_dia','pres'
+ remap            = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                      ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}" 
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-rad3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'lwflxall', 'lwflx_dn_clr','lwflx_up_clr','swflx_dn_clr','swflx_up_clr','swflx_up','swflx_dn','pres'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                      ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-ddt3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'ddt_temp_totnwpphy','ddt_temp_radsw','ddt_temp_radlw','ddt_temp_turb','ddt_temp_pconv','ddt_temp_drag','ddt_temp_satad','ddt_temp_diff','ddt_temp_dyn','ddt_temp_gscp','pres'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5              ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                       ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 = .FALSE.
+ output_filename              = 'icon-atm2d'   ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'pres_msl','pres_sfc','ddt_pres_sfc','u_10m','v_10m','t_g','t_2m','qv_2m','td_2m','rh_2m','group:precip_vars','rain_gsp_rate','rain_con_rate','cape_ml','cin_ml','clct','clch','clcm','clcl','tqv_dia','tqc_dia','tqi_dia','tqv','tqc','tqi','tqr','shfl_s','lhfl_s','qhfl_s','w_so'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5              ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                       ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 = .FALSE.
+ output_filename              = 'icon-rad2d'   ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'sob_t','thb_t','sob_s','thb_s','thbclr_s','sobclr_s'
+ remap                        = 0
+/
+&output_nml
+ output_filename  = "icon-extra"
+ filename_format  = "<output_filename>_<levtype_l>"
+ filetype         = 5
+ remap            = 0
+ output_grid      = .TRUE.
+ output_start     = "${start_date}"          ! output_start = output_end
+ output_end       = "${start_date}"          ! --> write once only irrespective of
+ output_interval  = "PT1H"  !     the output interval and
+ file_interval    = "${file_interval}"    !     the file interval
+ ml_varlist       = 'z_mc','t_seasfc'
+/
+EOF
+
+#=============================================================================
+#
+# This section of the run script prepares and starts the model integration. 
+#-----------------------------------------------------------------------------
+
+final_status_file=${EXPDIR}/${job_name}.final_status
+rm -f ${final_status_file}
+#-----------------------------------------------------------------------------
+
+# set up the model lists if they do not exist
+# this works for single model runs
+# for coupled runs the lists should be declared explicilty
+if [ x$namelist_list = x ]; then
+#  minrank_list=(        0           )
+#  maxrank_list=(     65535          )
+#  incrank_list=(        1           )
+  minrank_list[0]=0
+  maxrank_list[0]=65535
+  incrank_list[0]=1
+  if [ x$atmo_namelist != x ]; then
+    # this is the atmo model
+    namelist_list[0]="$atmo_namelist"
+    modelname_list[0]="atmo"
+    modeltype_list[0]=1
+    run_atmo="true"
+  else
+    check_error 1 "No namelist is defined"
+  fi
+fi
+
+#-----------------------------------------------------------------------------
+# set some default values and derive some run parameteres
+restart=${restart:=".false."}
+restartSemaphoreFilename='isRestartRun.sem'
+#AUTOMATIC_RESTART_SETUP:
+if [ -f ${restartSemaphoreFilename} ]; then
+  restart=.true.
+  #  do not delete switch-file, to enable restart after unintended abort
+  #[[ -f ${restartSemaphoreFilename} ]] && rm ${restartSemaphoreFilename}
+fi
+#END AUTOMATIC_RESTART_SETUP
+#
+# wait 5min to let GPFS finish the write operations
+if [ "x$restart" != 'x.false.' -a "x$submit" != 'x' ]; then
+  if [ x$(df -T ${EXPDIR} | cut -d ' ' -f 2) = gpfs ]; then
+    sleep 10;
+  fi
+fi
+# fill some checks
+
+run_atmo=${run_atmo="false"}
+if [ x$atmo_namelist != x ]; then
+  run_atmo="true"
+fi
+#-----------------------------------------------------------------------------
+# get restart files
+
+if  [ x$restart_atmo_from != "x" ] ; then
+  rm -f restart_atm_DOM01.nc
+#  ln -s ${basedir}/experiments/${restart_from_folder}/${restart_atmo_from} ${EXPDIR}/restart_atm_DOM01.nc
+  cp ${basedir}/experiments/${restart_from_folder}/${restart_atmo_from} cp_restart_atm.nc
+  ln -s cp_restart_atm.nc restart_atm_DOM01.nc
+  restart=".true."
+fi
+if  [ x$restart_ocean_from != "x" ] ; then
+  rm -f restart_oce.nc
+#  ln -s ${basedir}/experiments/${restart_from_folder}/${restart_ocean_from} ${EXPDIR}/restart_oce.nc
+  cp ${basedir}/experiments/${restart_from_folder}/${restart_ocean_from} cp_restart_oce_DOM01.nc
+  ln -s cp_restart_oce_DOM01.nc restart_oce_DOM01.nc
+  restart=".true."
+fi
+#-----------------------------------------------------------------------------
+
+
+read_restart_namelists=${read_restart_namelists:=".true."}
+
+#-----------------------------------------------------------------------------
+#
+# create ICON master namelist
+# ------------------------
+# For a complete list see Namelist_overview and Namelist_overview.pdf
+
+#-----------------------------------------------------------------------------
+# create master_namelist
+master_namelist=icon_master.namelist
+if [ x$end_date = x ]; then
+cat > $master_namelist << EOF
+&master_nml
+ lrestart            = $restart
+/
+&master_time_control_nml
+ experimentStartDate  = "$start_date"
+ restartTimeIntval    = "$restart_interval"
+ checkpointTimeIntval = "$checkpoint_interval"
+/
+&time_nml
+ is_relative_time = .false.
+/
+EOF
+else
+if [ x$calendar = x ]; then
+  calendar='proleptic gregorian'
+  calendar_type=1
+else
+  calendar=$calendar
+  calendar_type=$calendar_type
+fi
+cat > $master_namelist << EOF
+&master_nml
+ lrestart            = $restart
+ read_restart_namelists = $read_restart_namelists
+/
+&master_time_control_nml
+ calendar             = "$calendar"
+ checkpointTimeIntval = "$checkpoint_interval"
+ restartTimeIntval    = "$restart_interval"
+ experimentStartDate  = "$start_date"
+ experimentStopDate   = "$end_date"
+/
+&time_nml
+ is_relative_time = .false.
+/
+EOF
+fi
+#-----------------------------------------------------------------------------
+
+
+#-----------------------------------------------------------------------------
+# add model component to master_namelist
+add_component_to_master_namelist()
+{
+
+  model_namelist_filename="$1"
+  model_name=$2
+  model_type=$3
+  model_min_rank=$4
+  model_max_rank=$5
+  model_inc_rank=$6
+
+cat >> $master_namelist << EOF
+&master_model_nml
+  model_name="$model_name"
+  model_namelist_filename="$model_namelist_filename"
+  model_type=$model_type
+  model_min_rank=$model_min_rank
+  model_max_rank=$model_max_rank
+  model_inc_rank=$model_inc_rank
+/
+EOF
+
+}
+#-----------------------------------------------------------------------------
+
+
+no_of_models=${#namelist_list[*]}
+echo "no_of_models=$no_of_models"
+
+j=0
+while [ $j -lt ${no_of_models} ]
+do
+  add_component_to_master_namelist "${namelist_list[$j]}" "${modelname_list[$j]}" ${modeltype_list[$j]} ${minrank_list[$j]} ${maxrank_list[$j]} ${incrank_list[$j]}
+  j=`expr ${j} + 1`
+done
+
+#-----------------------------------------------------------------------------
+#
+# get model
+#
+ls -l ${MODEL}
+check_error $? "${MODEL} does not exist?"
+#-----------------------------------------------------------------------------
+
+# start experiment
+
+rm -f finish.status
+date
+${START} ${MODEL}
+date
+#
+if [ -r finish.status ] ; then
+  check_final_status 0 "${START} ${MODEL}"
+else
+  check_final_status -1 "${START} ${MODEL}"
+fi
+#
+
+#-----------------------------------------------------------------------------
+#
+finish_status=`cat finish.status`
+echo $finish_status
+echo "============================"
+echo "Script run successfully: $finish_status"
+echo "============================"
+#-----------------------------------------------------------------------------
+namelist_list=""
+#-----------------------------------------------------------------------------
+# check if we have to restart, ie resubmit
+#   Note: this is a different mechanism from checking the restart
+if [ $finish_status = "RESTART" ]; then
+  echo "restart next experiment..."
+  this_script="${RUNSCRIPTDIR}/exp.${EXPNAME}.run"
+  echo 'this_script: ' "$this_script"
+  # note that if ${restartSemaphoreFilename} does not exist yet, then touch will create it
+  touch ${restartSemaphoreFilename}
+  cd ${RUNSCRIPTDIR}
+  sbatch exp.${EXPNAME}.run
+else
+  [[ -f ${restartSemaphoreFilename} ]] && rm ${restartSemaphoreFilename}
+fi
+#-----------------------------------------------------------------------------
+
+#-----------------------------------------------------------------------------
+
+cd ${RUNSCRIPTDIR}
+
+#-----------------------------------------------------------------------------
diff --git a/Scripts_for_running_simulations/exp.channel_80km_0001.run b/Scripts_for_running_simulations/exp.channel_80km_0001.run
new file mode 100644
index 0000000..f4a80a0
--- /dev/null
+++ b/Scripts_for_running_simulations/exp.channel_80km_0001.run
@@ -0,0 +1,672 @@
+#! /bin/ksh
+#=============================================================================
+
+# levante cpu batch job parameters
+
+#SBATCH --account=bb1152
+#SBATCH --job-name=80km0001
+#SBATCH --partition=compute
+#SBATCH --chdir=/home/b/b380906/icon-on-jet/run/runscripts/channel_80km_0001
+#SBATCH --nodes=5
+#SBATCH --threads-per-core=2
+# the following is needed to work around a bug that otherwise leads to
+# a too low number of ranks when using compute,compute2 as queue
+#SBATCH --mem=0
+#SBATCH --output=/home/b/b380906/icon-on-jet/run/runscripts/channel_80km_0001/LOG.channel_80km_0001.%j.o
+#SBATCH --error=/home/b/b380906/icon-on-jet/run/runscripts/channel_80km_0001/LOG.channel_80km_0001.%j.o
+#SBATCH --exclusive
+#SBATCH --time=00:30:00
+
+#=============================================================================
+set -x
+ulimit -s unlimited
+#=============================================================================
+# OpenMP environment variables
+# ----------------------------
+export OMP_NUM_THREADS=4
+export ICON_THREADS=$OMP_NUM_THREADS
+export OMP_SCHEDULE="guided"
+export OMP_DYNAMIC="false"
+export OMP_STACKSIZE=500M
+#
+# MPI variables
+# -------------
+no_of_nodes=${SLURM_JOB_NUM_NODES:=1}
+mpi_procs_pernode=$((128 / OMP_NUM_THREADS))
+((mpi_total_procs=no_of_nodes * mpi_procs_pernode))
+
+#=============================================================================
+
+# load local setting, if existing
+# -------------------------------
+if [ -a ../setting ]
+then
+  echo "Load Setting"
+  . ../setting
+fi
+
+# environment variables for the experiment and the target system
+# --------------------------------------------------------------
+
+export EXPNAME="atm_rte_rrtmgp_amip_test"
+export KMP_AFFINITY="granularity=fine,scatter"
+export KMP_LIBRARY="turnaround"
+export OMPI_MCA_pml="ucx"
+export OMPI_MCA_btl=self
+export OMPI_MCA_osc="pt2pt"
+export UCX_IB_ADDR_TYPE=ib_global
+export OMPI_MCA_coll="^ml"
+export OMPI_MCA_coll_hcoll_enable="1"
+export HCOLL_ENABLE_MCAST_ALL="1"
+export HCOLL_MAIN_IB=mlx5_0:1
+export UCX_NET_DEVICES=mlx5_0:1
+export UCX_TLS=mm,knem,cma,dc_mlx5,dc_x,self
+export UCX_UNIFIED_MODE=y
+export HDF5_USE_FILE_LOCKING=FALSE
+export OMPI_MCA_io="romio321"
+export MALLOC_TRIM_THRESHOLD_="-1"
+export MKL_ENABLE_INSTRUCTIONS=AVX2
+export MKL_DEBUG_CPU_TYPE=5
+export UCX_HANDLE_ERRORS=bt
+
+# load profile
+# ------------
+if [[ -a  /etc/profile ]]
+then
+        . /etc/profile
+fi
+
+#=============================================================================
+
+# directories with absolute paths
+# -------------------------------
+basedir="/home/b/b380906/icon-on-jet"
+export basedir
+
+# how to start the icon model
+mask="0xf,0xf0000,0xf00000000,0xf000000000000,0xf0000000000000000,0xf00000000000000000000,0xf000000000000000000000000,0xf0000000000000000000000000000,0xf0,0xf00000,0xf000000000,0xf0000000000000,0xf00000000000000000,0xf000000000000000000000,0xf0000000000000000000000000,0xf00000000000000000000000000000,0xf00,0xf000000,0xf0000000000,0xf00000000000000,0xf000000000000000000,0xf0000000000000000000000,0xf00000000000000000000000000,0xf000000000000000000000000000000,0xf000,0xf0000000,0xf00000000000,0xf000000000000000,0xf0000000000000000000,0xf00000000000000000000000,0xf000000000000000000000000000,0xf0000000000000000000000000000000"
+export START="srun -l --kill-on-bad-exit=1 --nodes=${SLURM_JOB_NUM_NODES:-1} --ntasks=$((no_of_nodes * mpi_procs_pernode)) --propagate=STACK,CORE --distribution=block:block --cpu-bind=v,mask_cpu=$mask "
+export MODEL="${basedir}/bin/icon"
+
+# how to submit the next job
+# --------------------------
+submit="sbatch"
+job_name="exp.channel_80km_0001.run"
+
+#=============================================================================
+
+ulimit -s $((4 * 1024 * 1024))
+ulimit -c 0
+
+#-----------------------------------------------------------------------------
+export EXPNAME="channel_80km_0001"
+
+# atmo namelist filename
+atmo_namelist=NAMELIST_${EXPNAME}_atm
+
+# directories definition
+RUNSCRIPTDIR=/home/b/b380906/icon-on-jet/run/runscripts/channel_80km_0001/  # run script directory
+
+#-----------------------------------------------------------------------------
+# global timing
+start_date="2021-01-01T00:00:00Z"
+end_date="2021-01-10T00:00:00Z" 
+
+# restart intervals
+checkpoint_interval="P20D"
+restart_interval="P40D"
+
+# output intervals
+output_interval="PT1H"
+file_interval="PT1H"
+
+#-----------------------------------------------------------------------------
+# model parameters
+model_equations=3             # equation system
+#                     1=hydrost. atm. T
+#                     1=hydrost. atm. theta dp
+#                     3=non-hydrost. atm.,
+#                     0=shallow water model
+#                    -1=hydrost. ocean
+#-----------------------------------------------------------------------------
+
+# experiment directory, with plenty of space, create if new
+
+EXPDIR=/scratch/b/b380906/${EXPNAME} 
+if [ ! -d ${EXPDIR} ] ;  then
+  mkdir -p ${EXPDIR}
+fi
+#
+ls -ld ${EXPDIR}
+if [ ! -d ${EXPDIR} ] ;  then
+    mkdir ${EXPDIR}
+fi
+ls -ld ${EXPDIR}
+check_error $? "${EXPDIR} does not exist?"
+
+cd ${EXPDIR}
+
+#-----------------------------------------------------------------------------
+# Link experiment initial files
+inputdir='/work/bb1152/Module_A/A6_CyclEx/input_data'
+# Grid
+ln -sf $inputdir/Channel_4000x9000_80000m_with_boundary.nc grid_DOM01.nc
+
+# Extpar
+ln -sf $inputdir/inputs_planar_channel_51x81_80km/extpar_remapped_12_months.nc extpar_DOM01.nc
+
+# Initial file
+ln -sf $inputdir/inputs_planar_channel_51x81_80km/lc1_ifs_CTL_remapped.nc ifs2icon_init.nc
+
+# Ozone
+ln -sf $inputdir/inputs_planar_channel_51x81_80km/ape_O3_remapped.nc o3_icon_DOM01.nc
+
+# Model required files
+ln -sf $basedir/data/rrtmg_lw.nc              ./
+ln -sf $basedir/data/rrtmg_sw.nc              ./
+ln -sf $basedir/data/ECHAM6_CldOptProps.nc    ./
+
+#=============================================================================
+
+# create ICON namelist parameters
+
+cat > ${atmo_namelist} << EOF
+&parallel_nml
+ nproma         = 16  ! optimal setting 8 for CRAY; use 16 or 24 for IBM
+ p_test_run     = .false.
+ l_test_openmp  = .false.
+ l_log_checks   = .false.
+ num_io_procs   = 10   ! asynchronous output for values >= 1
+ itype_comm     = 1
+ iorder_sendrecv = 3  ! best value for CRAY (slightly faster than option 1)
+ num_prefetch_proc = 1
+/
+&grid_nml
+ dynamics_grid_filename  = 'grid_DOM01.nc'
+ dynamics_parent_grid_id = 0
+ lredgrid_phys           = .false.
+ is_plane_cylinder       = .TRUE.
+ l_limited_area          = .true.
+ corio_lat               = 45.0
+/
+&initicon_nml
+ init_mode   = 2           ! operation mode 2: IFS
+ ifs2icon_filename = 'ifs2icon_init.nc' 
+ zpbl1       = 500. 
+ zpbl2       = 1000.
+ l_sst_in    = .true. 
+/
+&limarea_nml
+ itype_latbc    = 0            ! fix
+/
+&run_nml
+ num_lev        = 90           ! 60
+ dtime          = 360  ! 360 for R2B5 180 for R2B7    
+ ldynamics      = .TRUE.
+ ltransport     = .true.
+ iforcing       = 3            ! NWP forcing
+ ltestcase      = .false.      ! false: run with real data
+ msg_level      = 7            ! print maximum wind speeds every 5 time steps
+ ltimer         = .false.      ! set .TRUE. for timer output
+ timers_level   = 1            ! can be increased up to 10 for detailed timer output
+ output         = "nml"
+/
+&nwp_phy_nml
+ inwp_gscp          = 1
+ inwp_convection    = 1
+! lshallowconv_only  = .true. ! use only shallow convection scheme
+ inwp_radiation     = 1
+ inwp_cldcover      = 1
+ inwp_turb          = 1
+ inwp_satad         = 1
+ inwp_sso           = 1
+ inwp_gwd           = 1
+ inwp_surface       = 1
+ icapdcycl          = 3
+ latm_above_top  = .false.  ! the second entry refers to the nested domain (if present)
+ efdt_min_raylfric = 7200.
+ ldetrain_conv_prec = .false.
+ itype_z0         = 2
+ icpl_aero_conv   = 0 
+ icpl_aero_gscp   = 0
+ ! resolution-dependent settings - please choose the appropriate one
+ dt_rad    = 720 
+ dt_conv   = 300 
+ dt_sso    = 300 
+ dt_gwd    = 300. 
+/
+&turbdiff_nml
+ tkhmin  = 0.75  
+ tkmmin  = 0.75             
+ pat_len = 100. !750.
+ c_diff  = 0.2
+ rat_sea = 10  
+ ltkesso = .true.
+ frcsmot = 0.2      
+ imode_frcsmot = 2  
+ itype_sher = 3    
+ ltkeshs    = .true.
+ a_hshr     = 2.0     
+/
+&lnd_nml
+ ntiles         = 3      !!! 1 for assimilation cycle and forecast
+ nlev_snow      = 3      !!! 1 for assimilation cycle and forecast
+ lmulti_snow    = .true. !!! .false. for assimilation cycle and forecast
+ itype_heatcond = 2
+ idiag_snowfrac = 2
+ lsnowtile      = .false.  !! later on .true. if GRIB encoding issues are solved
+ lseaice        = .true. !!Sophia Schäfer, 23/03/2017: reads in sea ice (e.g. zero ice), instead of setting by temperature
+ llake          = .false.
+ itype_lndtbl   = 3  ! minimizes moist/cold bias in lower tropical troposphere
+ itype_root     = 2  			        
+/
+&radiation_nml
+ irad_o3       = 4
+ irad_aero     = 0
+ irad_cfc11    = 0
+ irad_cfc12    = 0
+ albedo_type   = 2 ! Modis albedo
+ vmr_co2       = 348.0e-6 ! values representative for 2012
+ vmr_ch4       = 1650.0e-09
+ vmr_n2o       = 396.0e-09
+ vmr_o2        = 0.20946
+ izenith       = 3
+ vmr_cfc11     = 0
+ vmr_cfc12     = 0
+/
+&nonhydrostatic_nml
+ iadv_rhotheta  = 2
+ ivctype        = 2
+ itime_scheme   = 4
+ exner_expol    = 0.333
+ vwind_offctr   = 0.2
+ damp_height    = 50000.
+ rayleigh_coeff = 0.10   ! R3B7: 1.0 for forecasts, 5.0 in assimilation cycle; 0.5/2.5 for R2B6 (i.e. ensemble) runs
+ lhdiff_rcf     = .true.
+ divdamp_order  = 24    ! setting for forecast runs; use '2' for assimilation cycle
+ divdamp_type   = 32    ! ** new setting for assimilation and forecast runs **
+ divdamp_fac    = 0.004 ! use 0.032 in conjunction with divdamp_order = 2 in assimilation cycle
+ l_open_ubc     = .false.
+ igradp_method  = 3
+ l_zdiffu_t     = .true.
+ thslp_zdiffu   = 0.02
+ thhgtd_zdiffu  = 125.
+ htop_moist_proc= 22500.
+ hbot_qvsubstep = 22500. ! use 22500. with R2B6
+/
+&nudging_nml
+ nudge_type  = 0
+ max_nudge_coeff_vn = 0.00000
+/
+&sleve_nml
+ min_lay_thckn   = 20.
+ max_lay_thckn   = 400.   ! maximum layer thickness below htop_thcknlimit
+ htop_thcknlimit = 14000. ! this implies that the upcoming COSMO-EU nest will have 60 levels
+ top_height      = 75000.
+ stretch_fac     = 0.9
+ decay_scale_1   = 4000.
+ decay_scale_2   = 2500.
+ decay_exp       = 1.2
+ flat_height     = 16000.
+/
+&dynamics_nml
+ iequations     = 3
+ idiv_method    = 1
+ divavg_cntrwgt = 0.50
+ !lcoriolis      = .TRUE.
+/
+&transport_nml
+ ctracer_list  = '12345'
+ ivadv_tracer  = 3,3,3,3,3
+ itype_hlimit  = 3,4,4,4,4
+ ihadv_tracer  = 52,2,2,2,2
+ iadv_tke      = 0
+/
+&diffusion_nml
+ hdiff_order      = 5
+ itype_vn_diffu   = 1
+ itype_t_diffu    = 2
+ hdiff_efdt_ratio = 24.0
+ hdiff_smag_fac   = 0.025
+ lhdiff_vn        = .TRUE.
+ lhdiff_temp      = .TRUE.
+/
+&interpol_nml
+ nudge_zone_width  = 0.0  ! deactivating nudging as needed for mass conservation for this setup 
+ nudge_efold_width = 0.0
+ nudge_max_coeff   = 0.00000
+ lsq_high_ord      = 3
+ l_intp_c2l        = .true.
+ l_mono_c2l        = .true.
+ support_baryctr_intp = .false.
+ rbf_vec_scale_c   = 0.3,  0.1,  0.03
+ rbf_vec_scale_v   = 0.4,  0.25, 0.07
+ rbf_vec_scale_e   = 0.45, 0.37, 0.25
+/
+&extpar_nml
+ itopo                = 1
+ extpar_filename      = 'extpar_DOM01.nc'
+ n_iter_smooth_topo   = 1         
+ heightdiff_threshold = 3000.
+/
+&io_nml
+ itype_pres_msl = 5  ! 4 New extrapolation method to circumvent Ninjo problem with surface inversions
+ itype_rh       = 1  ! RH w.r.t. water
+ restart_file_type = 5       ! 4: netcdf2, 5: netcdf4
+/
+&nh_pzlev_nml
+ nplev             = 18     ! number of p level output (attention: levels in [Pa] and top-down)
+ nzlev             = 20     ! number of z level output (attention: levels in [m] and top-down)
+ plevels           = 5000,7000,10000,15000,20000,25000,30000,40000,50000,60000,70000,
+                     80000,85000,90000,92500,95000,97500,100000
+ zlevels           = 25000,20000,18000,16000,14000,12000,10000,8000,6000,5000,4000,3000,2000,
+                     1000,800,600,400,200,100,10
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1         
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-atm3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'pres','qc','qi','qv','rho','temp','u','v','w','vn','z_ifc','vor','rh','pv','omega','geopot','div','cape','tke'
+ remap            = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1         
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-cld3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'clc','tot_qv_dia','tot_qc_dia','tot_qi_dia','pres'
+ remap            = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                      ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}" 
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-rad3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'lwflxall', 'lwflx_dn_clr','lwflx_up_clr','swflx_dn_clr','swflx_up_clr','swflx_up','swflx_dn','pres'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                      ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-ddt3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'ddt_temp_totnwpphy','ddt_temp_radsw','ddt_temp_radlw','ddt_temp_turb','ddt_temp_pconv','ddt_temp_drag','ddt_temp_satad','ddt_temp_diff','ddt_temp_dyn','ddt_temp_gscp','pres'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5              ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                       ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 = .FALSE.
+ output_filename              = 'icon-atm2d'   ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'pres_msl','pres_sfc','ddt_pres_sfc','u_10m','v_10m','t_g','t_2m','qv_2m','td_2m','rh_2m','group:precip_vars','rain_gsp_rate','rain_con_rate','cape_ml','cin_ml','clct','clch','clcm','clcl','tqv_dia','tqc_dia','tqi_dia','tqv','tqc','tqi','tqr','shfl_s','lhfl_s','qhfl_s','w_so'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5              ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                       ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 = .FALSE.
+ output_filename              = 'icon-rad2d'   ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'sob_t','thb_t','sob_s','thb_s','thbclr_s','sobclr_s'
+ remap                        = 0
+/
+&output_nml
+ output_filename  = "icon-extra"
+ filename_format  = "<output_filename>_<levtype_l>"
+ filetype         = 5
+ remap            = 0
+ output_grid      = .TRUE.
+ output_start     = "${start_date}"          ! output_start = output_end
+ output_end       = "${start_date}"          ! --> write once only irrespective of
+ output_interval  = "PT1H"  !     the output interval and
+ file_interval    = "${file_interval}"    !     the file interval
+ ml_varlist       = 'z_mc','t_seasfc'
+/
+EOF
+
+#=============================================================================
+#
+# This section of the run script prepares and starts the model integration. 
+#-----------------------------------------------------------------------------
+
+final_status_file=${EXPDIR}/${job_name}.final_status
+rm -f ${final_status_file}
+#-----------------------------------------------------------------------------
+
+# set up the model lists if they do not exist
+# this works for single model runs
+# for coupled runs the lists should be declared explicilty
+if [ x$namelist_list = x ]; then
+#  minrank_list=(        0           )
+#  maxrank_list=(     65535          )
+#  incrank_list=(        1           )
+  minrank_list[0]=0
+  maxrank_list[0]=65535
+  incrank_list[0]=1
+  if [ x$atmo_namelist != x ]; then
+    # this is the atmo model
+    namelist_list[0]="$atmo_namelist"
+    modelname_list[0]="atmo"
+    modeltype_list[0]=1
+    run_atmo="true"
+  else
+    check_error 1 "No namelist is defined"
+  fi
+fi
+
+#-----------------------------------------------------------------------------
+# set some default values and derive some run parameteres
+restart=${restart:=".false."}
+restartSemaphoreFilename='isRestartRun.sem'
+#AUTOMATIC_RESTART_SETUP:
+if [ -f ${restartSemaphoreFilename} ]; then
+  restart=.true.
+  #  do not delete switch-file, to enable restart after unintended abort
+  #[[ -f ${restartSemaphoreFilename} ]] && rm ${restartSemaphoreFilename}
+fi
+#END AUTOMATIC_RESTART_SETUP
+#
+# wait 5min to let GPFS finish the write operations
+if [ "x$restart" != 'x.false.' -a "x$submit" != 'x' ]; then
+  if [ x$(df -T ${EXPDIR} | cut -d ' ' -f 2) = gpfs ]; then
+    sleep 10;
+  fi
+fi
+# fill some checks
+
+run_atmo=${run_atmo="false"}
+if [ x$atmo_namelist != x ]; then
+  run_atmo="true"
+fi
+#-----------------------------------------------------------------------------
+# get restart files
+
+if  [ x$restart_atmo_from != "x" ] ; then
+  rm -f restart_atm_DOM01.nc
+#  ln -s ${basedir}/experiments/${restart_from_folder}/${restart_atmo_from} ${EXPDIR}/restart_atm_DOM01.nc
+  cp ${basedir}/experiments/${restart_from_folder}/${restart_atmo_from} cp_restart_atm.nc
+  ln -s cp_restart_atm.nc restart_atm_DOM01.nc
+  restart=".true."
+fi
+if  [ x$restart_ocean_from != "x" ] ; then
+  rm -f restart_oce.nc
+#  ln -s ${basedir}/experiments/${restart_from_folder}/${restart_ocean_from} ${EXPDIR}/restart_oce.nc
+  cp ${basedir}/experiments/${restart_from_folder}/${restart_ocean_from} cp_restart_oce_DOM01.nc
+  ln -s cp_restart_oce_DOM01.nc restart_oce_DOM01.nc
+  restart=".true."
+fi
+#-----------------------------------------------------------------------------
+
+
+read_restart_namelists=${read_restart_namelists:=".true."}
+
+#-----------------------------------------------------------------------------
+#
+# create ICON master namelist
+# ------------------------
+# For a complete list see Namelist_overview and Namelist_overview.pdf
+
+#-----------------------------------------------------------------------------
+# create master_namelist
+master_namelist=icon_master.namelist
+if [ x$end_date = x ]; then
+cat > $master_namelist << EOF
+&master_nml
+ lrestart            = $restart
+/
+&master_time_control_nml
+ experimentStartDate  = "$start_date"
+ restartTimeIntval    = "$restart_interval"
+ checkpointTimeIntval = "$checkpoint_interval"
+/
+&time_nml
+ is_relative_time = .false.
+/
+EOF
+else
+if [ x$calendar = x ]; then
+  calendar='proleptic gregorian'
+  calendar_type=1
+else
+  calendar=$calendar
+  calendar_type=$calendar_type
+fi
+cat > $master_namelist << EOF
+&master_nml
+ lrestart            = $restart
+ read_restart_namelists = $read_restart_namelists
+/
+&master_time_control_nml
+ calendar             = "$calendar"
+ checkpointTimeIntval = "$checkpoint_interval"
+ restartTimeIntval    = "$restart_interval"
+ experimentStartDate  = "$start_date"
+ experimentStopDate   = "$end_date"
+/
+&time_nml
+ is_relative_time = .false.
+/
+EOF
+fi
+#-----------------------------------------------------------------------------
+
+
+#-----------------------------------------------------------------------------
+# add model component to master_namelist
+add_component_to_master_namelist()
+{
+
+  model_namelist_filename="$1"
+  model_name=$2
+  model_type=$3
+  model_min_rank=$4
+  model_max_rank=$5
+  model_inc_rank=$6
+
+cat >> $master_namelist << EOF
+&master_model_nml
+  model_name="$model_name"
+  model_namelist_filename="$model_namelist_filename"
+  model_type=$model_type
+  model_min_rank=$model_min_rank
+  model_max_rank=$model_max_rank
+  model_inc_rank=$model_inc_rank
+/
+EOF
+
+}
+#-----------------------------------------------------------------------------
+
+
+no_of_models=${#namelist_list[*]}
+echo "no_of_models=$no_of_models"
+
+j=0
+while [ $j -lt ${no_of_models} ]
+do
+  add_component_to_master_namelist "${namelist_list[$j]}" "${modelname_list[$j]}" ${modeltype_list[$j]} ${minrank_list[$j]} ${maxrank_list[$j]} ${incrank_list[$j]}
+  j=`expr ${j} + 1`
+done
+
+#-----------------------------------------------------------------------------
+#
+# get model
+#
+ls -l ${MODEL}
+check_error $? "${MODEL} does not exist?"
+#-----------------------------------------------------------------------------
+
+# start experiment
+
+rm -f finish.status
+date
+${START} ${MODEL}
+date
+#
+if [ -r finish.status ] ; then
+  check_final_status 0 "${START} ${MODEL}"
+else
+  check_final_status -1 "${START} ${MODEL}"
+fi
+#
+
+#-----------------------------------------------------------------------------
+#
+finish_status=`cat finish.status`
+echo $finish_status
+echo "============================"
+echo "Script run successfully: $finish_status"
+echo "============================"
+#-----------------------------------------------------------------------------
+namelist_list=""
+#-----------------------------------------------------------------------------
+# check if we have to restart, ie resubmit
+#   Note: this is a different mechanism from checking the restart
+if [ $finish_status = "RESTART" ]; then
+  echo "restart next experiment..."
+  this_script="${RUNSCRIPTDIR}/exp.${EXPNAME}.run"
+  echo 'this_script: ' "$this_script"
+  # note that if ${restartSemaphoreFilename} does not exist yet, then touch will create it
+  touch ${restartSemaphoreFilename}
+  cd ${RUNSCRIPTDIR}
+  sbatch exp.${EXPNAME}.run
+else
+  [[ -f ${restartSemaphoreFilename} ]] && rm ${restartSemaphoreFilename}
+fi
+#-----------------------------------------------------------------------------
+
+#-----------------------------------------------------------------------------
+
+cd ${RUNSCRIPTDIR}
+
+#-----------------------------------------------------------------------------
diff --git a/Scripts_for_running_simulations/exp.channel_80km_0002.run b/Scripts_for_running_simulations/exp.channel_80km_0002.run
new file mode 100644
index 0000000..bce1e01
--- /dev/null
+++ b/Scripts_for_running_simulations/exp.channel_80km_0002.run
@@ -0,0 +1,672 @@
+#! /bin/ksh
+#=============================================================================
+
+# levante cpu batch job parameters
+
+#SBATCH --account=bb1152
+#SBATCH --job-name=80km0002
+#SBATCH --partition=compute
+#SBATCH --chdir=/home/b/b380906/icon-on-jet/run/runscripts/channel_80km_0002
+#SBATCH --nodes=5
+#SBATCH --threads-per-core=2
+# the following is needed to work around a bug that otherwise leads to
+# a too low number of ranks when using compute,compute2 as queue
+#SBATCH --mem=0
+#SBATCH --output=/home/b/b380906/icon-on-jet/run/runscripts/channel_80km_0002/LOG.channel_80km_0002.%j.o
+#SBATCH --error=/home/b/b380906/icon-on-jet/run/runscripts/channel_80km_0002/LOG.channel_80km_0002.%j.o
+#SBATCH --exclusive
+#SBATCH --time=00:30:00
+
+#=============================================================================
+set -x
+ulimit -s unlimited
+#=============================================================================
+# OpenMP environment variables
+# ----------------------------
+export OMP_NUM_THREADS=4
+export ICON_THREADS=$OMP_NUM_THREADS
+export OMP_SCHEDULE="guided"
+export OMP_DYNAMIC="false"
+export OMP_STACKSIZE=500M
+#
+# MPI variables
+# -------------
+no_of_nodes=${SLURM_JOB_NUM_NODES:=1}
+mpi_procs_pernode=$((128 / OMP_NUM_THREADS))
+((mpi_total_procs=no_of_nodes * mpi_procs_pernode))
+
+#=============================================================================
+
+# load local setting, if existing
+# -------------------------------
+if [ -a ../setting ]
+then
+  echo "Load Setting"
+  . ../setting
+fi
+
+# environment variables for the experiment and the target system
+# --------------------------------------------------------------
+
+export EXPNAME="atm_rte_rrtmgp_amip_test"
+export KMP_AFFINITY="granularity=fine,scatter"
+export KMP_LIBRARY="turnaround"
+export OMPI_MCA_pml="ucx"
+export OMPI_MCA_btl=self
+export OMPI_MCA_osc="pt2pt"
+export UCX_IB_ADDR_TYPE=ib_global
+export OMPI_MCA_coll="^ml"
+export OMPI_MCA_coll_hcoll_enable="1"
+export HCOLL_ENABLE_MCAST_ALL="1"
+export HCOLL_MAIN_IB=mlx5_0:1
+export UCX_NET_DEVICES=mlx5_0:1
+export UCX_TLS=mm,knem,cma,dc_mlx5,dc_x,self
+export UCX_UNIFIED_MODE=y
+export HDF5_USE_FILE_LOCKING=FALSE
+export OMPI_MCA_io="romio321"
+export MALLOC_TRIM_THRESHOLD_="-1"
+export MKL_ENABLE_INSTRUCTIONS=AVX2
+export MKL_DEBUG_CPU_TYPE=5
+export UCX_HANDLE_ERRORS=bt
+
+# load profile
+# ------------
+if [[ -a  /etc/profile ]]
+then
+        . /etc/profile
+fi
+
+#=============================================================================
+
+# directories with absolute paths
+# -------------------------------
+basedir="/home/b/b380906/icon-on-jet"
+export basedir
+
+# how to start the icon model
+mask="0xf,0xf0000,0xf00000000,0xf000000000000,0xf0000000000000000,0xf00000000000000000000,0xf000000000000000000000000,0xf0000000000000000000000000000,0xf0,0xf00000,0xf000000000,0xf0000000000000,0xf00000000000000000,0xf000000000000000000000,0xf0000000000000000000000000,0xf00000000000000000000000000000,0xf00,0xf000000,0xf0000000000,0xf00000000000000,0xf000000000000000000,0xf0000000000000000000000,0xf00000000000000000000000000,0xf000000000000000000000000000000,0xf000,0xf0000000,0xf00000000000,0xf000000000000000,0xf0000000000000000000,0xf00000000000000000000000,0xf000000000000000000000000000,0xf0000000000000000000000000000000"
+export START="srun -l --kill-on-bad-exit=1 --nodes=${SLURM_JOB_NUM_NODES:-1} --ntasks=$((no_of_nodes * mpi_procs_pernode)) --propagate=STACK,CORE --distribution=block:block --cpu-bind=v,mask_cpu=$mask "
+export MODEL="${basedir}/bin/icon"
+
+# how to submit the next job
+# --------------------------
+submit="sbatch"
+job_name="exp.channel_80km_0002.run"
+
+#=============================================================================
+
+ulimit -s $((4 * 1024 * 1024))
+ulimit -c 0
+
+#-----------------------------------------------------------------------------
+export EXPNAME="channel_80km_0002"
+
+# atmo namelist filename
+atmo_namelist=NAMELIST_${EXPNAME}_atm
+
+# directories definition
+RUNSCRIPTDIR=/home/b/b380906/icon-on-jet/run/runscripts/channel_80km_0002/  # run script directory
+
+#-----------------------------------------------------------------------------
+# global timing
+start_date="2021-01-01T00:00:00Z"
+end_date="2021-01-10T00:00:00Z" 
+
+# restart intervals
+checkpoint_interval="P20D"
+restart_interval="P40D"
+
+# output intervals
+output_interval="PT1H"
+file_interval="PT1H"
+
+#-----------------------------------------------------------------------------
+# model parameters
+model_equations=3             # equation system
+#                     1=hydrost. atm. T
+#                     1=hydrost. atm. theta dp
+#                     3=non-hydrost. atm.,
+#                     0=shallow water model
+#                    -1=hydrost. ocean
+#-----------------------------------------------------------------------------
+
+# experiment directory, with plenty of space, create if new
+
+EXPDIR=/scratch/b/b380906/${EXPNAME} 
+if [ ! -d ${EXPDIR} ] ;  then
+  mkdir -p ${EXPDIR}
+fi
+#
+ls -ld ${EXPDIR}
+if [ ! -d ${EXPDIR} ] ;  then
+    mkdir ${EXPDIR}
+fi
+ls -ld ${EXPDIR}
+check_error $? "${EXPDIR} does not exist?"
+
+cd ${EXPDIR}
+
+#-----------------------------------------------------------------------------
+# Link experiment initial files
+inputdir='/work/bb1152/Module_A/A6_CyclEx/input_data'
+# Grid
+ln -sf $inputdir/Channel_4000x9000_80000m_with_boundary.nc grid_DOM01.nc
+
+# Extpar
+ln -sf $inputdir/inputs_planar_channel_51x81_80km/extpar_remapped_12_months.nc extpar_DOM01.nc
+
+# Initial file
+ln -sf $inputdir/inputs_planar_channel_51x81_80km/lc1_ifs_4K_remapped.nc ifs2icon_init.nc
+
+# Ozone
+ln -sf $inputdir/inputs_planar_channel_51x81_80km/ape_O3_remapped.nc o3_icon_DOM01.nc
+
+# Model required files
+ln -sf $basedir/data/rrtmg_lw.nc              ./
+ln -sf $basedir/data/rrtmg_sw.nc              ./
+ln -sf $basedir/data/ECHAM6_CldOptProps.nc    ./
+
+#=============================================================================
+
+# create ICON namelist parameters
+
+cat > ${atmo_namelist} << EOF
+&parallel_nml
+ nproma         = 16  ! optimal setting 8 for CRAY; use 16 or 24 for IBM
+ p_test_run     = .false.
+ l_test_openmp  = .false.
+ l_log_checks   = .false.
+ num_io_procs   = 10   ! asynchronous output for values >= 1
+ itype_comm     = 1
+ iorder_sendrecv = 3  ! best value for CRAY (slightly faster than option 1)
+ num_prefetch_proc = 1
+/
+&grid_nml
+ dynamics_grid_filename  = 'grid_DOM01.nc'
+ dynamics_parent_grid_id = 0
+ lredgrid_phys           = .false.
+ is_plane_cylinder       = .TRUE.
+ l_limited_area          = .true.
+ corio_lat               = 45.0
+/
+&initicon_nml
+ init_mode   = 2           ! operation mode 2: IFS
+ ifs2icon_filename = 'ifs2icon_init.nc' 
+ zpbl1       = 500. 
+ zpbl2       = 1000.
+ l_sst_in    = .true. 
+/
+&limarea_nml
+ itype_latbc    = 0            ! fix
+/
+&run_nml
+ num_lev        = 90           ! 60
+ dtime          = 360  ! 360 for R2B5 180 for R2B7    
+ ldynamics      = .TRUE.
+ ltransport     = .true.
+ iforcing       = 3            ! NWP forcing
+ ltestcase      = .false.      ! false: run with real data
+ msg_level      = 7            ! print maximum wind speeds every 5 time steps
+ ltimer         = .false.      ! set .TRUE. for timer output
+ timers_level   = 1            ! can be increased up to 10 for detailed timer output
+ output         = "nml"
+/
+&nwp_phy_nml
+ inwp_gscp          = 1
+ inwp_convection    = 1
+! lshallowconv_only  = .true. ! use only shallow convection scheme
+ inwp_radiation     = 1
+ inwp_cldcover      = 1
+ inwp_turb          = 1
+ inwp_satad         = 1
+ inwp_sso           = 1
+ inwp_gwd           = 1
+ inwp_surface       = 1
+ icapdcycl          = 3
+ latm_above_top  = .false.  ! the second entry refers to the nested domain (if present)
+ efdt_min_raylfric = 7200.
+ ldetrain_conv_prec = .false.
+ itype_z0         = 2
+ icpl_aero_conv   = 0 
+ icpl_aero_gscp   = 0
+ ! resolution-dependent settings - please choose the appropriate one
+ dt_rad    = 720 
+ dt_conv   = 300 
+ dt_sso    = 300 
+ dt_gwd    = 300. 
+/
+&turbdiff_nml
+ tkhmin  = 0.75  
+ tkmmin  = 0.75             
+ pat_len = 100. !750.
+ c_diff  = 0.2
+ rat_sea = 10  
+ ltkesso = .true.
+ frcsmot = 0.2      
+ imode_frcsmot = 2  
+ itype_sher = 3    
+ ltkeshs    = .true.
+ a_hshr     = 2.0     
+/
+&lnd_nml
+ ntiles         = 3      !!! 1 for assimilation cycle and forecast
+ nlev_snow      = 3      !!! 1 for assimilation cycle and forecast
+ lmulti_snow    = .true. !!! .false. for assimilation cycle and forecast
+ itype_heatcond = 2
+ idiag_snowfrac = 2
+ lsnowtile      = .false.  !! later on .true. if GRIB encoding issues are solved
+ lseaice        = .true. !!Sophia Schäfer, 23/03/2017: reads in sea ice (e.g. zero ice), instead of setting by temperature
+ llake          = .false.
+ itype_lndtbl   = 3  ! minimizes moist/cold bias in lower tropical troposphere
+ itype_root     = 2  			        
+/
+&radiation_nml
+ irad_o3       = 4
+ irad_aero     = 0
+ irad_cfc11    = 0
+ irad_cfc12    = 0
+ albedo_type   = 2 ! Modis albedo
+ vmr_co2       = 348.0e-6 ! values representative for 2012
+ vmr_ch4       = 1650.0e-09
+ vmr_n2o       = 396.0e-09
+ vmr_o2        = 0.20946
+ izenith       = 3
+ vmr_cfc11     = 0
+ vmr_cfc12     = 0
+/
+&nonhydrostatic_nml
+ iadv_rhotheta  = 2
+ ivctype        = 2
+ itime_scheme   = 4
+ exner_expol    = 0.333
+ vwind_offctr   = 0.2
+ damp_height    = 50000.
+ rayleigh_coeff = 0.10   ! R3B7: 1.0 for forecasts, 5.0 in assimilation cycle; 0.5/2.5 for R2B6 (i.e. ensemble) runs
+ lhdiff_rcf     = .true.
+ divdamp_order  = 24    ! setting for forecast runs; use '2' for assimilation cycle
+ divdamp_type   = 32    ! ** new setting for assimilation and forecast runs **
+ divdamp_fac    = 0.004 ! use 0.032 in conjunction with divdamp_order = 2 in assimilation cycle
+ l_open_ubc     = .false.
+ igradp_method  = 3
+ l_zdiffu_t     = .true.
+ thslp_zdiffu   = 0.02
+ thhgtd_zdiffu  = 125.
+ htop_moist_proc= 22500.
+ hbot_qvsubstep = 22500. ! use 22500. with R2B6
+/
+&nudging_nml
+ nudge_type  = 0
+ max_nudge_coeff_vn = 0.00000
+/
+&sleve_nml
+ min_lay_thckn   = 20.
+ max_lay_thckn   = 400.   ! maximum layer thickness below htop_thcknlimit
+ htop_thcknlimit = 14000. ! this implies that the upcoming COSMO-EU nest will have 60 levels
+ top_height      = 75000.
+ stretch_fac     = 0.9
+ decay_scale_1   = 4000.
+ decay_scale_2   = 2500.
+ decay_exp       = 1.2
+ flat_height     = 16000.
+/
+&dynamics_nml
+ iequations     = 3
+ idiv_method    = 1
+ divavg_cntrwgt = 0.50
+ !lcoriolis      = .TRUE.
+/
+&transport_nml
+ ctracer_list  = '12345'
+ ivadv_tracer  = 3,3,3,3,3
+ itype_hlimit  = 3,4,4,4,4
+ ihadv_tracer  = 52,2,2,2,2
+ iadv_tke      = 0
+/
+&diffusion_nml
+ hdiff_order      = 5
+ itype_vn_diffu   = 1
+ itype_t_diffu    = 2
+ hdiff_efdt_ratio = 24.0
+ hdiff_smag_fac   = 0.025
+ lhdiff_vn        = .TRUE.
+ lhdiff_temp      = .TRUE.
+/
+&interpol_nml
+ nudge_zone_width  = 0.0  ! deactivating nudging as needed for mass conservation for this setup 
+ nudge_efold_width = 0.0
+ nudge_max_coeff   = 0.00000
+ lsq_high_ord      = 3
+ l_intp_c2l        = .true.
+ l_mono_c2l        = .true.
+ support_baryctr_intp = .false.
+ rbf_vec_scale_c   = 0.3,  0.1,  0.03
+ rbf_vec_scale_v   = 0.4,  0.25, 0.07
+ rbf_vec_scale_e   = 0.45, 0.37, 0.25
+/
+&extpar_nml
+ itopo                = 1
+ extpar_filename      = 'extpar_DOM01.nc'
+ n_iter_smooth_topo   = 1         
+ heightdiff_threshold = 3000.
+/
+&io_nml
+ itype_pres_msl = 5  ! 4 New extrapolation method to circumvent Ninjo problem with surface inversions
+ itype_rh       = 1  ! RH w.r.t. water
+ restart_file_type = 5       ! 4: netcdf2, 5: netcdf4
+/
+&nh_pzlev_nml
+ nplev             = 18     ! number of p level output (attention: levels in [Pa] and top-down)
+ nzlev             = 20     ! number of z level output (attention: levels in [m] and top-down)
+ plevels           = 5000,7000,10000,15000,20000,25000,30000,40000,50000,60000,70000,
+                     80000,85000,90000,92500,95000,97500,100000
+ zlevels           = 25000,20000,18000,16000,14000,12000,10000,8000,6000,5000,4000,3000,2000,
+                     1000,800,600,400,200,100,10
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1         
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-atm3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'pres','qc','qi','qv','rho','temp','u','v','w','vn','z_ifc','vor','rh','pv','omega','geopot','div','cape','tke'
+ remap            = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1         
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-cld3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'clc','tot_qv_dia','tot_qc_dia','tot_qi_dia','pres'
+ remap            = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                      ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}" 
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-rad3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'lwflxall', 'lwflx_dn_clr','lwflx_up_clr','swflx_dn_clr','swflx_up_clr','swflx_up','swflx_dn','pres'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                      ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-ddt3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'ddt_temp_totnwpphy','ddt_temp_radsw','ddt_temp_radlw','ddt_temp_turb','ddt_temp_pconv','ddt_temp_drag','ddt_temp_satad','ddt_temp_diff','ddt_temp_dyn','ddt_temp_gscp','pres'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5              ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                       ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 = .FALSE.
+ output_filename              = 'icon-atm2d'   ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'pres_msl','pres_sfc','ddt_pres_sfc','u_10m','v_10m','t_g','t_2m','qv_2m','td_2m','rh_2m','group:precip_vars','rain_gsp_rate','rain_con_rate','cape_ml','cin_ml','clct','clch','clcm','clcl','tqv_dia','tqc_dia','tqi_dia','tqv','tqc','tqi','tqr','shfl_s','lhfl_s','qhfl_s','w_so'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5              ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                       ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 = .FALSE.
+ output_filename              = 'icon-rad2d'   ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'sob_t','thb_t','sob_s','thb_s','thbclr_s','sobclr_s'
+ remap                        = 0
+/
+&output_nml
+ output_filename  = "icon-extra"
+ filename_format  = "<output_filename>_<levtype_l>"
+ filetype         = 5
+ remap            = 0
+ output_grid      = .TRUE.
+ output_start     = "${start_date}"          ! output_start = output_end
+ output_end       = "${start_date}"          ! --> write once only irrespective of
+ output_interval  = "PT1H"  !     the output interval and
+ file_interval    = "${file_interval}"    !     the file interval
+ ml_varlist       = 'z_mc','t_seasfc'
+/
+EOF
+
+#=============================================================================
+#
+# This section of the run script prepares and starts the model integration. 
+#-----------------------------------------------------------------------------
+
+final_status_file=${EXPDIR}/${job_name}.final_status
+rm -f ${final_status_file}
+#-----------------------------------------------------------------------------
+
+# set up the model lists if they do not exist
+# this works for single model runs
+# for coupled runs the lists should be declared explicilty
+if [ x$namelist_list = x ]; then
+#  minrank_list=(        0           )
+#  maxrank_list=(     65535          )
+#  incrank_list=(        1           )
+  minrank_list[0]=0
+  maxrank_list[0]=65535
+  incrank_list[0]=1
+  if [ x$atmo_namelist != x ]; then
+    # this is the atmo model
+    namelist_list[0]="$atmo_namelist"
+    modelname_list[0]="atmo"
+    modeltype_list[0]=1
+    run_atmo="true"
+  else
+    check_error 1 "No namelist is defined"
+  fi
+fi
+
+#-----------------------------------------------------------------------------
+# set some default values and derive some run parameteres
+restart=${restart:=".false."}
+restartSemaphoreFilename='isRestartRun.sem'
+#AUTOMATIC_RESTART_SETUP:
+if [ -f ${restartSemaphoreFilename} ]; then
+  restart=.true.
+  #  do not delete switch-file, to enable restart after unintended abort
+  #[[ -f ${restartSemaphoreFilename} ]] && rm ${restartSemaphoreFilename}
+fi
+#END AUTOMATIC_RESTART_SETUP
+#
+# wait 5min to let GPFS finish the write operations
+if [ "x$restart" != 'x.false.' -a "x$submit" != 'x' ]; then
+  if [ x$(df -T ${EXPDIR} | cut -d ' ' -f 2) = gpfs ]; then
+    sleep 10;
+  fi
+fi
+# fill some checks
+
+run_atmo=${run_atmo="false"}
+if [ x$atmo_namelist != x ]; then
+  run_atmo="true"
+fi
+#-----------------------------------------------------------------------------
+# get restart files
+
+if  [ x$restart_atmo_from != "x" ] ; then
+  rm -f restart_atm_DOM01.nc
+#  ln -s ${basedir}/experiments/${restart_from_folder}/${restart_atmo_from} ${EXPDIR}/restart_atm_DOM01.nc
+  cp ${basedir}/experiments/${restart_from_folder}/${restart_atmo_from} cp_restart_atm.nc
+  ln -s cp_restart_atm.nc restart_atm_DOM01.nc
+  restart=".true."
+fi
+if  [ x$restart_ocean_from != "x" ] ; then
+  rm -f restart_oce.nc
+#  ln -s ${basedir}/experiments/${restart_from_folder}/${restart_ocean_from} ${EXPDIR}/restart_oce.nc
+  cp ${basedir}/experiments/${restart_from_folder}/${restart_ocean_from} cp_restart_oce_DOM01.nc
+  ln -s cp_restart_oce_DOM01.nc restart_oce_DOM01.nc
+  restart=".true."
+fi
+#-----------------------------------------------------------------------------
+
+
+read_restart_namelists=${read_restart_namelists:=".true."}
+
+#-----------------------------------------------------------------------------
+#
+# create ICON master namelist
+# ------------------------
+# For a complete list see Namelist_overview and Namelist_overview.pdf
+
+#-----------------------------------------------------------------------------
+# create master_namelist
+master_namelist=icon_master.namelist
+if [ x$end_date = x ]; then
+cat > $master_namelist << EOF
+&master_nml
+ lrestart            = $restart
+/
+&master_time_control_nml
+ experimentStartDate  = "$start_date"
+ restartTimeIntval    = "$restart_interval"
+ checkpointTimeIntval = "$checkpoint_interval"
+/
+&time_nml
+ is_relative_time = .false.
+/
+EOF
+else
+if [ x$calendar = x ]; then
+  calendar='proleptic gregorian'
+  calendar_type=1
+else
+  calendar=$calendar
+  calendar_type=$calendar_type
+fi
+cat > $master_namelist << EOF
+&master_nml
+ lrestart            = $restart
+ read_restart_namelists = $read_restart_namelists
+/
+&master_time_control_nml
+ calendar             = "$calendar"
+ checkpointTimeIntval = "$checkpoint_interval"
+ restartTimeIntval    = "$restart_interval"
+ experimentStartDate  = "$start_date"
+ experimentStopDate   = "$end_date"
+/
+&time_nml
+ is_relative_time = .false.
+/
+EOF
+fi
+#-----------------------------------------------------------------------------
+
+
+#-----------------------------------------------------------------------------
+# add model component to master_namelist
+add_component_to_master_namelist()
+{
+
+  model_namelist_filename="$1"
+  model_name=$2
+  model_type=$3
+  model_min_rank=$4
+  model_max_rank=$5
+  model_inc_rank=$6
+
+cat >> $master_namelist << EOF
+&master_model_nml
+  model_name="$model_name"
+  model_namelist_filename="$model_namelist_filename"
+  model_type=$model_type
+  model_min_rank=$model_min_rank
+  model_max_rank=$model_max_rank
+  model_inc_rank=$model_inc_rank
+/
+EOF
+
+}
+#-----------------------------------------------------------------------------
+
+
+no_of_models=${#namelist_list[*]}
+echo "no_of_models=$no_of_models"
+
+j=0
+while [ $j -lt ${no_of_models} ]
+do
+  add_component_to_master_namelist "${namelist_list[$j]}" "${modelname_list[$j]}" ${modeltype_list[$j]} ${minrank_list[$j]} ${maxrank_list[$j]} ${incrank_list[$j]}
+  j=`expr ${j} + 1`
+done
+
+#-----------------------------------------------------------------------------
+#
+# get model
+#
+ls -l ${MODEL}
+check_error $? "${MODEL} does not exist?"
+#-----------------------------------------------------------------------------
+
+# start experiment
+
+rm -f finish.status
+date
+${START} ${MODEL}
+date
+#
+if [ -r finish.status ] ; then
+  check_final_status 0 "${START} ${MODEL}"
+else
+  check_final_status -1 "${START} ${MODEL}"
+fi
+#
+
+#-----------------------------------------------------------------------------
+#
+finish_status=`cat finish.status`
+echo $finish_status
+echo "============================"
+echo "Script run successfully: $finish_status"
+echo "============================"
+#-----------------------------------------------------------------------------
+namelist_list=""
+#-----------------------------------------------------------------------------
+# check if we have to restart, ie resubmit
+#   Note: this is a different mechanism from checking the restart
+if [ $finish_status = "RESTART" ]; then
+  echo "restart next experiment..."
+  this_script="${RUNSCRIPTDIR}/exp.${EXPNAME}.run"
+  echo 'this_script: ' "$this_script"
+  # note that if ${restartSemaphoreFilename} does not exist yet, then touch will create it
+  touch ${restartSemaphoreFilename}
+  cd ${RUNSCRIPTDIR}
+  sbatch exp.${EXPNAME}.run
+else
+  [[ -f ${restartSemaphoreFilename} ]] && rm ${restartSemaphoreFilename}
+fi
+#-----------------------------------------------------------------------------
+
+#-----------------------------------------------------------------------------
+
+cd ${RUNSCRIPTDIR}
+
+#-----------------------------------------------------------------------------
diff --git a/Scripts_for_running_simulations/exp.channel_80km_0003.run b/Scripts_for_running_simulations/exp.channel_80km_0003.run
new file mode 100644
index 0000000..aac676f
--- /dev/null
+++ b/Scripts_for_running_simulations/exp.channel_80km_0003.run
@@ -0,0 +1,672 @@
+#! /bin/ksh
+#=============================================================================
+
+# levante cpu batch job parameters
+
+#SBATCH --account=bb1152
+#SBATCH --job-name=80km0003
+#SBATCH --partition=compute
+#SBATCH --chdir=/home/b/b380906/icon-on-jet/run/runscripts/channel_80km_0003
+#SBATCH --nodes=5
+#SBATCH --threads-per-core=2
+# the following is needed to work around a bug that otherwise leads to
+# a too low number of ranks when using compute,compute2 as queue
+#SBATCH --mem=0
+#SBATCH --output=/home/b/b380906/icon-on-jet/run/runscripts/channel_80km_0003/LOG.channel_80km_0003.%j.o
+#SBATCH --error=/home/b/b380906/icon-on-jet/run/runscripts/channel_80km_0003/LOG.channel_80km_0003.%j.o
+#SBATCH --exclusive
+#SBATCH --time=00:30:00
+
+#=============================================================================
+set -x
+ulimit -s unlimited
+#=============================================================================
+# OpenMP environment variables
+# ----------------------------
+export OMP_NUM_THREADS=4
+export ICON_THREADS=$OMP_NUM_THREADS
+export OMP_SCHEDULE="guided"
+export OMP_DYNAMIC="false"
+export OMP_STACKSIZE=500M
+#
+# MPI variables
+# -------------
+no_of_nodes=${SLURM_JOB_NUM_NODES:=1}
+mpi_procs_pernode=$((128 / OMP_NUM_THREADS))
+((mpi_total_procs=no_of_nodes * mpi_procs_pernode))
+
+#=============================================================================
+
+# load local setting, if existing
+# -------------------------------
+if [ -a ../setting ]
+then
+  echo "Load Setting"
+  . ../setting
+fi
+
+# environment variables for the experiment and the target system
+# --------------------------------------------------------------
+
+export EXPNAME="atm_rte_rrtmgp_amip_test"
+export KMP_AFFINITY="granularity=fine,scatter"
+export KMP_LIBRARY="turnaround"
+export OMPI_MCA_pml="ucx"
+export OMPI_MCA_btl=self
+export OMPI_MCA_osc="pt2pt"
+export UCX_IB_ADDR_TYPE=ib_global
+export OMPI_MCA_coll="^ml"
+export OMPI_MCA_coll_hcoll_enable="1"
+export HCOLL_ENABLE_MCAST_ALL="1"
+export HCOLL_MAIN_IB=mlx5_0:1
+export UCX_NET_DEVICES=mlx5_0:1
+export UCX_TLS=mm,knem,cma,dc_mlx5,dc_x,self
+export UCX_UNIFIED_MODE=y
+export HDF5_USE_FILE_LOCKING=FALSE
+export OMPI_MCA_io="romio321"
+export MALLOC_TRIM_THRESHOLD_="-1"
+export MKL_ENABLE_INSTRUCTIONS=AVX2
+export MKL_DEBUG_CPU_TYPE=5
+export UCX_HANDLE_ERRORS=bt
+
+# load profile
+# ------------
+if [[ -a  /etc/profile ]]
+then
+        . /etc/profile
+fi
+
+#=============================================================================
+
+# directories with absolute paths
+# -------------------------------
+basedir="/home/b/b380906/icon-on-jet"
+export basedir
+
+# how to start the icon model
+mask="0xf,0xf0000,0xf00000000,0xf000000000000,0xf0000000000000000,0xf00000000000000000000,0xf000000000000000000000000,0xf0000000000000000000000000000,0xf0,0xf00000,0xf000000000,0xf0000000000000,0xf00000000000000000,0xf000000000000000000000,0xf0000000000000000000000000,0xf00000000000000000000000000000,0xf00,0xf000000,0xf0000000000,0xf00000000000000,0xf000000000000000000,0xf0000000000000000000000,0xf00000000000000000000000000,0xf000000000000000000000000000000,0xf000,0xf0000000,0xf00000000000,0xf000000000000000,0xf0000000000000000000,0xf00000000000000000000000,0xf000000000000000000000000000,0xf0000000000000000000000000000000"
+export START="srun -l --kill-on-bad-exit=1 --nodes=${SLURM_JOB_NUM_NODES:-1} --ntasks=$((no_of_nodes * mpi_procs_pernode)) --propagate=STACK,CORE --distribution=block:block --cpu-bind=v,mask_cpu=$mask "
+export MODEL="${basedir}/bin/icon"
+
+# how to submit the next job
+# --------------------------
+submit="sbatch"
+job_name="exp.channel_80km_0003.run"
+
+#=============================================================================
+
+ulimit -s $((4 * 1024 * 1024))
+ulimit -c 0
+
+#-----------------------------------------------------------------------------
+export EXPNAME="channel_80km_0003"
+
+# atmo namelist filename
+atmo_namelist=NAMELIST_${EXPNAME}_atm
+
+# directories definition
+RUNSCRIPTDIR=/home/b/b380906/icon-on-jet/run/runscripts/channel_80km_0003/  # run script directory
+
+#-----------------------------------------------------------------------------
+# global timing
+start_date="2021-01-01T00:00:00Z"
+end_date="2021-01-10T00:00:00Z" 
+
+# restart intervals
+checkpoint_interval="P20D"
+restart_interval="P40D"
+
+# output intervals
+output_interval="PT1H"
+file_interval="PT1H"
+
+#-----------------------------------------------------------------------------
+# model parameters
+model_equations=3             # equation system
+#                     1=hydrost. atm. T
+#                     1=hydrost. atm. theta dp
+#                     3=non-hydrost. atm.,
+#                     0=shallow water model
+#                    -1=hydrost. ocean
+#-----------------------------------------------------------------------------
+
+# experiment directory, with plenty of space, create if new
+
+EXPDIR=/scratch/b/b380906/${EXPNAME} 
+if [ ! -d ${EXPDIR} ] ;  then
+  mkdir -p ${EXPDIR}
+fi
+#
+ls -ld ${EXPDIR}
+if [ ! -d ${EXPDIR} ] ;  then
+    mkdir ${EXPDIR}
+fi
+ls -ld ${EXPDIR}
+check_error $? "${EXPDIR} does not exist?"
+
+cd ${EXPDIR}
+
+#-----------------------------------------------------------------------------
+# Link experiment initial files
+inputdir='/work/bb1152/Module_A/A6_CyclEx/input_data'
+# Grid
+ln -sf $inputdir/Channel_4000x9000_80000m_with_boundary.nc grid_DOM01.nc
+
+# Extpar
+ln -sf $inputdir/inputs_planar_channel_51x81_80km/extpar_remapped_12_months.nc extpar_DOM01.nc
+
+# Initial file
+ln -sf $inputdir/inputs_planar_channel_51x81_80km/lc1_ifs_4K_qvCTL_remapped.nc ifs2icon_init.nc
+
+# Ozone
+ln -sf $inputdir/inputs_planar_channel_51x81_80km/ape_O3_remapped.nc o3_icon_DOM01.nc
+
+# Model required files
+ln -sf $basedir/data/rrtmg_lw.nc              ./
+ln -sf $basedir/data/rrtmg_sw.nc              ./
+ln -sf $basedir/data/ECHAM6_CldOptProps.nc    ./
+
+#=============================================================================
+
+# create ICON namelist parameters
+
+cat > ${atmo_namelist} << EOF
+&parallel_nml
+ nproma         = 16  ! optimal setting 8 for CRAY; use 16 or 24 for IBM
+ p_test_run     = .false.
+ l_test_openmp  = .false.
+ l_log_checks   = .false.
+ num_io_procs   = 10   ! asynchronous output for values >= 1
+ itype_comm     = 1
+ iorder_sendrecv = 3  ! best value for CRAY (slightly faster than option 1)
+ num_prefetch_proc = 1
+/
+&grid_nml
+ dynamics_grid_filename  = 'grid_DOM01.nc'
+ dynamics_parent_grid_id = 0
+ lredgrid_phys           = .false.
+ is_plane_cylinder       = .TRUE.
+ l_limited_area          = .true.
+ corio_lat               = 45.0
+/
+&initicon_nml
+ init_mode   = 2           ! operation mode 2: IFS
+ ifs2icon_filename = 'ifs2icon_init.nc' 
+ zpbl1       = 500. 
+ zpbl2       = 1000.
+ l_sst_in    = .true. 
+/
+&limarea_nml
+ itype_latbc    = 0            ! fix
+/
+&run_nml
+ num_lev        = 90           ! 60
+ dtime          = 360  ! 360 for R2B5 180 for R2B7    
+ ldynamics      = .TRUE.
+ ltransport     = .true.
+ iforcing       = 3            ! NWP forcing
+ ltestcase      = .false.      ! false: run with real data
+ msg_level      = 7            ! print maximum wind speeds every 5 time steps
+ ltimer         = .false.      ! set .TRUE. for timer output
+ timers_level   = 1            ! can be increased up to 10 for detailed timer output
+ output         = "nml"
+/
+&nwp_phy_nml
+ inwp_gscp          = 1
+ inwp_convection    = 1
+! lshallowconv_only  = .true. ! use only shallow convection scheme
+ inwp_radiation     = 1
+ inwp_cldcover      = 1
+ inwp_turb          = 1
+ inwp_satad         = 1
+ inwp_sso           = 1
+ inwp_gwd           = 1
+ inwp_surface       = 1
+ icapdcycl          = 3
+ latm_above_top  = .false.  ! the second entry refers to the nested domain (if present)
+ efdt_min_raylfric = 7200.
+ ldetrain_conv_prec = .false.
+ itype_z0         = 2
+ icpl_aero_conv   = 0 
+ icpl_aero_gscp   = 0
+ ! resolution-dependent settings - please choose the appropriate one
+ dt_rad    = 720 
+ dt_conv   = 300 
+ dt_sso    = 300 
+ dt_gwd    = 300. 
+/
+&turbdiff_nml
+ tkhmin  = 0.75  
+ tkmmin  = 0.75             
+ pat_len = 100. !750.
+ c_diff  = 0.2
+ rat_sea = 10  
+ ltkesso = .true.
+ frcsmot = 0.2      
+ imode_frcsmot = 2  
+ itype_sher = 3    
+ ltkeshs    = .true.
+ a_hshr     = 2.0     
+/
+&lnd_nml
+ ntiles         = 3      !!! 1 for assimilation cycle and forecast
+ nlev_snow      = 3      !!! 1 for assimilation cycle and forecast
+ lmulti_snow    = .true. !!! .false. for assimilation cycle and forecast
+ itype_heatcond = 2
+ idiag_snowfrac = 2
+ lsnowtile      = .false.  !! later on .true. if GRIB encoding issues are solved
+ lseaice        = .true. !!Sophia Schäfer, 23/03/2017: reads in sea ice (e.g. zero ice), instead of setting by temperature
+ llake          = .false.
+ itype_lndtbl   = 3  ! minimizes moist/cold bias in lower tropical troposphere
+ itype_root     = 2  			        
+/
+&radiation_nml
+ irad_o3       = 4
+ irad_aero     = 0
+ irad_cfc11    = 0
+ irad_cfc12    = 0
+ albedo_type   = 2 ! Modis albedo
+ vmr_co2       = 348.0e-6 ! values representative for 2012
+ vmr_ch4       = 1650.0e-09
+ vmr_n2o       = 396.0e-09
+ vmr_o2        = 0.20946
+ izenith       = 3
+ vmr_cfc11     = 0
+ vmr_cfc12     = 0
+/
+&nonhydrostatic_nml
+ iadv_rhotheta  = 2
+ ivctype        = 2
+ itime_scheme   = 4
+ exner_expol    = 0.333
+ vwind_offctr   = 0.2
+ damp_height    = 50000.
+ rayleigh_coeff = 0.10   ! R3B7: 1.0 for forecasts, 5.0 in assimilation cycle; 0.5/2.5 for R2B6 (i.e. ensemble) runs
+ lhdiff_rcf     = .true.
+ divdamp_order  = 24    ! setting for forecast runs; use '2' for assimilation cycle
+ divdamp_type   = 32    ! ** new setting for assimilation and forecast runs **
+ divdamp_fac    = 0.004 ! use 0.032 in conjunction with divdamp_order = 2 in assimilation cycle
+ l_open_ubc     = .false.
+ igradp_method  = 3
+ l_zdiffu_t     = .true.
+ thslp_zdiffu   = 0.02
+ thhgtd_zdiffu  = 125.
+ htop_moist_proc= 22500.
+ hbot_qvsubstep = 22500. ! use 22500. with R2B6
+/
+&nudging_nml
+ nudge_type  = 0
+ max_nudge_coeff_vn = 0.00000
+/
+&sleve_nml
+ min_lay_thckn   = 20.
+ max_lay_thckn   = 400.   ! maximum layer thickness below htop_thcknlimit
+ htop_thcknlimit = 14000. ! this implies that the upcoming COSMO-EU nest will have 60 levels
+ top_height      = 75000.
+ stretch_fac     = 0.9
+ decay_scale_1   = 4000.
+ decay_scale_2   = 2500.
+ decay_exp       = 1.2
+ flat_height     = 16000.
+/
+&dynamics_nml
+ iequations     = 3
+ idiv_method    = 1
+ divavg_cntrwgt = 0.50
+ !lcoriolis      = .TRUE.
+/
+&transport_nml
+ ctracer_list  = '12345'
+ ivadv_tracer  = 3,3,3,3,3
+ itype_hlimit  = 3,4,4,4,4
+ ihadv_tracer  = 52,2,2,2,2
+ iadv_tke      = 0
+/
+&diffusion_nml
+ hdiff_order      = 5
+ itype_vn_diffu   = 1
+ itype_t_diffu    = 2
+ hdiff_efdt_ratio = 24.0
+ hdiff_smag_fac   = 0.025
+ lhdiff_vn        = .TRUE.
+ lhdiff_temp      = .TRUE.
+/
+&interpol_nml
+ nudge_zone_width  = 0.0  ! deactivating nudging as needed for mass conservation for this setup 
+ nudge_efold_width = 0.0
+ nudge_max_coeff   = 0.00000
+ lsq_high_ord      = 3
+ l_intp_c2l        = .true.
+ l_mono_c2l        = .true.
+ support_baryctr_intp = .false.
+ rbf_vec_scale_c   = 0.3,  0.1,  0.03
+ rbf_vec_scale_v   = 0.4,  0.25, 0.07
+ rbf_vec_scale_e   = 0.45, 0.37, 0.25
+/
+&extpar_nml
+ itopo                = 1
+ extpar_filename      = 'extpar_DOM01.nc'
+ n_iter_smooth_topo   = 1         
+ heightdiff_threshold = 3000.
+/
+&io_nml
+ itype_pres_msl = 5  ! 4 New extrapolation method to circumvent Ninjo problem with surface inversions
+ itype_rh       = 1  ! RH w.r.t. water
+ restart_file_type = 5       ! 4: netcdf2, 5: netcdf4
+/
+&nh_pzlev_nml
+ nplev             = 18     ! number of p level output (attention: levels in [Pa] and top-down)
+ nzlev             = 20     ! number of z level output (attention: levels in [m] and top-down)
+ plevels           = 5000,7000,10000,15000,20000,25000,30000,40000,50000,60000,70000,
+                     80000,85000,90000,92500,95000,97500,100000
+ zlevels           = 25000,20000,18000,16000,14000,12000,10000,8000,6000,5000,4000,3000,2000,
+                     1000,800,600,400,200,100,10
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1         
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-atm3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'pres','qc','qi','qv','rho','temp','u','v','w','vn','z_ifc','vor','rh','pv','omega','geopot','div','cape','tke'
+ remap            = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1         
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-cld3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'clc','tot_qv_dia','tot_qc_dia','tot_qi_dia','pres'
+ remap            = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                      ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}" 
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-rad3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'lwflxall', 'lwflx_dn_clr','lwflx_up_clr','swflx_dn_clr','swflx_up_clr','swflx_up','swflx_dn','pres'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                      ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-ddt3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'ddt_temp_totnwpphy','ddt_temp_radsw','ddt_temp_radlw','ddt_temp_turb','ddt_temp_pconv','ddt_temp_drag','ddt_temp_satad','ddt_temp_diff','ddt_temp_dyn','ddt_temp_gscp','pres'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5              ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                       ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 = .FALSE.
+ output_filename              = 'icon-atm2d'   ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'pres_msl','pres_sfc','ddt_pres_sfc','u_10m','v_10m','t_g','t_2m','qv_2m','td_2m','rh_2m','group:precip_vars','rain_gsp_rate','rain_con_rate','cape_ml','cin_ml','clct','clch','clcm','clcl','tqv_dia','tqc_dia','tqi_dia','tqv','tqc','tqi','tqr','shfl_s','lhfl_s','qhfl_s','w_so'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5              ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                       ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 = .FALSE.
+ output_filename              = 'icon-rad2d'   ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'sob_t','thb_t','sob_s','thb_s','thbclr_s','sobclr_s'
+ remap                        = 0
+/
+&output_nml
+ output_filename  = "icon-extra"
+ filename_format  = "<output_filename>_<levtype_l>"
+ filetype         = 5
+ remap            = 0
+ output_grid      = .TRUE.
+ output_start     = "${start_date}"          ! output_start = output_end
+ output_end       = "${start_date}"          ! --> write once only irrespective of
+ output_interval  = "PT1H"  !     the output interval and
+ file_interval    = "${file_interval}"    !     the file interval
+ ml_varlist       = 'z_mc','t_seasfc'
+/
+EOF
+
+#=============================================================================
+#
+# This section of the run script prepares and starts the model integration. 
+#-----------------------------------------------------------------------------
+
+final_status_file=${EXPDIR}/${job_name}.final_status
+rm -f ${final_status_file}
+#-----------------------------------------------------------------------------
+
+# set up the model lists if they do not exist
+# this works for single model runs
+# for coupled runs the lists should be declared explicilty
+if [ x$namelist_list = x ]; then
+#  minrank_list=(        0           )
+#  maxrank_list=(     65535          )
+#  incrank_list=(        1           )
+  minrank_list[0]=0
+  maxrank_list[0]=65535
+  incrank_list[0]=1
+  if [ x$atmo_namelist != x ]; then
+    # this is the atmo model
+    namelist_list[0]="$atmo_namelist"
+    modelname_list[0]="atmo"
+    modeltype_list[0]=1
+    run_atmo="true"
+  else
+    check_error 1 "No namelist is defined"
+  fi
+fi
+
+#-----------------------------------------------------------------------------
+# set some default values and derive some run parameteres
+restart=${restart:=".false."}
+restartSemaphoreFilename='isRestartRun.sem'
+#AUTOMATIC_RESTART_SETUP:
+if [ -f ${restartSemaphoreFilename} ]; then
+  restart=.true.
+  #  do not delete switch-file, to enable restart after unintended abort
+  #[[ -f ${restartSemaphoreFilename} ]] && rm ${restartSemaphoreFilename}
+fi
+#END AUTOMATIC_RESTART_SETUP
+#
+# wait 5min to let GPFS finish the write operations
+if [ "x$restart" != 'x.false.' -a "x$submit" != 'x' ]; then
+  if [ x$(df -T ${EXPDIR} | cut -d ' ' -f 2) = gpfs ]; then
+    sleep 10;
+  fi
+fi
+# fill some checks
+
+run_atmo=${run_atmo="false"}
+if [ x$atmo_namelist != x ]; then
+  run_atmo="true"
+fi
+#-----------------------------------------------------------------------------
+# get restart files
+
+if  [ x$restart_atmo_from != "x" ] ; then
+  rm -f restart_atm_DOM01.nc
+#  ln -s ${basedir}/experiments/${restart_from_folder}/${restart_atmo_from} ${EXPDIR}/restart_atm_DOM01.nc
+  cp ${basedir}/experiments/${restart_from_folder}/${restart_atmo_from} cp_restart_atm.nc
+  ln -s cp_restart_atm.nc restart_atm_DOM01.nc
+  restart=".true."
+fi
+if  [ x$restart_ocean_from != "x" ] ; then
+  rm -f restart_oce.nc
+#  ln -s ${basedir}/experiments/${restart_from_folder}/${restart_ocean_from} ${EXPDIR}/restart_oce.nc
+  cp ${basedir}/experiments/${restart_from_folder}/${restart_ocean_from} cp_restart_oce_DOM01.nc
+  ln -s cp_restart_oce_DOM01.nc restart_oce_DOM01.nc
+  restart=".true."
+fi
+#-----------------------------------------------------------------------------
+
+
+read_restart_namelists=${read_restart_namelists:=".true."}
+
+#-----------------------------------------------------------------------------
+#
+# create ICON master namelist
+# ------------------------
+# For a complete list see Namelist_overview and Namelist_overview.pdf
+
+#-----------------------------------------------------------------------------
+# create master_namelist
+master_namelist=icon_master.namelist
+if [ x$end_date = x ]; then
+cat > $master_namelist << EOF
+&master_nml
+ lrestart            = $restart
+/
+&master_time_control_nml
+ experimentStartDate  = "$start_date"
+ restartTimeIntval    = "$restart_interval"
+ checkpointTimeIntval = "$checkpoint_interval"
+/
+&time_nml
+ is_relative_time = .false.
+/
+EOF
+else
+if [ x$calendar = x ]; then
+  calendar='proleptic gregorian'
+  calendar_type=1
+else
+  calendar=$calendar
+  calendar_type=$calendar_type
+fi
+cat > $master_namelist << EOF
+&master_nml
+ lrestart            = $restart
+ read_restart_namelists = $read_restart_namelists
+/
+&master_time_control_nml
+ calendar             = "$calendar"
+ checkpointTimeIntval = "$checkpoint_interval"
+ restartTimeIntval    = "$restart_interval"
+ experimentStartDate  = "$start_date"
+ experimentStopDate   = "$end_date"
+/
+&time_nml
+ is_relative_time = .false.
+/
+EOF
+fi
+#-----------------------------------------------------------------------------
+
+
+#-----------------------------------------------------------------------------
+# add model component to master_namelist
+add_component_to_master_namelist()
+{
+
+  model_namelist_filename="$1"
+  model_name=$2
+  model_type=$3
+  model_min_rank=$4
+  model_max_rank=$5
+  model_inc_rank=$6
+
+cat >> $master_namelist << EOF
+&master_model_nml
+  model_name="$model_name"
+  model_namelist_filename="$model_namelist_filename"
+  model_type=$model_type
+  model_min_rank=$model_min_rank
+  model_max_rank=$model_max_rank
+  model_inc_rank=$model_inc_rank
+/
+EOF
+
+}
+#-----------------------------------------------------------------------------
+
+
+no_of_models=${#namelist_list[*]}
+echo "no_of_models=$no_of_models"
+
+j=0
+while [ $j -lt ${no_of_models} ]
+do
+  add_component_to_master_namelist "${namelist_list[$j]}" "${modelname_list[$j]}" ${modeltype_list[$j]} ${minrank_list[$j]} ${maxrank_list[$j]} ${incrank_list[$j]}
+  j=`expr ${j} + 1`
+done
+
+#-----------------------------------------------------------------------------
+#
+# get model
+#
+ls -l ${MODEL}
+check_error $? "${MODEL} does not exist?"
+#-----------------------------------------------------------------------------
+
+# start experiment
+
+rm -f finish.status
+date
+${START} ${MODEL}
+date
+#
+if [ -r finish.status ] ; then
+  check_final_status 0 "${START} ${MODEL}"
+else
+  check_final_status -1 "${START} ${MODEL}"
+fi
+#
+
+#-----------------------------------------------------------------------------
+#
+finish_status=`cat finish.status`
+echo $finish_status
+echo "============================"
+echo "Script run successfully: $finish_status"
+echo "============================"
+#-----------------------------------------------------------------------------
+namelist_list=""
+#-----------------------------------------------------------------------------
+# check if we have to restart, ie resubmit
+#   Note: this is a different mechanism from checking the restart
+if [ $finish_status = "RESTART" ]; then
+  echo "restart next experiment..."
+  this_script="${RUNSCRIPTDIR}/exp.${EXPNAME}.run"
+  echo 'this_script: ' "$this_script"
+  # note that if ${restartSemaphoreFilename} does not exist yet, then touch will create it
+  touch ${restartSemaphoreFilename}
+  cd ${RUNSCRIPTDIR}
+  sbatch exp.${EXPNAME}.run
+else
+  [[ -f ${restartSemaphoreFilename} ]] && rm ${restartSemaphoreFilename}
+fi
+#-----------------------------------------------------------------------------
+
+#-----------------------------------------------------------------------------
+
+cd ${RUNSCRIPTDIR}
+
+#-----------------------------------------------------------------------------
diff --git a/Scripts_for_running_simulations/exp.channel_80km_0004.run b/Scripts_for_running_simulations/exp.channel_80km_0004.run
new file mode 100644
index 0000000..5af7584
--- /dev/null
+++ b/Scripts_for_running_simulations/exp.channel_80km_0004.run
@@ -0,0 +1,672 @@
+#! /bin/ksh
+#=============================================================================
+
+# levante cpu batch job parameters
+
+#SBATCH --account=bb1152
+#SBATCH --job-name=80km0004
+#SBATCH --partition=compute
+#SBATCH --chdir=/home/b/b380906/icon-on-jet/run/runscripts/channel_80km_0004
+#SBATCH --nodes=5
+#SBATCH --threads-per-core=2
+# the following is needed to work around a bug that otherwise leads to
+# a too low number of ranks when using compute,compute2 as queue
+#SBATCH --mem=0
+#SBATCH --output=/home/b/b380906/icon-on-jet/run/runscripts/channel_80km_0004/LOG.channel_80km_0004.%j.o
+#SBATCH --error=/home/b/b380906/icon-on-jet/run/runscripts/channel_80km_0004/LOG.channel_80km_0004.%j.o
+#SBATCH --exclusive
+#SBATCH --time=00:30:00
+
+#=============================================================================
+set -x
+ulimit -s unlimited
+#=============================================================================
+# OpenMP environment variables
+# ----------------------------
+export OMP_NUM_THREADS=4
+export ICON_THREADS=$OMP_NUM_THREADS
+export OMP_SCHEDULE="guided"
+export OMP_DYNAMIC="false"
+export OMP_STACKSIZE=500M
+#
+# MPI variables
+# -------------
+no_of_nodes=${SLURM_JOB_NUM_NODES:=1}
+mpi_procs_pernode=$((128 / OMP_NUM_THREADS))
+((mpi_total_procs=no_of_nodes * mpi_procs_pernode))
+
+#=============================================================================
+
+# load local setting, if existing
+# -------------------------------
+if [ -a ../setting ]
+then
+  echo "Load Setting"
+  . ../setting
+fi
+
+# environment variables for the experiment and the target system
+# --------------------------------------------------------------
+
+export EXPNAME="atm_rte_rrtmgp_amip_test"
+export KMP_AFFINITY="granularity=fine,scatter"
+export KMP_LIBRARY="turnaround"
+export OMPI_MCA_pml="ucx"
+export OMPI_MCA_btl=self
+export OMPI_MCA_osc="pt2pt"
+export UCX_IB_ADDR_TYPE=ib_global
+export OMPI_MCA_coll="^ml"
+export OMPI_MCA_coll_hcoll_enable="1"
+export HCOLL_ENABLE_MCAST_ALL="1"
+export HCOLL_MAIN_IB=mlx5_0:1
+export UCX_NET_DEVICES=mlx5_0:1
+export UCX_TLS=mm,knem,cma,dc_mlx5,dc_x,self
+export UCX_UNIFIED_MODE=y
+export HDF5_USE_FILE_LOCKING=FALSE
+export OMPI_MCA_io="romio321"
+export MALLOC_TRIM_THRESHOLD_="-1"
+export MKL_ENABLE_INSTRUCTIONS=AVX2
+export MKL_DEBUG_CPU_TYPE=5
+export UCX_HANDLE_ERRORS=bt
+
+# load profile
+# ------------
+if [[ -a  /etc/profile ]]
+then
+        . /etc/profile
+fi
+
+#=============================================================================
+
+# directories with absolute paths
+# -------------------------------
+basedir="/home/b/b380906/icon-on-jet"
+export basedir
+
+# how to start the icon model
+mask="0xf,0xf0000,0xf00000000,0xf000000000000,0xf0000000000000000,0xf00000000000000000000,0xf000000000000000000000000,0xf0000000000000000000000000000,0xf0,0xf00000,0xf000000000,0xf0000000000000,0xf00000000000000000,0xf000000000000000000000,0xf0000000000000000000000000,0xf00000000000000000000000000000,0xf00,0xf000000,0xf0000000000,0xf00000000000000,0xf000000000000000000,0xf0000000000000000000000,0xf00000000000000000000000000,0xf000000000000000000000000000000,0xf000,0xf0000000,0xf00000000000,0xf000000000000000,0xf0000000000000000000,0xf00000000000000000000000,0xf000000000000000000000000000,0xf0000000000000000000000000000000"
+export START="srun -l --kill-on-bad-exit=1 --nodes=${SLURM_JOB_NUM_NODES:-1} --ntasks=$((no_of_nodes * mpi_procs_pernode)) --propagate=STACK,CORE --distribution=block:block --cpu-bind=v,mask_cpu=$mask "
+export MODEL="${basedir}/bin/icon"
+
+# how to submit the next job
+# --------------------------
+submit="sbatch"
+job_name="exp.channel_80km_0004.run"
+
+#=============================================================================
+
+ulimit -s $((4 * 1024 * 1024))
+ulimit -c 0
+
+#-----------------------------------------------------------------------------
+export EXPNAME="channel_80km_0004"
+
+# atmo namelist filename
+atmo_namelist=NAMELIST_${EXPNAME}_atm
+
+# directories definition
+RUNSCRIPTDIR=/home/b/b380906/icon-on-jet/run/runscripts/channel_80km_0004/  # run script directory
+
+#-----------------------------------------------------------------------------
+# global timing
+start_date="2021-01-01T00:00:00Z"
+end_date="2021-01-10T00:00:00Z" 
+
+# restart intervals
+checkpoint_interval="P20D"
+restart_interval="P40D"
+
+# output intervals
+output_interval="PT1H"
+file_interval="PT1H"
+
+#-----------------------------------------------------------------------------
+# model parameters
+model_equations=3             # equation system
+#                     1=hydrost. atm. T
+#                     1=hydrost. atm. theta dp
+#                     3=non-hydrost. atm.,
+#                     0=shallow water model
+#                    -1=hydrost. ocean
+#-----------------------------------------------------------------------------
+
+# experiment directory, with plenty of space, create if new
+
+EXPDIR=/scratch/b/b380906/${EXPNAME} 
+if [ ! -d ${EXPDIR} ] ;  then
+  mkdir -p ${EXPDIR}
+fi
+#
+ls -ld ${EXPDIR}
+if [ ! -d ${EXPDIR} ] ;  then
+    mkdir ${EXPDIR}
+fi
+ls -ld ${EXPDIR}
+check_error $? "${EXPDIR} does not exist?"
+
+cd ${EXPDIR}
+
+#-----------------------------------------------------------------------------
+# Link experiment initial files
+inputdir='/work/bb1152/Module_A/A6_CyclEx/input_data'
+# Grid
+ln -sf $inputdir/Channel_4000x9000_80000m_with_boundary.nc grid_DOM01.nc
+
+# Extpar
+ln -sf $inputdir/inputs_planar_channel_51x81_80km/extpar_remapped_12_months.nc extpar_DOM01.nc
+
+# Initial file
+ln -sf $inputdir/inputs_planar_channel_51x81_80km/lc1_ifs_Tanom_remapped.nc ifs2icon_init.nc
+
+# Ozone
+ln -sf $inputdir/inputs_planar_channel_51x81_80km/ape_O3_remapped.nc o3_icon_DOM01.nc
+
+# Model required files
+ln -sf $basedir/data/rrtmg_lw.nc              ./
+ln -sf $basedir/data/rrtmg_sw.nc              ./
+ln -sf $basedir/data/ECHAM6_CldOptProps.nc    ./
+
+#=============================================================================
+
+# create ICON namelist parameters
+
+cat > ${atmo_namelist} << EOF
+&parallel_nml
+ nproma         = 16  ! optimal setting 8 for CRAY; use 16 or 24 for IBM
+ p_test_run     = .false.
+ l_test_openmp  = .false.
+ l_log_checks   = .false.
+ num_io_procs   = 10   ! asynchronous output for values >= 1
+ itype_comm     = 1
+ iorder_sendrecv = 3  ! best value for CRAY (slightly faster than option 1)
+ num_prefetch_proc = 1
+/
+&grid_nml
+ dynamics_grid_filename  = 'grid_DOM01.nc'
+ dynamics_parent_grid_id = 0
+ lredgrid_phys           = .false.
+ is_plane_cylinder       = .TRUE.
+ l_limited_area          = .true.
+ corio_lat               = 45.0
+/
+&initicon_nml
+ init_mode   = 2           ! operation mode 2: IFS
+ ifs2icon_filename = 'ifs2icon_init.nc' 
+ zpbl1       = 500. 
+ zpbl2       = 1000.
+ l_sst_in    = .true. 
+/
+&limarea_nml
+ itype_latbc    = 0            ! fix
+/
+&run_nml
+ num_lev        = 90           ! 60
+ dtime          = 360  ! 360 for R2B5 180 for R2B7    
+ ldynamics      = .TRUE.
+ ltransport     = .true.
+ iforcing       = 3            ! NWP forcing
+ ltestcase      = .false.      ! false: run with real data
+ msg_level      = 7            ! print maximum wind speeds every 5 time steps
+ ltimer         = .false.      ! set .TRUE. for timer output
+ timers_level   = 1            ! can be increased up to 10 for detailed timer output
+ output         = "nml"
+/
+&nwp_phy_nml
+ inwp_gscp          = 1
+ inwp_convection    = 1
+! lshallowconv_only  = .true. ! use only shallow convection scheme
+ inwp_radiation     = 1
+ inwp_cldcover      = 1
+ inwp_turb          = 1
+ inwp_satad         = 1
+ inwp_sso           = 1
+ inwp_gwd           = 1
+ inwp_surface       = 1
+ icapdcycl          = 3
+ latm_above_top  = .false.  ! the second entry refers to the nested domain (if present)
+ efdt_min_raylfric = 7200.
+ ldetrain_conv_prec = .false.
+ itype_z0         = 2
+ icpl_aero_conv   = 0 
+ icpl_aero_gscp   = 0
+ ! resolution-dependent settings - please choose the appropriate one
+ dt_rad    = 720 
+ dt_conv   = 300 
+ dt_sso    = 300 
+ dt_gwd    = 300. 
+/
+&turbdiff_nml
+ tkhmin  = 0.75  
+ tkmmin  = 0.75             
+ pat_len = 100. !750.
+ c_diff  = 0.2
+ rat_sea = 10  
+ ltkesso = .true.
+ frcsmot = 0.2      
+ imode_frcsmot = 2  
+ itype_sher = 3    
+ ltkeshs    = .true.
+ a_hshr     = 2.0     
+/
+&lnd_nml
+ ntiles         = 3      !!! 1 for assimilation cycle and forecast
+ nlev_snow      = 3      !!! 1 for assimilation cycle and forecast
+ lmulti_snow    = .true. !!! .false. for assimilation cycle and forecast
+ itype_heatcond = 2
+ idiag_snowfrac = 2
+ lsnowtile      = .false.  !! later on .true. if GRIB encoding issues are solved
+ lseaice        = .true. !!Sophia Schäfer, 23/03/2017: reads in sea ice (e.g. zero ice), instead of setting by temperature
+ llake          = .false.
+ itype_lndtbl   = 3  ! minimizes moist/cold bias in lower tropical troposphere
+ itype_root     = 2  			        
+/
+&radiation_nml
+ irad_o3       = 4
+ irad_aero     = 0
+ irad_cfc11    = 0
+ irad_cfc12    = 0
+ albedo_type   = 2 ! Modis albedo
+ vmr_co2       = 348.0e-6 ! values representative for 2012
+ vmr_ch4       = 1650.0e-09
+ vmr_n2o       = 396.0e-09
+ vmr_o2        = 0.20946
+ izenith       = 3
+ vmr_cfc11     = 0
+ vmr_cfc12     = 0
+/
+&nonhydrostatic_nml
+ iadv_rhotheta  = 2
+ ivctype        = 2
+ itime_scheme   = 4
+ exner_expol    = 0.333
+ vwind_offctr   = 0.2
+ damp_height    = 50000.
+ rayleigh_coeff = 0.10   ! R3B7: 1.0 for forecasts, 5.0 in assimilation cycle; 0.5/2.5 for R2B6 (i.e. ensemble) runs
+ lhdiff_rcf     = .true.
+ divdamp_order  = 24    ! setting for forecast runs; use '2' for assimilation cycle
+ divdamp_type   = 32    ! ** new setting for assimilation and forecast runs **
+ divdamp_fac    = 0.004 ! use 0.032 in conjunction with divdamp_order = 2 in assimilation cycle
+ l_open_ubc     = .false.
+ igradp_method  = 3
+ l_zdiffu_t     = .true.
+ thslp_zdiffu   = 0.02
+ thhgtd_zdiffu  = 125.
+ htop_moist_proc= 22500.
+ hbot_qvsubstep = 22500. ! use 22500. with R2B6
+/
+&nudging_nml
+ nudge_type  = 0
+ max_nudge_coeff_vn = 0.00000
+/
+&sleve_nml
+ min_lay_thckn   = 20.
+ max_lay_thckn   = 400.   ! maximum layer thickness below htop_thcknlimit
+ htop_thcknlimit = 14000. ! this implies that the upcoming COSMO-EU nest will have 60 levels
+ top_height      = 75000.
+ stretch_fac     = 0.9
+ decay_scale_1   = 4000.
+ decay_scale_2   = 2500.
+ decay_exp       = 1.2
+ flat_height     = 16000.
+/
+&dynamics_nml
+ iequations     = 3
+ idiv_method    = 1
+ divavg_cntrwgt = 0.50
+ !lcoriolis      = .TRUE.
+/
+&transport_nml
+ ctracer_list  = '12345'
+ ivadv_tracer  = 3,3,3,3,3
+ itype_hlimit  = 3,4,4,4,4
+ ihadv_tracer  = 52,2,2,2,2
+ iadv_tke      = 0
+/
+&diffusion_nml
+ hdiff_order      = 5
+ itype_vn_diffu   = 1
+ itype_t_diffu    = 2
+ hdiff_efdt_ratio = 24.0
+ hdiff_smag_fac   = 0.025
+ lhdiff_vn        = .TRUE.
+ lhdiff_temp      = .TRUE.
+/
+&interpol_nml
+ nudge_zone_width  = 0.0  ! deactivating nudging as needed for mass conservation for this setup 
+ nudge_efold_width = 0.0
+ nudge_max_coeff   = 0.00000
+ lsq_high_ord      = 3
+ l_intp_c2l        = .true.
+ l_mono_c2l        = .true.
+ support_baryctr_intp = .false.
+ rbf_vec_scale_c   = 0.3,  0.1,  0.03
+ rbf_vec_scale_v   = 0.4,  0.25, 0.07
+ rbf_vec_scale_e   = 0.45, 0.37, 0.25
+/
+&extpar_nml
+ itopo                = 1
+ extpar_filename      = 'extpar_DOM01.nc'
+ n_iter_smooth_topo   = 1         
+ heightdiff_threshold = 3000.
+/
+&io_nml
+ itype_pres_msl = 5  ! 4 New extrapolation method to circumvent Ninjo problem with surface inversions
+ itype_rh       = 1  ! RH w.r.t. water
+ restart_file_type = 5       ! 4: netcdf2, 5: netcdf4
+/
+&nh_pzlev_nml
+ nplev             = 18     ! number of p level output (attention: levels in [Pa] and top-down)
+ nzlev             = 20     ! number of z level output (attention: levels in [m] and top-down)
+ plevels           = 5000,7000,10000,15000,20000,25000,30000,40000,50000,60000,70000,
+                     80000,85000,90000,92500,95000,97500,100000
+ zlevels           = 25000,20000,18000,16000,14000,12000,10000,8000,6000,5000,4000,3000,2000,
+                     1000,800,600,400,200,100,10
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1         
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-atm3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'pres','qc','qi','qv','rho','temp','u','v','w','vn','z_ifc','vor','rh','pv','omega','geopot','div','cape','tke'
+ remap            = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1         
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-cld3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'clc','tot_qv_dia','tot_qc_dia','tot_qi_dia','pres'
+ remap            = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                      ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}" 
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-rad3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'lwflxall', 'lwflx_dn_clr','lwflx_up_clr','swflx_dn_clr','swflx_up_clr','swflx_up','swflx_dn','pres'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                      ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-ddt3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'ddt_temp_totnwpphy','ddt_temp_radsw','ddt_temp_radlw','ddt_temp_turb','ddt_temp_pconv','ddt_temp_drag','ddt_temp_satad','ddt_temp_diff','ddt_temp_dyn','ddt_temp_gscp','pres'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5              ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                       ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 = .FALSE.
+ output_filename              = 'icon-atm2d'   ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'pres_msl','pres_sfc','ddt_pres_sfc','u_10m','v_10m','t_g','t_2m','qv_2m','td_2m','rh_2m','group:precip_vars','rain_gsp_rate','rain_con_rate','cape_ml','cin_ml','clct','clch','clcm','clcl','tqv_dia','tqc_dia','tqi_dia','tqv','tqc','tqi','tqr','shfl_s','lhfl_s','qhfl_s','w_so'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5              ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                       ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 = .FALSE.
+ output_filename              = 'icon-rad2d'   ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'sob_t','thb_t','sob_s','thb_s','thbclr_s','sobclr_s'
+ remap                        = 0
+/
+&output_nml
+ output_filename  = "icon-extra"
+ filename_format  = "<output_filename>_<levtype_l>"
+ filetype         = 5
+ remap            = 0
+ output_grid      = .TRUE.
+ output_start     = "${start_date}"          ! output_start = output_end
+ output_end       = "${start_date}"          ! --> write once only irrespective of
+ output_interval  = "PT1H"  !     the output interval and
+ file_interval    = "${file_interval}"    !     the file interval
+ ml_varlist       = 'z_mc','t_seasfc'
+/
+EOF
+
+#=============================================================================
+#
+# This section of the run script prepares and starts the model integration. 
+#-----------------------------------------------------------------------------
+
+final_status_file=${EXPDIR}/${job_name}.final_status
+rm -f ${final_status_file}
+#-----------------------------------------------------------------------------
+
+# set up the model lists if they do not exist
+# this works for single model runs
+# for coupled runs the lists should be declared explicilty
+if [ x$namelist_list = x ]; then
+#  minrank_list=(        0           )
+#  maxrank_list=(     65535          )
+#  incrank_list=(        1           )
+  minrank_list[0]=0
+  maxrank_list[0]=65535
+  incrank_list[0]=1
+  if [ x$atmo_namelist != x ]; then
+    # this is the atmo model
+    namelist_list[0]="$atmo_namelist"
+    modelname_list[0]="atmo"
+    modeltype_list[0]=1
+    run_atmo="true"
+  else
+    check_error 1 "No namelist is defined"
+  fi
+fi
+
+#-----------------------------------------------------------------------------
+# set some default values and derive some run parameteres
+restart=${restart:=".false."}
+restartSemaphoreFilename='isRestartRun.sem'
+#AUTOMATIC_RESTART_SETUP:
+if [ -f ${restartSemaphoreFilename} ]; then
+  restart=.true.
+  #  do not delete switch-file, to enable restart after unintended abort
+  #[[ -f ${restartSemaphoreFilename} ]] && rm ${restartSemaphoreFilename}
+fi
+#END AUTOMATIC_RESTART_SETUP
+#
+# wait 5min to let GPFS finish the write operations
+if [ "x$restart" != 'x.false.' -a "x$submit" != 'x' ]; then
+  if [ x$(df -T ${EXPDIR} | cut -d ' ' -f 2) = gpfs ]; then
+    sleep 10;
+  fi
+fi
+# fill some checks
+
+run_atmo=${run_atmo="false"}
+if [ x$atmo_namelist != x ]; then
+  run_atmo="true"
+fi
+#-----------------------------------------------------------------------------
+# get restart files
+
+if  [ x$restart_atmo_from != "x" ] ; then
+  rm -f restart_atm_DOM01.nc
+#  ln -s ${basedir}/experiments/${restart_from_folder}/${restart_atmo_from} ${EXPDIR}/restart_atm_DOM01.nc
+  cp ${basedir}/experiments/${restart_from_folder}/${restart_atmo_from} cp_restart_atm.nc
+  ln -s cp_restart_atm.nc restart_atm_DOM01.nc
+  restart=".true."
+fi
+if  [ x$restart_ocean_from != "x" ] ; then
+  rm -f restart_oce.nc
+#  ln -s ${basedir}/experiments/${restart_from_folder}/${restart_ocean_from} ${EXPDIR}/restart_oce.nc
+  cp ${basedir}/experiments/${restart_from_folder}/${restart_ocean_from} cp_restart_oce_DOM01.nc
+  ln -s cp_restart_oce_DOM01.nc restart_oce_DOM01.nc
+  restart=".true."
+fi
+#-----------------------------------------------------------------------------
+
+
+read_restart_namelists=${read_restart_namelists:=".true."}
+
+#-----------------------------------------------------------------------------
+#
+# create ICON master namelist
+# ------------------------
+# For a complete list see Namelist_overview and Namelist_overview.pdf
+
+#-----------------------------------------------------------------------------
+# create master_namelist
+master_namelist=icon_master.namelist
+if [ x$end_date = x ]; then
+cat > $master_namelist << EOF
+&master_nml
+ lrestart            = $restart
+/
+&master_time_control_nml
+ experimentStartDate  = "$start_date"
+ restartTimeIntval    = "$restart_interval"
+ checkpointTimeIntval = "$checkpoint_interval"
+/
+&time_nml
+ is_relative_time = .false.
+/
+EOF
+else
+if [ x$calendar = x ]; then
+  calendar='proleptic gregorian'
+  calendar_type=1
+else
+  calendar=$calendar
+  calendar_type=$calendar_type
+fi
+cat > $master_namelist << EOF
+&master_nml
+ lrestart            = $restart
+ read_restart_namelists = $read_restart_namelists
+/
+&master_time_control_nml
+ calendar             = "$calendar"
+ checkpointTimeIntval = "$checkpoint_interval"
+ restartTimeIntval    = "$restart_interval"
+ experimentStartDate  = "$start_date"
+ experimentStopDate   = "$end_date"
+/
+&time_nml
+ is_relative_time = .false.
+/
+EOF
+fi
+#-----------------------------------------------------------------------------
+
+
+#-----------------------------------------------------------------------------
+# add model component to master_namelist
+add_component_to_master_namelist()
+{
+
+  model_namelist_filename="$1"
+  model_name=$2
+  model_type=$3
+  model_min_rank=$4
+  model_max_rank=$5
+  model_inc_rank=$6
+
+cat >> $master_namelist << EOF
+&master_model_nml
+  model_name="$model_name"
+  model_namelist_filename="$model_namelist_filename"
+  model_type=$model_type
+  model_min_rank=$model_min_rank
+  model_max_rank=$model_max_rank
+  model_inc_rank=$model_inc_rank
+/
+EOF
+
+}
+#-----------------------------------------------------------------------------
+
+
+no_of_models=${#namelist_list[*]}
+echo "no_of_models=$no_of_models"
+
+j=0
+while [ $j -lt ${no_of_models} ]
+do
+  add_component_to_master_namelist "${namelist_list[$j]}" "${modelname_list[$j]}" ${modeltype_list[$j]} ${minrank_list[$j]} ${maxrank_list[$j]} ${incrank_list[$j]}
+  j=`expr ${j} + 1`
+done
+
+#-----------------------------------------------------------------------------
+#
+# get model
+#
+ls -l ${MODEL}
+check_error $? "${MODEL} does not exist?"
+#-----------------------------------------------------------------------------
+
+# start experiment
+
+rm -f finish.status
+date
+${START} ${MODEL}
+date
+#
+if [ -r finish.status ] ; then
+  check_final_status 0 "${START} ${MODEL}"
+else
+  check_final_status -1 "${START} ${MODEL}"
+fi
+#
+
+#-----------------------------------------------------------------------------
+#
+finish_status=`cat finish.status`
+echo $finish_status
+echo "============================"
+echo "Script run successfully: $finish_status"
+echo "============================"
+#-----------------------------------------------------------------------------
+namelist_list=""
+#-----------------------------------------------------------------------------
+# check if we have to restart, ie resubmit
+#   Note: this is a different mechanism from checking the restart
+if [ $finish_status = "RESTART" ]; then
+  echo "restart next experiment..."
+  this_script="${RUNSCRIPTDIR}/exp.${EXPNAME}.run"
+  echo 'this_script: ' "$this_script"
+  # note that if ${restartSemaphoreFilename} does not exist yet, then touch will create it
+  touch ${restartSemaphoreFilename}
+  cd ${RUNSCRIPTDIR}
+  sbatch exp.${EXPNAME}.run
+else
+  [[ -f ${restartSemaphoreFilename} ]] && rm ${restartSemaphoreFilename}
+fi
+#-----------------------------------------------------------------------------
+
+#-----------------------------------------------------------------------------
+
+cd ${RUNSCRIPTDIR}
+
+#-----------------------------------------------------------------------------
diff --git a/Scripts_for_running_simulations/exp.channel_80km_0005.run b/Scripts_for_running_simulations/exp.channel_80km_0005.run
new file mode 100644
index 0000000..004719a
--- /dev/null
+++ b/Scripts_for_running_simulations/exp.channel_80km_0005.run
@@ -0,0 +1,672 @@
+#! /bin/ksh
+#=============================================================================
+
+# levante cpu batch job parameters
+
+#SBATCH --account=bb1152
+#SBATCH --job-name=80km0005
+#SBATCH --partition=compute
+#SBATCH --chdir=/home/b/b380906/icon-on-jet/run/runscripts/channel_80km_0005
+#SBATCH --nodes=5
+#SBATCH --threads-per-core=2
+# the following is needed to work around a bug that otherwise leads to
+# a too low number of ranks when using compute,compute2 as queue
+#SBATCH --mem=0
+#SBATCH --output=/home/b/b380906/icon-on-jet/run/runscripts/channel_80km_0005/LOG.channel_80km_0005.%j.o
+#SBATCH --error=/home/b/b380906/icon-on-jet/run/runscripts/channel_80km_0005/LOG.channel_80km_0005.%j.o
+#SBATCH --exclusive
+#SBATCH --time=00:30:00
+
+#=============================================================================
+set -x
+ulimit -s unlimited
+#=============================================================================
+# OpenMP environment variables
+# ----------------------------
+export OMP_NUM_THREADS=4
+export ICON_THREADS=$OMP_NUM_THREADS
+export OMP_SCHEDULE="guided"
+export OMP_DYNAMIC="false"
+export OMP_STACKSIZE=500M
+#
+# MPI variables
+# -------------
+no_of_nodes=${SLURM_JOB_NUM_NODES:=1}
+mpi_procs_pernode=$((128 / OMP_NUM_THREADS))
+((mpi_total_procs=no_of_nodes * mpi_procs_pernode))
+
+#=============================================================================
+
+# load local setting, if existing
+# -------------------------------
+if [ -a ../setting ]
+then
+  echo "Load Setting"
+  . ../setting
+fi
+
+# environment variables for the experiment and the target system
+# --------------------------------------------------------------
+
+export EXPNAME="atm_rte_rrtmgp_amip_test"
+export KMP_AFFINITY="granularity=fine,scatter"
+export KMP_LIBRARY="turnaround"
+export OMPI_MCA_pml="ucx"
+export OMPI_MCA_btl=self
+export OMPI_MCA_osc="pt2pt"
+export UCX_IB_ADDR_TYPE=ib_global
+export OMPI_MCA_coll="^ml"
+export OMPI_MCA_coll_hcoll_enable="1"
+export HCOLL_ENABLE_MCAST_ALL="1"
+export HCOLL_MAIN_IB=mlx5_0:1
+export UCX_NET_DEVICES=mlx5_0:1
+export UCX_TLS=mm,knem,cma,dc_mlx5,dc_x,self
+export UCX_UNIFIED_MODE=y
+export HDF5_USE_FILE_LOCKING=FALSE
+export OMPI_MCA_io="romio321"
+export MALLOC_TRIM_THRESHOLD_="-1"
+export MKL_ENABLE_INSTRUCTIONS=AVX2
+export MKL_DEBUG_CPU_TYPE=5
+export UCX_HANDLE_ERRORS=bt
+
+# load profile
+# ------------
+if [[ -a  /etc/profile ]]
+then
+        . /etc/profile
+fi
+
+#=============================================================================
+
+# directories with absolute paths
+# -------------------------------
+basedir="/home/b/b380906/icon-on-jet"
+export basedir
+
+# how to start the icon model
+mask="0xf,0xf0000,0xf00000000,0xf000000000000,0xf0000000000000000,0xf00000000000000000000,0xf000000000000000000000000,0xf0000000000000000000000000000,0xf0,0xf00000,0xf000000000,0xf0000000000000,0xf00000000000000000,0xf000000000000000000000,0xf0000000000000000000000000,0xf00000000000000000000000000000,0xf00,0xf000000,0xf0000000000,0xf00000000000000,0xf000000000000000000,0xf0000000000000000000000,0xf00000000000000000000000000,0xf000000000000000000000000000000,0xf000,0xf0000000,0xf00000000000,0xf000000000000000,0xf0000000000000000000,0xf00000000000000000000000,0xf000000000000000000000000000,0xf0000000000000000000000000000000"
+export START="srun -l --kill-on-bad-exit=1 --nodes=${SLURM_JOB_NUM_NODES:-1} --ntasks=$((no_of_nodes * mpi_procs_pernode)) --propagate=STACK,CORE --distribution=block:block --cpu-bind=v,mask_cpu=$mask "
+export MODEL="${basedir}/bin/icon"
+
+# how to submit the next job
+# --------------------------
+submit="sbatch"
+job_name="exp.channel_80km_0005.run"
+
+#=============================================================================
+
+ulimit -s $((4 * 1024 * 1024))
+ulimit -c 0
+
+#-----------------------------------------------------------------------------
+export EXPNAME="channel_80km_0005"
+
+# atmo namelist filename
+atmo_namelist=NAMELIST_${EXPNAME}_atm
+
+# directories definition
+RUNSCRIPTDIR=/home/b/b380906/icon-on-jet/run/runscripts/channel_80km_0005/  # run script directory
+
+#-----------------------------------------------------------------------------
+# global timing
+start_date="2021-01-01T00:00:00Z"
+end_date="2021-01-10T00:00:00Z" 
+
+# restart intervals
+checkpoint_interval="P20D"
+restart_interval="P40D"
+
+# output intervals
+output_interval="PT1H"
+file_interval="PT1H"
+
+#-----------------------------------------------------------------------------
+# model parameters
+model_equations=3             # equation system
+#                     1=hydrost. atm. T
+#                     1=hydrost. atm. theta dp
+#                     3=non-hydrost. atm.,
+#                     0=shallow water model
+#                    -1=hydrost. ocean
+#-----------------------------------------------------------------------------
+
+# experiment directory, with plenty of space, create if new
+
+EXPDIR=/scratch/b/b380906/${EXPNAME} 
+if [ ! -d ${EXPDIR} ] ;  then
+  mkdir -p ${EXPDIR}
+fi
+#
+ls -ld ${EXPDIR}
+if [ ! -d ${EXPDIR} ] ;  then
+    mkdir ${EXPDIR}
+fi
+ls -ld ${EXPDIR}
+check_error $? "${EXPDIR} does not exist?"
+
+cd ${EXPDIR}
+
+#-----------------------------------------------------------------------------
+# Link experiment initial files
+inputdir='/work/bb1152/Module_A/A6_CyclEx/input_data'
+# Grid
+ln -sf $inputdir/Channel_4000x9000_80000m_with_boundary.nc grid_DOM01.nc
+
+# Extpar
+ln -sf $inputdir/inputs_planar_channel_51x81_80km/extpar_remapped_12_months.nc extpar_DOM01.nc
+
+# Initial file
+ln -sf $inputdir/inputs_planar_channel_51x81_80km/lc1_ifs_Tanom_tropics_linear_remapped.nc ifs2icon_init.nc
+
+# Ozone
+ln -sf $inputdir/inputs_planar_channel_51x81_80km/ape_O3_remapped.nc o3_icon_DOM01.nc
+
+# Model required files
+ln -sf $basedir/data/rrtmg_lw.nc              ./
+ln -sf $basedir/data/rrtmg_sw.nc              ./
+ln -sf $basedir/data/ECHAM6_CldOptProps.nc    ./
+
+#=============================================================================
+
+# create ICON namelist parameters
+
+cat > ${atmo_namelist} << EOF
+&parallel_nml
+ nproma         = 16  ! optimal setting 8 for CRAY; use 16 or 24 for IBM
+ p_test_run     = .false.
+ l_test_openmp  = .false.
+ l_log_checks   = .false.
+ num_io_procs   = 10   ! asynchronous output for values >= 1
+ itype_comm     = 1
+ iorder_sendrecv = 3  ! best value for CRAY (slightly faster than option 1)
+ num_prefetch_proc = 1
+/
+&grid_nml
+ dynamics_grid_filename  = 'grid_DOM01.nc'
+ dynamics_parent_grid_id = 0
+ lredgrid_phys           = .false.
+ is_plane_cylinder       = .TRUE.
+ l_limited_area          = .true.
+ corio_lat               = 45.0
+/
+&initicon_nml
+ init_mode   = 2           ! operation mode 2: IFS
+ ifs2icon_filename = 'ifs2icon_init.nc' 
+ zpbl1       = 500. 
+ zpbl2       = 1000.
+ l_sst_in    = .true. 
+/
+&limarea_nml
+ itype_latbc    = 0            ! fix
+/
+&run_nml
+ num_lev        = 90           ! 60
+ dtime          = 360  ! 360 for R2B5 180 for R2B7    
+ ldynamics      = .TRUE.
+ ltransport     = .true.
+ iforcing       = 3            ! NWP forcing
+ ltestcase      = .false.      ! false: run with real data
+ msg_level      = 7            ! print maximum wind speeds every 5 time steps
+ ltimer         = .false.      ! set .TRUE. for timer output
+ timers_level   = 1            ! can be increased up to 10 for detailed timer output
+ output         = "nml"
+/
+&nwp_phy_nml
+ inwp_gscp          = 1
+ inwp_convection    = 1
+! lshallowconv_only  = .true. ! use only shallow convection scheme
+ inwp_radiation     = 1
+ inwp_cldcover      = 1
+ inwp_turb          = 1
+ inwp_satad         = 1
+ inwp_sso           = 1
+ inwp_gwd           = 1
+ inwp_surface       = 1
+ icapdcycl          = 3
+ latm_above_top  = .false.  ! the second entry refers to the nested domain (if present)
+ efdt_min_raylfric = 7200.
+ ldetrain_conv_prec = .false.
+ itype_z0         = 2
+ icpl_aero_conv   = 0 
+ icpl_aero_gscp   = 0
+ ! resolution-dependent settings - please choose the appropriate one
+ dt_rad    = 720 
+ dt_conv   = 300 
+ dt_sso    = 300 
+ dt_gwd    = 300. 
+/
+&turbdiff_nml
+ tkhmin  = 0.75  
+ tkmmin  = 0.75             
+ pat_len = 100. !750.
+ c_diff  = 0.2
+ rat_sea = 10  
+ ltkesso = .true.
+ frcsmot = 0.2      
+ imode_frcsmot = 2  
+ itype_sher = 3    
+ ltkeshs    = .true.
+ a_hshr     = 2.0     
+/
+&lnd_nml
+ ntiles         = 3      !!! 1 for assimilation cycle and forecast
+ nlev_snow      = 3      !!! 1 for assimilation cycle and forecast
+ lmulti_snow    = .true. !!! .false. for assimilation cycle and forecast
+ itype_heatcond = 2
+ idiag_snowfrac = 2
+ lsnowtile      = .false.  !! later on .true. if GRIB encoding issues are solved
+ lseaice        = .true. !!Sophia Schäfer, 23/03/2017: reads in sea ice (e.g. zero ice), instead of setting by temperature
+ llake          = .false.
+ itype_lndtbl   = 3  ! minimizes moist/cold bias in lower tropical troposphere
+ itype_root     = 2  			        
+/
+&radiation_nml
+ irad_o3       = 4
+ irad_aero     = 0
+ irad_cfc11    = 0
+ irad_cfc12    = 0
+ albedo_type   = 2 ! Modis albedo
+ vmr_co2       = 348.0e-6 ! values representative for 2012
+ vmr_ch4       = 1650.0e-09
+ vmr_n2o       = 396.0e-09
+ vmr_o2        = 0.20946
+ izenith       = 3
+ vmr_cfc11     = 0
+ vmr_cfc12     = 0
+/
+&nonhydrostatic_nml
+ iadv_rhotheta  = 2
+ ivctype        = 2
+ itime_scheme   = 4
+ exner_expol    = 0.333
+ vwind_offctr   = 0.2
+ damp_height    = 50000.
+ rayleigh_coeff = 0.10   ! R3B7: 1.0 for forecasts, 5.0 in assimilation cycle; 0.5/2.5 for R2B6 (i.e. ensemble) runs
+ lhdiff_rcf     = .true.
+ divdamp_order  = 24    ! setting for forecast runs; use '2' for assimilation cycle
+ divdamp_type   = 32    ! ** new setting for assimilation and forecast runs **
+ divdamp_fac    = 0.004 ! use 0.032 in conjunction with divdamp_order = 2 in assimilation cycle
+ l_open_ubc     = .false.
+ igradp_method  = 3
+ l_zdiffu_t     = .true.
+ thslp_zdiffu   = 0.02
+ thhgtd_zdiffu  = 125.
+ htop_moist_proc= 22500.
+ hbot_qvsubstep = 22500. ! use 22500. with R2B6
+/
+&nudging_nml
+ nudge_type  = 0
+ max_nudge_coeff_vn = 0.00000
+/
+&sleve_nml
+ min_lay_thckn   = 20.
+ max_lay_thckn   = 400.   ! maximum layer thickness below htop_thcknlimit
+ htop_thcknlimit = 14000. ! this implies that the upcoming COSMO-EU nest will have 60 levels
+ top_height      = 75000.
+ stretch_fac     = 0.9
+ decay_scale_1   = 4000.
+ decay_scale_2   = 2500.
+ decay_exp       = 1.2
+ flat_height     = 16000.
+/
+&dynamics_nml
+ iequations     = 3
+ idiv_method    = 1
+ divavg_cntrwgt = 0.50
+ !lcoriolis      = .TRUE.
+/
+&transport_nml
+ ctracer_list  = '12345'
+ ivadv_tracer  = 3,3,3,3,3
+ itype_hlimit  = 3,4,4,4,4
+ ihadv_tracer  = 52,2,2,2,2
+ iadv_tke      = 0
+/
+&diffusion_nml
+ hdiff_order      = 5
+ itype_vn_diffu   = 1
+ itype_t_diffu    = 2
+ hdiff_efdt_ratio = 24.0
+ hdiff_smag_fac   = 0.025
+ lhdiff_vn        = .TRUE.
+ lhdiff_temp      = .TRUE.
+/
+&interpol_nml
+ nudge_zone_width  = 0.0  ! deactivating nudging as needed for mass conservation for this setup 
+ nudge_efold_width = 0.0
+ nudge_max_coeff   = 0.00000
+ lsq_high_ord      = 3
+ l_intp_c2l        = .true.
+ l_mono_c2l        = .true.
+ support_baryctr_intp = .false.
+ rbf_vec_scale_c   = 0.3,  0.1,  0.03
+ rbf_vec_scale_v   = 0.4,  0.25, 0.07
+ rbf_vec_scale_e   = 0.45, 0.37, 0.25
+/
+&extpar_nml
+ itopo                = 1
+ extpar_filename      = 'extpar_DOM01.nc'
+ n_iter_smooth_topo   = 1         
+ heightdiff_threshold = 3000.
+/
+&io_nml
+ itype_pres_msl = 5  ! 4 New extrapolation method to circumvent Ninjo problem with surface inversions
+ itype_rh       = 1  ! RH w.r.t. water
+ restart_file_type = 5       ! 4: netcdf2, 5: netcdf4
+/
+&nh_pzlev_nml
+ nplev             = 18     ! number of p level output (attention: levels in [Pa] and top-down)
+ nzlev             = 20     ! number of z level output (attention: levels in [m] and top-down)
+ plevels           = 5000,7000,10000,15000,20000,25000,30000,40000,50000,60000,70000,
+                     80000,85000,90000,92500,95000,97500,100000
+ zlevels           = 25000,20000,18000,16000,14000,12000,10000,8000,6000,5000,4000,3000,2000,
+                     1000,800,600,400,200,100,10
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1         
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-atm3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'pres','qc','qi','qv','rho','temp','u','v','w','vn','z_ifc','vor','rh','pv','omega','geopot','div','cape','tke'
+ remap            = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1         
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-cld3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'clc','tot_qv_dia','tot_qc_dia','tot_qi_dia','pres'
+ remap            = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                      ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}" 
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-rad3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'lwflxall', 'lwflx_dn_clr','lwflx_up_clr','swflx_dn_clr','swflx_up_clr','swflx_up','swflx_dn','pres'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                      ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-ddt3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'ddt_temp_totnwpphy','ddt_temp_radsw','ddt_temp_radlw','ddt_temp_turb','ddt_temp_pconv','ddt_temp_drag','ddt_temp_satad','ddt_temp_diff','ddt_temp_dyn','ddt_temp_gscp','pres'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5              ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                       ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 = .FALSE.
+ output_filename              = 'icon-atm2d'   ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'pres_msl','pres_sfc','ddt_pres_sfc','u_10m','v_10m','t_g','t_2m','qv_2m','td_2m','rh_2m','group:precip_vars','rain_gsp_rate','rain_con_rate','cape_ml','cin_ml','clct','clch','clcm','clcl','tqv_dia','tqc_dia','tqi_dia','tqv','tqc','tqi','tqr','shfl_s','lhfl_s','qhfl_s','w_so'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5              ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                       ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 = .FALSE.
+ output_filename              = 'icon-rad2d'   ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'sob_t','thb_t','sob_s','thb_s','thbclr_s','sobclr_s'
+ remap                        = 0
+/
+&output_nml
+ output_filename  = "icon-extra"
+ filename_format  = "<output_filename>_<levtype_l>"
+ filetype         = 5
+ remap            = 0
+ output_grid      = .TRUE.
+ output_start     = "${start_date}"          ! output_start = output_end
+ output_end       = "${start_date}"          ! --> write once only irrespective of
+ output_interval  = "PT1H"  !     the output interval and
+ file_interval    = "${file_interval}"    !     the file interval
+ ml_varlist       = 'z_mc','t_seasfc'
+/
+EOF
+
+#=============================================================================
+#
+# This section of the run script prepares and starts the model integration. 
+#-----------------------------------------------------------------------------
+
+final_status_file=${EXPDIR}/${job_name}.final_status
+rm -f ${final_status_file}
+#-----------------------------------------------------------------------------
+
+# set up the model lists if they do not exist
+# this works for single model runs
+# for coupled runs the lists should be declared explicilty
+if [ x$namelist_list = x ]; then
+#  minrank_list=(        0           )
+#  maxrank_list=(     65535          )
+#  incrank_list=(        1           )
+  minrank_list[0]=0
+  maxrank_list[0]=65535
+  incrank_list[0]=1
+  if [ x$atmo_namelist != x ]; then
+    # this is the atmo model
+    namelist_list[0]="$atmo_namelist"
+    modelname_list[0]="atmo"
+    modeltype_list[0]=1
+    run_atmo="true"
+  else
+    check_error 1 "No namelist is defined"
+  fi
+fi
+
+#-----------------------------------------------------------------------------
+# set some default values and derive some run parameteres
+restart=${restart:=".false."}
+restartSemaphoreFilename='isRestartRun.sem'
+#AUTOMATIC_RESTART_SETUP:
+if [ -f ${restartSemaphoreFilename} ]; then
+  restart=.true.
+  #  do not delete switch-file, to enable restart after unintended abort
+  #[[ -f ${restartSemaphoreFilename} ]] && rm ${restartSemaphoreFilename}
+fi
+#END AUTOMATIC_RESTART_SETUP
+#
+# wait 5min to let GPFS finish the write operations
+if [ "x$restart" != 'x.false.' -a "x$submit" != 'x' ]; then
+  if [ x$(df -T ${EXPDIR} | cut -d ' ' -f 2) = gpfs ]; then
+    sleep 10;
+  fi
+fi
+# fill some checks
+
+run_atmo=${run_atmo="false"}
+if [ x$atmo_namelist != x ]; then
+  run_atmo="true"
+fi
+#-----------------------------------------------------------------------------
+# get restart files
+
+if  [ x$restart_atmo_from != "x" ] ; then
+  rm -f restart_atm_DOM01.nc
+#  ln -s ${basedir}/experiments/${restart_from_folder}/${restart_atmo_from} ${EXPDIR}/restart_atm_DOM01.nc
+  cp ${basedir}/experiments/${restart_from_folder}/${restart_atmo_from} cp_restart_atm.nc
+  ln -s cp_restart_atm.nc restart_atm_DOM01.nc
+  restart=".true."
+fi
+if  [ x$restart_ocean_from != "x" ] ; then
+  rm -f restart_oce.nc
+#  ln -s ${basedir}/experiments/${restart_from_folder}/${restart_ocean_from} ${EXPDIR}/restart_oce.nc
+  cp ${basedir}/experiments/${restart_from_folder}/${restart_ocean_from} cp_restart_oce_DOM01.nc
+  ln -s cp_restart_oce_DOM01.nc restart_oce_DOM01.nc
+  restart=".true."
+fi
+#-----------------------------------------------------------------------------
+
+
+read_restart_namelists=${read_restart_namelists:=".true."}
+
+#-----------------------------------------------------------------------------
+#
+# create ICON master namelist
+# ------------------------
+# For a complete list see Namelist_overview and Namelist_overview.pdf
+
+#-----------------------------------------------------------------------------
+# create master_namelist
+master_namelist=icon_master.namelist
+if [ x$end_date = x ]; then
+cat > $master_namelist << EOF
+&master_nml
+ lrestart            = $restart
+/
+&master_time_control_nml
+ experimentStartDate  = "$start_date"
+ restartTimeIntval    = "$restart_interval"
+ checkpointTimeIntval = "$checkpoint_interval"
+/
+&time_nml
+ is_relative_time = .false.
+/
+EOF
+else
+if [ x$calendar = x ]; then
+  calendar='proleptic gregorian'
+  calendar_type=1
+else
+  calendar=$calendar
+  calendar_type=$calendar_type
+fi
+cat > $master_namelist << EOF
+&master_nml
+ lrestart            = $restart
+ read_restart_namelists = $read_restart_namelists
+/
+&master_time_control_nml
+ calendar             = "$calendar"
+ checkpointTimeIntval = "$checkpoint_interval"
+ restartTimeIntval    = "$restart_interval"
+ experimentStartDate  = "$start_date"
+ experimentStopDate   = "$end_date"
+/
+&time_nml
+ is_relative_time = .false.
+/
+EOF
+fi
+#-----------------------------------------------------------------------------
+
+
+#-----------------------------------------------------------------------------
+# add model component to master_namelist
+add_component_to_master_namelist()
+{
+
+  model_namelist_filename="$1"
+  model_name=$2
+  model_type=$3
+  model_min_rank=$4
+  model_max_rank=$5
+  model_inc_rank=$6
+
+cat >> $master_namelist << EOF
+&master_model_nml
+  model_name="$model_name"
+  model_namelist_filename="$model_namelist_filename"
+  model_type=$model_type
+  model_min_rank=$model_min_rank
+  model_max_rank=$model_max_rank
+  model_inc_rank=$model_inc_rank
+/
+EOF
+
+}
+#-----------------------------------------------------------------------------
+
+
+no_of_models=${#namelist_list[*]}
+echo "no_of_models=$no_of_models"
+
+j=0
+while [ $j -lt ${no_of_models} ]
+do
+  add_component_to_master_namelist "${namelist_list[$j]}" "${modelname_list[$j]}" ${modeltype_list[$j]} ${minrank_list[$j]} ${maxrank_list[$j]} ${incrank_list[$j]}
+  j=`expr ${j} + 1`
+done
+
+#-----------------------------------------------------------------------------
+#
+# get model
+#
+ls -l ${MODEL}
+check_error $? "${MODEL} does not exist?"
+#-----------------------------------------------------------------------------
+
+# start experiment
+
+rm -f finish.status
+date
+${START} ${MODEL}
+date
+#
+if [ -r finish.status ] ; then
+  check_final_status 0 "${START} ${MODEL}"
+else
+  check_final_status -1 "${START} ${MODEL}"
+fi
+#
+
+#-----------------------------------------------------------------------------
+#
+finish_status=`cat finish.status`
+echo $finish_status
+echo "============================"
+echo "Script run successfully: $finish_status"
+echo "============================"
+#-----------------------------------------------------------------------------
+namelist_list=""
+#-----------------------------------------------------------------------------
+# check if we have to restart, ie resubmit
+#   Note: this is a different mechanism from checking the restart
+if [ $finish_status = "RESTART" ]; then
+  echo "restart next experiment..."
+  this_script="${RUNSCRIPTDIR}/exp.${EXPNAME}.run"
+  echo 'this_script: ' "$this_script"
+  # note that if ${restartSemaphoreFilename} does not exist yet, then touch will create it
+  touch ${restartSemaphoreFilename}
+  cd ${RUNSCRIPTDIR}
+  sbatch exp.${EXPNAME}.run
+else
+  [[ -f ${restartSemaphoreFilename} ]] && rm ${restartSemaphoreFilename}
+fi
+#-----------------------------------------------------------------------------
+
+#-----------------------------------------------------------------------------
+
+cd ${RUNSCRIPTDIR}
+
+#-----------------------------------------------------------------------------
diff --git a/Scripts_for_running_simulations/exp.channel_80km_0006.run b/Scripts_for_running_simulations/exp.channel_80km_0006.run
new file mode 100644
index 0000000..e00ac46
--- /dev/null
+++ b/Scripts_for_running_simulations/exp.channel_80km_0006.run
@@ -0,0 +1,672 @@
+#! /bin/ksh
+#=============================================================================
+
+# levante cpu batch job parameters
+
+#SBATCH --account=bb1152
+#SBATCH --job-name=80km0006
+#SBATCH --partition=compute
+#SBATCH --chdir=/home/b/b380906/icon-on-jet/run/runscripts/channel_80km_0006
+#SBATCH --nodes=5
+#SBATCH --threads-per-core=2
+# the following is needed to work around a bug that otherwise leads to
+# a too low number of ranks when using compute,compute2 as queue
+#SBATCH --mem=0
+#SBATCH --output=/home/b/b380906/icon-on-jet/run/runscripts/channel_80km_0006/LOG.channel_80km_0006.%j.o
+#SBATCH --error=/home/b/b380906/icon-on-jet/run/runscripts/channel_80km_0006/LOG.channel_80km_0006.%j.o
+#SBATCH --exclusive
+#SBATCH --time=00:30:00
+
+#=============================================================================
+set -x
+ulimit -s unlimited
+#=============================================================================
+# OpenMP environment variables
+# ----------------------------
+export OMP_NUM_THREADS=4
+export ICON_THREADS=$OMP_NUM_THREADS
+export OMP_SCHEDULE="guided"
+export OMP_DYNAMIC="false"
+export OMP_STACKSIZE=500M
+#
+# MPI variables
+# -------------
+no_of_nodes=${SLURM_JOB_NUM_NODES:=1}
+mpi_procs_pernode=$((128 / OMP_NUM_THREADS))
+((mpi_total_procs=no_of_nodes * mpi_procs_pernode))
+
+#=============================================================================
+
+# load local setting, if existing
+# -------------------------------
+if [ -a ../setting ]
+then
+  echo "Load Setting"
+  . ../setting
+fi
+
+# environment variables for the experiment and the target system
+# --------------------------------------------------------------
+
+export EXPNAME="atm_rte_rrtmgp_amip_test"
+export KMP_AFFINITY="granularity=fine,scatter"
+export KMP_LIBRARY="turnaround"
+export OMPI_MCA_pml="ucx"
+export OMPI_MCA_btl=self
+export OMPI_MCA_osc="pt2pt"
+export UCX_IB_ADDR_TYPE=ib_global
+export OMPI_MCA_coll="^ml"
+export OMPI_MCA_coll_hcoll_enable="1"
+export HCOLL_ENABLE_MCAST_ALL="1"
+export HCOLL_MAIN_IB=mlx5_0:1
+export UCX_NET_DEVICES=mlx5_0:1
+export UCX_TLS=mm,knem,cma,dc_mlx5,dc_x,self
+export UCX_UNIFIED_MODE=y
+export HDF5_USE_FILE_LOCKING=FALSE
+export OMPI_MCA_io="romio321"
+export MALLOC_TRIM_THRESHOLD_="-1"
+export MKL_ENABLE_INSTRUCTIONS=AVX2
+export MKL_DEBUG_CPU_TYPE=5
+export UCX_HANDLE_ERRORS=bt
+
+# load profile
+# ------------
+if [[ -a  /etc/profile ]]
+then
+        . /etc/profile
+fi
+
+#=============================================================================
+
+# directories with absolute paths
+# -------------------------------
+basedir="/home/b/b380906/icon-on-jet"
+export basedir
+
+# how to start the icon model
+mask="0xf,0xf0000,0xf00000000,0xf000000000000,0xf0000000000000000,0xf00000000000000000000,0xf000000000000000000000000,0xf0000000000000000000000000000,0xf0,0xf00000,0xf000000000,0xf0000000000000,0xf00000000000000000,0xf000000000000000000000,0xf0000000000000000000000000,0xf00000000000000000000000000000,0xf00,0xf000000,0xf0000000000,0xf00000000000000,0xf000000000000000000,0xf0000000000000000000000,0xf00000000000000000000000000,0xf000000000000000000000000000000,0xf000,0xf0000000,0xf00000000000,0xf000000000000000,0xf0000000000000000000,0xf00000000000000000000000,0xf000000000000000000000000000,0xf0000000000000000000000000000000"
+export START="srun -l --kill-on-bad-exit=1 --nodes=${SLURM_JOB_NUM_NODES:-1} --ntasks=$((no_of_nodes * mpi_procs_pernode)) --propagate=STACK,CORE --distribution=block:block --cpu-bind=v,mask_cpu=$mask "
+export MODEL="${basedir}/bin/icon"
+
+# how to submit the next job
+# --------------------------
+submit="sbatch"
+job_name="exp.channel_80km_0006.run"
+
+#=============================================================================
+
+ulimit -s $((4 * 1024 * 1024))
+ulimit -c 0
+
+#-----------------------------------------------------------------------------
+export EXPNAME="channel_80km_0006"
+
+# atmo namelist filename
+atmo_namelist=NAMELIST_${EXPNAME}_atm
+
+# directories definition
+RUNSCRIPTDIR=/home/b/b380906/icon-on-jet/run/runscripts/channel_80km_0006/  # run script directory
+
+#-----------------------------------------------------------------------------
+# global timing
+start_date="2021-01-01T00:00:00Z"
+end_date="2021-01-10T00:00:00Z" 
+
+# restart intervals
+checkpoint_interval="P20D"
+restart_interval="P40D"
+
+# output intervals
+output_interval="PT1H"
+file_interval="PT1H"
+
+#-----------------------------------------------------------------------------
+# model parameters
+model_equations=3             # equation system
+#                     1=hydrost. atm. T
+#                     1=hydrost. atm. theta dp
+#                     3=non-hydrost. atm.,
+#                     0=shallow water model
+#                    -1=hydrost. ocean
+#-----------------------------------------------------------------------------
+
+# experiment directory, with plenty of space, create if new
+
+EXPDIR=/scratch/b/b380906/${EXPNAME} 
+if [ ! -d ${EXPDIR} ] ;  then
+  mkdir -p ${EXPDIR}
+fi
+#
+ls -ld ${EXPDIR}
+if [ ! -d ${EXPDIR} ] ;  then
+    mkdir ${EXPDIR}
+fi
+ls -ld ${EXPDIR}
+check_error $? "${EXPDIR} does not exist?"
+
+cd ${EXPDIR}
+
+#-----------------------------------------------------------------------------
+# Link experiment initial files
+inputdir='/work/bb1152/Module_A/A6_CyclEx/input_data'
+# Grid
+ln -sf $inputdir/Channel_4000x9000_80000m_with_boundary.nc grid_DOM01.nc
+
+# Extpar
+ln -sf $inputdir/inputs_planar_channel_51x81_80km/extpar_remapped_12_months.nc extpar_DOM01.nc
+
+# Initial file
+ln -sf $inputdir/inputs_planar_channel_51x81_80km/lc1_ifs_Tanom_polar_linear_remapped.nc ifs2icon_init.nc
+
+# Ozone
+ln -sf $inputdir/inputs_planar_channel_51x81_80km/ape_O3_remapped.nc o3_icon_DOM01.nc
+
+# Model required files
+ln -sf $basedir/data/rrtmg_lw.nc              ./
+ln -sf $basedir/data/rrtmg_sw.nc              ./
+ln -sf $basedir/data/ECHAM6_CldOptProps.nc    ./
+
+#=============================================================================
+
+# create ICON namelist parameters
+
+cat > ${atmo_namelist} << EOF
+&parallel_nml
+ nproma         = 16  ! optimal setting 8 for CRAY; use 16 or 24 for IBM
+ p_test_run     = .false.
+ l_test_openmp  = .false.
+ l_log_checks   = .false.
+ num_io_procs   = 10   ! asynchronous output for values >= 1
+ itype_comm     = 1
+ iorder_sendrecv = 3  ! best value for CRAY (slightly faster than option 1)
+ num_prefetch_proc = 1
+/
+&grid_nml
+ dynamics_grid_filename  = 'grid_DOM01.nc'
+ dynamics_parent_grid_id = 0
+ lredgrid_phys           = .false.
+ is_plane_cylinder       = .TRUE.
+ l_limited_area          = .true.
+ corio_lat               = 45.0
+/
+&initicon_nml
+ init_mode   = 2           ! operation mode 2: IFS
+ ifs2icon_filename = 'ifs2icon_init.nc' 
+ zpbl1       = 500. 
+ zpbl2       = 1000.
+ l_sst_in    = .true. 
+/
+&limarea_nml
+ itype_latbc    = 0            ! fix
+/
+&run_nml
+ num_lev        = 90           ! 60
+ dtime          = 360  ! 360 for R2B5 180 for R2B7    
+ ldynamics      = .TRUE.
+ ltransport     = .true.
+ iforcing       = 3            ! NWP forcing
+ ltestcase      = .false.      ! false: run with real data
+ msg_level      = 7            ! print maximum wind speeds every 5 time steps
+ ltimer         = .false.      ! set .TRUE. for timer output
+ timers_level   = 1            ! can be increased up to 10 for detailed timer output
+ output         = "nml"
+/
+&nwp_phy_nml
+ inwp_gscp          = 1
+ inwp_convection    = 1
+! lshallowconv_only  = .true. ! use only shallow convection scheme
+ inwp_radiation     = 1
+ inwp_cldcover      = 1
+ inwp_turb          = 1
+ inwp_satad         = 1
+ inwp_sso           = 1
+ inwp_gwd           = 1
+ inwp_surface       = 1
+ icapdcycl          = 3
+ latm_above_top  = .false.  ! the second entry refers to the nested domain (if present)
+ efdt_min_raylfric = 7200.
+ ldetrain_conv_prec = .false.
+ itype_z0         = 2
+ icpl_aero_conv   = 0 
+ icpl_aero_gscp   = 0
+ ! resolution-dependent settings - please choose the appropriate one
+ dt_rad    = 720 
+ dt_conv   = 300 
+ dt_sso    = 300 
+ dt_gwd    = 300. 
+/
+&turbdiff_nml
+ tkhmin  = 0.75  
+ tkmmin  = 0.75             
+ pat_len = 100. !750.
+ c_diff  = 0.2
+ rat_sea = 10  
+ ltkesso = .true.
+ frcsmot = 0.2      
+ imode_frcsmot = 2  
+ itype_sher = 3    
+ ltkeshs    = .true.
+ a_hshr     = 2.0     
+/
+&lnd_nml
+ ntiles         = 3      !!! 1 for assimilation cycle and forecast
+ nlev_snow      = 3      !!! 1 for assimilation cycle and forecast
+ lmulti_snow    = .true. !!! .false. for assimilation cycle and forecast
+ itype_heatcond = 2
+ idiag_snowfrac = 2
+ lsnowtile      = .false.  !! later on .true. if GRIB encoding issues are solved
+ lseaice        = .true. !!Sophia Schäfer, 23/03/2017: reads in sea ice (e.g. zero ice), instead of setting by temperature
+ llake          = .false.
+ itype_lndtbl   = 3  ! minimizes moist/cold bias in lower tropical troposphere
+ itype_root     = 2  			        
+/
+&radiation_nml
+ irad_o3       = 4
+ irad_aero     = 0
+ irad_cfc11    = 0
+ irad_cfc12    = 0
+ albedo_type   = 2 ! Modis albedo
+ vmr_co2       = 348.0e-6 ! values representative for 2012
+ vmr_ch4       = 1650.0e-09
+ vmr_n2o       = 396.0e-09
+ vmr_o2        = 0.20946
+ izenith       = 3
+ vmr_cfc11     = 0
+ vmr_cfc12     = 0
+/
+&nonhydrostatic_nml
+ iadv_rhotheta  = 2
+ ivctype        = 2
+ itime_scheme   = 4
+ exner_expol    = 0.333
+ vwind_offctr   = 0.2
+ damp_height    = 50000.
+ rayleigh_coeff = 0.10   ! R3B7: 1.0 for forecasts, 5.0 in assimilation cycle; 0.5/2.5 for R2B6 (i.e. ensemble) runs
+ lhdiff_rcf     = .true.
+ divdamp_order  = 24    ! setting for forecast runs; use '2' for assimilation cycle
+ divdamp_type   = 32    ! ** new setting for assimilation and forecast runs **
+ divdamp_fac    = 0.004 ! use 0.032 in conjunction with divdamp_order = 2 in assimilation cycle
+ l_open_ubc     = .false.
+ igradp_method  = 3
+ l_zdiffu_t     = .true.
+ thslp_zdiffu   = 0.02
+ thhgtd_zdiffu  = 125.
+ htop_moist_proc= 22500.
+ hbot_qvsubstep = 22500. ! use 22500. with R2B6
+/
+&nudging_nml
+ nudge_type  = 0
+ max_nudge_coeff_vn = 0.00000
+/
+&sleve_nml
+ min_lay_thckn   = 20.
+ max_lay_thckn   = 400.   ! maximum layer thickness below htop_thcknlimit
+ htop_thcknlimit = 14000. ! this implies that the upcoming COSMO-EU nest will have 60 levels
+ top_height      = 75000.
+ stretch_fac     = 0.9
+ decay_scale_1   = 4000.
+ decay_scale_2   = 2500.
+ decay_exp       = 1.2
+ flat_height     = 16000.
+/
+&dynamics_nml
+ iequations     = 3
+ idiv_method    = 1
+ divavg_cntrwgt = 0.50
+ !lcoriolis      = .TRUE.
+/
+&transport_nml
+ ctracer_list  = '12345'
+ ivadv_tracer  = 3,3,3,3,3
+ itype_hlimit  = 3,4,4,4,4
+ ihadv_tracer  = 52,2,2,2,2
+ iadv_tke      = 0
+/
+&diffusion_nml
+ hdiff_order      = 5
+ itype_vn_diffu   = 1
+ itype_t_diffu    = 2
+ hdiff_efdt_ratio = 24.0
+ hdiff_smag_fac   = 0.025
+ lhdiff_vn        = .TRUE.
+ lhdiff_temp      = .TRUE.
+/
+&interpol_nml
+ nudge_zone_width  = 0.0  ! deactivating nudging as needed for mass conservation for this setup 
+ nudge_efold_width = 0.0
+ nudge_max_coeff   = 0.00000
+ lsq_high_ord      = 3
+ l_intp_c2l        = .true.
+ l_mono_c2l        = .true.
+ support_baryctr_intp = .false.
+ rbf_vec_scale_c   = 0.3,  0.1,  0.03
+ rbf_vec_scale_v   = 0.4,  0.25, 0.07
+ rbf_vec_scale_e   = 0.45, 0.37, 0.25
+/
+&extpar_nml
+ itopo                = 1
+ extpar_filename      = 'extpar_DOM01.nc'
+ n_iter_smooth_topo   = 1         
+ heightdiff_threshold = 3000.
+/
+&io_nml
+ itype_pres_msl = 5  ! 4 New extrapolation method to circumvent Ninjo problem with surface inversions
+ itype_rh       = 1  ! RH w.r.t. water
+ restart_file_type = 5       ! 4: netcdf2, 5: netcdf4
+/
+&nh_pzlev_nml
+ nplev             = 18     ! number of p level output (attention: levels in [Pa] and top-down)
+ nzlev             = 20     ! number of z level output (attention: levels in [m] and top-down)
+ plevels           = 5000,7000,10000,15000,20000,25000,30000,40000,50000,60000,70000,
+                     80000,85000,90000,92500,95000,97500,100000
+ zlevels           = 25000,20000,18000,16000,14000,12000,10000,8000,6000,5000,4000,3000,2000,
+                     1000,800,600,400,200,100,10
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1         
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-atm3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'pres','qc','qi','qv','rho','temp','u','v','w','vn','z_ifc','vor','rh','pv','omega','geopot','div','cape','tke'
+ remap            = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1         
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-cld3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'clc','tot_qv_dia','tot_qc_dia','tot_qi_dia','pres'
+ remap            = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                      ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}" 
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-rad3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'lwflxall', 'lwflx_dn_clr','lwflx_up_clr','swflx_dn_clr','swflx_up_clr','swflx_up','swflx_dn','pres'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5                      ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                      ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 =  .FALSE.
+ output_filename              = 'icon-ddt3d' ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'ddt_temp_totnwpphy','ddt_temp_radsw','ddt_temp_radlw','ddt_temp_turb','ddt_temp_pconv','ddt_temp_drag','ddt_temp_satad','ddt_temp_diff','ddt_temp_dyn','ddt_temp_gscp','pres'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5              ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                       ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 = .FALSE.
+ output_filename              = 'icon-atm2d'   ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'pres_msl','pres_sfc','ddt_pres_sfc','u_10m','v_10m','t_g','t_2m','qv_2m','td_2m','rh_2m','group:precip_vars','rain_gsp_rate','rain_con_rate','cape_ml','cin_ml','clct','clch','clcm','clcl','tqv_dia','tqc_dia','tqi_dia','tqv','tqc','tqi','tqr','shfl_s','lhfl_s','qhfl_s','w_so'
+ remap                        = 0
+/
+&output_nml
+ filetype                     =  5              ! output format: 2=GRIB2, 4=NETCDFv2
+ dom                          =  1                       ! write all domains
+ output_start     = "${start_date}"
+ output_end       = "${end_date}"
+ output_interval  = "${output_interval}"
+ file_interval    = "${file_interval}"
+ include_last                 = .FALSE.
+ output_filename              = 'icon-rad2d'   ! file name base
+ filename_format  = "<output_filename>_ML_<datetime2>"
+ ml_varlist                   = 'sob_t','thb_t','sob_s','thb_s','thbclr_s','sobclr_s'
+ remap                        = 0
+/
+&output_nml
+ output_filename  = "icon-extra"
+ filename_format  = "<output_filename>_<levtype_l>"
+ filetype         = 5
+ remap            = 0
+ output_grid      = .TRUE.
+ output_start     = "${start_date}"          ! output_start = output_end
+ output_end       = "${start_date}"          ! --> write once only irrespective of
+ output_interval  = "PT1H"  !     the output interval and
+ file_interval    = "${file_interval}"    !     the file interval
+ ml_varlist       = 'z_mc','t_seasfc'
+/
+EOF
+
+#=============================================================================
+#
+# This section of the run script prepares and starts the model integration. 
+#-----------------------------------------------------------------------------
+
+final_status_file=${EXPDIR}/${job_name}.final_status
+rm -f ${final_status_file}
+#-----------------------------------------------------------------------------
+
+# set up the model lists if they do not exist
+# this works for single model runs
+# for coupled runs the lists should be declared explicilty
+if [ x$namelist_list = x ]; then
+#  minrank_list=(        0           )
+#  maxrank_list=(     65535          )
+#  incrank_list=(        1           )
+  minrank_list[0]=0
+  maxrank_list[0]=65535
+  incrank_list[0]=1
+  if [ x$atmo_namelist != x ]; then
+    # this is the atmo model
+    namelist_list[0]="$atmo_namelist"
+    modelname_list[0]="atmo"
+    modeltype_list[0]=1
+    run_atmo="true"
+  else
+    check_error 1 "No namelist is defined"
+  fi
+fi
+
+#-----------------------------------------------------------------------------
+# set some default values and derive some run parameteres
+restart=${restart:=".false."}
+restartSemaphoreFilename='isRestartRun.sem'
+#AUTOMATIC_RESTART_SETUP:
+if [ -f ${restartSemaphoreFilename} ]; then
+  restart=.true.
+  #  do not delete switch-file, to enable restart after unintended abort
+  #[[ -f ${restartSemaphoreFilename} ]] && rm ${restartSemaphoreFilename}
+fi
+#END AUTOMATIC_RESTART_SETUP
+#
+# wait 5min to let GPFS finish the write operations
+if [ "x$restart" != 'x.false.' -a "x$submit" != 'x' ]; then
+  if [ x$(df -T ${EXPDIR} | cut -d ' ' -f 2) = gpfs ]; then
+    sleep 10;
+  fi
+fi
+# fill some checks
+
+run_atmo=${run_atmo="false"}
+if [ x$atmo_namelist != x ]; then
+  run_atmo="true"
+fi
+#-----------------------------------------------------------------------------
+# get restart files
+
+if  [ x$restart_atmo_from != "x" ] ; then
+  rm -f restart_atm_DOM01.nc
+#  ln -s ${basedir}/experiments/${restart_from_folder}/${restart_atmo_from} ${EXPDIR}/restart_atm_DOM01.nc
+  cp ${basedir}/experiments/${restart_from_folder}/${restart_atmo_from} cp_restart_atm.nc
+  ln -s cp_restart_atm.nc restart_atm_DOM01.nc
+  restart=".true."
+fi
+if  [ x$restart_ocean_from != "x" ] ; then
+  rm -f restart_oce.nc
+#  ln -s ${basedir}/experiments/${restart_from_folder}/${restart_ocean_from} ${EXPDIR}/restart_oce.nc
+  cp ${basedir}/experiments/${restart_from_folder}/${restart_ocean_from} cp_restart_oce_DOM01.nc
+  ln -s cp_restart_oce_DOM01.nc restart_oce_DOM01.nc
+  restart=".true."
+fi
+#-----------------------------------------------------------------------------
+
+
+read_restart_namelists=${read_restart_namelists:=".true."}
+
+#-----------------------------------------------------------------------------
+#
+# create ICON master namelist
+# ------------------------
+# For a complete list see Namelist_overview and Namelist_overview.pdf
+
+#-----------------------------------------------------------------------------
+# create master_namelist
+master_namelist=icon_master.namelist
+if [ x$end_date = x ]; then
+cat > $master_namelist << EOF
+&master_nml
+ lrestart            = $restart
+/
+&master_time_control_nml
+ experimentStartDate  = "$start_date"
+ restartTimeIntval    = "$restart_interval"
+ checkpointTimeIntval = "$checkpoint_interval"
+/
+&time_nml
+ is_relative_time = .false.
+/
+EOF
+else
+if [ x$calendar = x ]; then
+  calendar='proleptic gregorian'
+  calendar_type=1
+else
+  calendar=$calendar
+  calendar_type=$calendar_type
+fi
+cat > $master_namelist << EOF
+&master_nml
+ lrestart            = $restart
+ read_restart_namelists = $read_restart_namelists
+/
+&master_time_control_nml
+ calendar             = "$calendar"
+ checkpointTimeIntval = "$checkpoint_interval"
+ restartTimeIntval    = "$restart_interval"
+ experimentStartDate  = "$start_date"
+ experimentStopDate   = "$end_date"
+/
+&time_nml
+ is_relative_time = .false.
+/
+EOF
+fi
+#-----------------------------------------------------------------------------
+
+
+#-----------------------------------------------------------------------------
+# add model component to master_namelist
+add_component_to_master_namelist()
+{
+
+  model_namelist_filename="$1"
+  model_name=$2
+  model_type=$3
+  model_min_rank=$4
+  model_max_rank=$5
+  model_inc_rank=$6
+
+cat >> $master_namelist << EOF
+&master_model_nml
+  model_name="$model_name"
+  model_namelist_filename="$model_namelist_filename"
+  model_type=$model_type
+  model_min_rank=$model_min_rank
+  model_max_rank=$model_max_rank
+  model_inc_rank=$model_inc_rank
+/
+EOF
+
+}
+#-----------------------------------------------------------------------------
+
+
+no_of_models=${#namelist_list[*]}
+echo "no_of_models=$no_of_models"
+
+j=0
+while [ $j -lt ${no_of_models} ]
+do
+  add_component_to_master_namelist "${namelist_list[$j]}" "${modelname_list[$j]}" ${modeltype_list[$j]} ${minrank_list[$j]} ${maxrank_list[$j]} ${incrank_list[$j]}
+  j=`expr ${j} + 1`
+done
+
+#-----------------------------------------------------------------------------
+#
+# get model
+#
+ls -l ${MODEL}
+check_error $? "${MODEL} does not exist?"
+#-----------------------------------------------------------------------------
+
+# start experiment
+
+rm -f finish.status
+date
+${START} ${MODEL}
+date
+#
+if [ -r finish.status ] ; then
+  check_final_status 0 "${START} ${MODEL}"
+else
+  check_final_status -1 "${START} ${MODEL}"
+fi
+#
+
+#-----------------------------------------------------------------------------
+#
+finish_status=`cat finish.status`
+echo $finish_status
+echo "============================"
+echo "Script run successfully: $finish_status"
+echo "============================"
+#-----------------------------------------------------------------------------
+namelist_list=""
+#-----------------------------------------------------------------------------
+# check if we have to restart, ie resubmit
+#   Note: this is a different mechanism from checking the restart
+if [ $finish_status = "RESTART" ]; then
+  echo "restart next experiment..."
+  this_script="${RUNSCRIPTDIR}/exp.${EXPNAME}.run"
+  echo 'this_script: ' "$this_script"
+  # note that if ${restartSemaphoreFilename} does not exist yet, then touch will create it
+  touch ${restartSemaphoreFilename}
+  cd ${RUNSCRIPTDIR}
+  sbatch exp.${EXPNAME}.run
+else
+  [[ -f ${restartSemaphoreFilename} ]] && rm ${restartSemaphoreFilename}
+fi
+#-----------------------------------------------------------------------------
+
+#-----------------------------------------------------------------------------
+
+cd ${RUNSCRIPTDIR}
+
+#-----------------------------------------------------------------------------
-- 
GitLab