diff --git a/namelists/real-from-d2-ana/icon_atmosphere.namelist b/namelists/real-from-d2-ana/icon_atmosphere.namelist
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..d30514538b4a3103695e14754bbd29105ed2abcc 100644
--- a/namelists/real-from-d2-ana/icon_atmosphere.namelist
+++ b/namelists/real-from-d2-ana/icon_atmosphere.namelist
@@ -0,0 +1,348 @@
+
+&parallel_nml
+ nproma                       = 32
+/
+
+&run_nml
+ num_lev                      = 65
+ lvert_nest                   = .false.  ! use vertical nesting if a nest is active
+ dtime                        = 20       ! timestep in seconds
+ ldynamics                    = .true.        ! dynamics
+ ltransport                   = .true.
+ iforcing                     = 3             ! NWP forcing
+ lart                         = .false.        ! ICON-ART main switch
+ ltestcase                    = .false.       ! false: run with real data
+ msg_level                    = 20            ! default: 5, much more: 20
+ ltimer                       = .true.        ! set .true. for detailed timer output
+ timers_level                 = 1             ! can be increased up to 10 for detailed timer output
+ ntracer                      = 5
+ check_uuid_gracefully        = .true.
+ output                       = "nml"
+ ldass_lhn                    = .False.
+ debug_check_level            = 1 
+/
+
+&grid_nml
+ dynamics_parent_grid_id      = 0
+ dynamics_grid_filename       = 'icon_grid_0047_R19B07_L.nc'
+ radiation_grid_filename      = 'icon_grid_0046_R19B06_LR.nc',
+ lredgrid_phys                = .true.
+ l_limited_area               = .true.
+/
+
+&nwp_phy_nml
+ inwp_psp                     = 1   ! PSP scheme 0(turn off) 1(turn one) 2(turn on with non-D wind pert)
+ psp_scale                    = 5.0  ! scaling factor for stochastic perturbations scheme
+ psp_rnd_seed                 = 31
+ psp_apply_ddt_core = .False. ! True if vertical wind perturbations should be applied at the explicit dynamical core timestep
+ inwp_gscp                    = 4   ! 1: default, 2: graupel scheme for convection-permitting scales
+ ccn_type_gscp4              =  8   ! CB new namelist parameter: 
+ ccn_type_gscp5              =  8   ! CB new namelist parameter: 
+                                    !6: 100 maritime, 7: 500 intermediate, 8: 1700 continental, 9: 3200 polluted continental
+ cloudnue_value              =  0   ! CB new namelist parameter for shape parameter (nu) of CDSD: 
+                                    ! -> cloud_cosmo5 (mu=1/3): 0 (REF), 1, 2, 4, 8 
+                                    ! -> cloud_nue1mue1 (mu=1): 1 (REF), 2, 4, 8 
+ mu_rain                      = 0.5           ! new tuning becoming operational in July 2018
+ rain_n0_factor               = 0.1           !       "
+ inwp_convection              = 1
+ lshallowconv_only            = .true.
+ inwp_radiation               = 1
+ inwp_cldcover                = 1   ! 0: no cld, 1: new diagnostic, 3: COSMO, 5: grid scale
+ inwp_turb                    = 1
+ inwp_satad                   = 1
+ inwp_sso                     = 1
+ inwp_gwd                     = 0
+ inwp_surface                 = 1
+ icapdcycl                    = 3   ! CAPE modification, improve diurnal cycle over tropical land
+ latm_above_top               = .true.
+ efdt_min_raylfric            = 7200.
+ itype_z0                     = 2   ! 1: default, 2: turn off SSO part of z0
+ icpl_aero_conv               = 1
+ icpl_aero_gscp               = 0
+ icpl_o3_tp                   = 1
+ dt_conv                      = 120
+ dt_rad                       = 720
+ dt_sso                       = 120
+ dt_gwd                       = 120
+ ldetrain_conv_prec           = .true.  ! .true. should be used in R03B08 EU-nest only
+ lrtm_filename                = 'rrtmg_lw.nc'      
+ cldopt_filename              = 'ECHAM6_CldOptProps.nc'
+/
+
+&turbdiff_nml
+ tkhmin                       = 0.5 ! new default since rev. 16527
+ tkmmin                       = 0.75  !           
+ tkmmin_strat                 = 4
+ pat_len                      = 750.
+ c_diff                       = 0.2
+ rat_sea                      = 7.0      ! operational since May 2017
+ ltkesso                      = .true.
+ frcsmot                      = 0.2      ! these 2 switches together apply vertical smoothing of the TKE source terms
+ imode_frcsmot                = 2  ! in the tropics (only), which reduces the moist bias in the tropical lower troposphere
+ itype_sher                   = 2
+ ltkeshs                      = .true.
+ a_hshr                       = 2.0
+ alpha0                       = 0.0123
+ alpha0_max                   = 0.0335        ! Charnock parameter tuning
+ alpha1                       = 0.75
+ icldm_turb                   = 2  ! ** new recommendation for v2.0.15 in conjunction with evaporation fix for grid-scale rain **
+ tur_len                      = 300.
+ q_crit                       = 2.0
+ imode_tkesso                 = 2
+/
+
+
+&radiation_nml
+ irad_o3                      = 79
+ irad_aero                    = 6
+ albedo_type                  = 2        ! 1: default, 2: MODIS
+ vmr_co2                      = 390.e-06 ! values representative for 2012
+ vmr_ch4                      = 1800.e-09
+ vmr_n2o                      = 322.0e-09
+ vmr_o2                       = 0.20946
+ vmr_cfc11                    = 240.e-12
+ vmr_cfc12                    = 532.e-12
+/
+
+&nonhydrostatic_nml
+ iadv_rhotheta                = 2
+ ivctype                      = 2
+ itime_scheme                 = 4
+ exner_expol                  = 0.333
+ vwind_offctr                 = 0.2
+ damp_height                  = 12500.
+ rayleigh_coeff               = 5.0
+ lhdiff_rcf                   = .true.
+ divdamp_fac                  = 0.004         ! factor 8 iff divdamp_order=2 !!!
+ divdamp_order                = 24       ! use 24 for forecast, 2 for IAU
+ divdamp_type                 = 32        ! (3): 2 for assimilation cycle
+ divdamp_trans_start          = 12500. ! use 2500. in assimilation cycle
+ divdamp_trans_end            = 17500.   ! use 5000. in assimilation cycle
+ ndyn_substeps                = 5
+ 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   ! revised (to avoid too large CFL)
+/
+
+&sleve_nml 
+ min_lay_thckn                = 20. 
+ max_lay_thckn                = 25000.
+ htop_thcknlimit              = 15000.  ! 15 km is the default
+ top_height                   = 22000. 
+ stretch_fac                  = 0.65
+ 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
+/
+
+&diffusion_nml
+ hdiff_order                  = 5
+ itype_vn_diffu               = 1
+ itype_t_diffu                = 2
+ hdiff_efdt_ratio             = 24.     ! 24.0  for R2B6; recommendation for R3B7: 30.0
+ hdiff_smag_fac               = 0.025   ! 0.025 for R2B6; recommendation for R3B7: 0.02
+ lhdiff_vn                    = .true.
+ lhdiff_temp                  = .true.
+/
+
+&interpol_nml
+ nudge_zone_width             = 10
+ nudge_max_coeff              = 0.075
+ lsq_high_ord                 = 3
+ l_intp_c2l                   = .true.
+ l_mono_c2l                   = .true.
+ support_baryctr_intp         = .false.
+/
+
+&gridref_nml
+ grf_intmethod_e              = 6
+ grf_intmethod_ct             = 2
+ grf_tracfbk                  = 2
+ denom_diffu_v                = 150.
+/
+
+&nwp_tuning_nml
+ itune_albedo                 = 1     ! somewhat reduced albedo (w.r.t. MODIS data) over Sahara
+ tune_gkdrag                  = 0.0
+ tune_gkwake                  = 0.25
+ tune_gfrcrit                 = 0.333
+ tune_gust_factor             = 7.25
+ tune_dust_abs                = 1.
+ tune_zvz0i                   = 1.25    ! new tuning since June 2018
+ tune_box_liq_asy             = 3.5  ! new tuning becoming operational in July 2018
+ tune_minsnowfrac             = 0.3
+ tune_sgsclifac               = 1.0    ! new tuning becoming operational in July 2019
+/
+
+&extpar_nml
+! extpar_filename              = 'icon_extpar_0044_R19B07_L_20180625_tiles.nc'
+ itype_vegetation_cycle       = 1  !operational using 2(ihan)
+ itopo                        = 1
+ n_iter_smooth_topo           = 1,1
+ heightdiff_threshold         = 2250.
+ hgtdiff_max_smooth_topo      = 750.,750.,
+ read_nc_via_cdi              = .true.
+/
+
+&lnd_nml
+ ntiles                       = 3
+ lmulti_snow                  = .false.
+ itype_heatcond               = 3
+ idiag_snowfrac               = 20
+ itype_snowevap               = 2 
+ lsnowtile                    = .true.  !.false.
+ lseaice                      = .true.
+ llake                        = .true.
+ lprog_albsi                  = .true.
+ itype_lndtbl                 = 4
+ itype_root                   = 2
+ itype_evsl                   = 4
+ itype_trvg                   = 3 ! operational since 14 March 2018, requires FG cycling of EVAP_PL (internal name plantevap)
+ cwimax_ml                    = 5.e-4
+ c_soil                       = 1.25
+ c_soil_urb                   = 0.5
+ sstice_mode                  = 2        ! requires extpar >= 20170202
+/
+
+&limarea_nml
+ itype_latbc                  = 1
+ latbc_filename               = './icbc/M031/latbc_<dddhh>.grib'
+ latbc_boundary_grid          = 'icon_grid_0047_R19B07_L_lbc.nc'
+ dtime_latbc                  = 10800 !3600
+ init_latbc_from_fg           = .true.
+ latbc_varnames_map_file      = 'map_file.latbc'
+/
+
+&initicon_nml
+ init_mode                    = 5 ! 1: operation mode, 5: IAU, 6: 5+sma_inc
+ dt_iau                       = 600    ! Window for incr.analysis update
+ dt_shift                     = -300  ! Offset for incr.analysis update
+ type_iau_wgt                 = 1           ! IAU weighting function (const.)
+ iterate_iau                  = .true.      ! iterate IAU cycle with one-sided and centered windows
+ zpbl1                        = 500.
+ zpbl2                        = 1000.
+ lread_ana                    = .true.        ! (T) Read dwdana
+ lp2cintp_incr                = .false.    ! parent-to-child-interpolation
+ lp2cintp_sfcana              = .false.  ! of analyses (.false. for DET!)
+ dwdfg_filename              = 'icbc/M031/fc.grib'
+! lread_ana                   = .False.
+ dwdana_filename             = 'icbc/M031/an_inc.grib'
+ ana_varnames_map_file = 'map_file.ana'
+! check_ana(1)%list            = 'P','QV','T','U','V'
+! check_ana(2)%list            = 'FRESHSNW','H_SNOW'
+ ltile_coldstart              = .false.  ! intermediate mode until tile-based I/O is available
+ ltile_init                   = .false.
+ use_lakeiceana               = .false. 
+ qcana_mode                   = 2           ! (0) no QC-increments,
+ qiana_mode                   = 1         ! 0/1: ignore/use QI increments
+ qrsgana_mode                 = 1       ! 0/1: ignore/use QR,QS,QG increments
+/
+
+&ensemble_pert_nml
+ use_ensemble_pert            = .true.
+ itype_pert_gen               = 2
+ timedep_pert                 = 2 
+/
+
+&gribout_nml
+ perturbationNumber           = 9
+/
+
+ ! ----------------------------------------------- !
+ ! ---  ICON-D2: output fields - regular grid at pressure levels --- !
+ ! -----------------------------------------------
+&output_nml
+ filetype                    = 4
+ output_time_unit            = 1      ! 1: seconds
+ file_interval               = 'PT3600S'
+ output_interval             = 'PT3600S'
+ output_start                = '#OUTPUT_START#'
+ output_end                  = '#OUTPUT_END#'
+ steps_per_file       = 1
+ taxis_tunit          = 2
+ mode                 = 1  ! 1: forecast mode (relative t-axis), 2: climate mode (absolute t-axis)
+ include_last         = .true.
+ output_filename      = 'idfrf'                      ! file name base
+ filename_format      = 'output/<output_filename><ddhhmmss><levtype>'
+ remap = 1,
+ reg_def_mode                 = 1
+ north_pole                   = -170.0,40.0
+ reg_lon_def                  = -7.5, 0.02, 5.5
+ reg_lat_def                  = -6.3, 0.02, 8.0
+ pl_varlist                   = 'geopot','temp','THETA_V','U','V','W','RH','TKE','QV','QC','QR','RHO'
+ p_levels  = 95000., 85000., 50000., 25000.,
+ output_grid          = .false.
+/
+
+
+ ! ----------------------------------------------- !
+ ! ---  ICON-D2: output fields - regular grid at model levels --- !
+ ! ----------------------------------------------- 
+&output_nml
+ filetype                    = 4
+ output_time_unit            = 1      ! 1: seconds
+ file_interval               = 'PT3600S'
+ output_interval             = 'PT3600S'
+ output_start                = '#OUTPUT_START#'
+ output_end                  = '#OUTPUT_END#'
+ steps_per_file       = 1
+ taxis_tunit          = 2
+ mode                 = 1  ! 1: forecast mode (relative t-axis), 2: climate mode (absolute t-axis)
+ include_last         = .true.
+ output_filename      = 'idfrf'                      ! file name base
+ filename_format      = 'output/<output_filename><ddhhmmss><levtype>'
+ remap = 1,
+ reg_def_mode                 = 1
+ north_pole                   = -170.0,40.0
+ reg_lon_def                  = -7.5, 0.02, 5.5
+ reg_lat_def                  = -6.3, 0.02, 8.0
+ ml_varlist                   = 'CAPE_ML', 'CIN_ML','tqc','tqv','tqr','tqi','tqs','tqg','tqh','pres_msl','pres_sfc','T_2m','U_10m','V_10m','TOT_PREC','CLDEPTH','CLCT_MOD','HZEROCL','TMIN_2M','TMAX_2M','dbz_cmax', !,'group:pbl_vars'
+ output_grid          = .false.
+/
+
+
+ ! ----------------------------------------------- !
+ ! ---  ICON-D2: PSP output fields - regular grid at model levels --- !
+ ! ----------------------------------------------- 
+&output_nml
+ filetype                    = 4
+ output_time_unit            = 1      ! 1: seconds
+ file_interval               = 'PT3600S'
+ output_interval             = 'PT3600S'
+ output_start                = '#OUTPUT_START#'
+ output_end                  = '#OUTPUT_END#'
+ steps_per_file       = 1
+ taxis_tunit          = 2
+ mode                 = 1  ! 1: forecast mode (relative t-axis), 2: climate mode (absolute t-axis)
+ include_last         = .true.
+ output_filename      = 'idfrf'                      ! file name base
+ filename_format      = 'output/<output_filename><ddhhmmss><levtype>_psp'
+ remap = 1,
+ reg_def_mode                 = 1
+ north_pole                   = -170.0,40.0
+ reg_lon_def                  = -7.5, 0.02, 5.5
+ reg_lat_def                  = -6.3, 0.02, 8.0
+! ml_varlist                   = 'group:psp',
+ output_grid          = .false.
+/
+
+
diff --git a/templates/real-from-d2-ana/prepare_namelist.py b/templates/real-from-d2-ana/prepare_namelist.py
index 48c4d8a38842e4144313c5db616ac75fa767b21f..ffb8d7d56d57d5b03ac32202099a59d270fd6b3c 100644
--- a/templates/real-from-d2-ana/prepare_namelist.py
+++ b/templates/real-from-d2-ana/prepare_namelist.py
@@ -35,9 +35,11 @@ Chunk_START_DATE = datetime(year=int(START_YEAR), month=int(START_MONTH), day=in
 Chunk_END_DATE = datetime(year=int(END_YEAR), month=int(END_MONTH), day=int(END_DAY), hour=int(END_HOUR))
 
 # Read first-guess and analysis filenames from files:
-first_guess_filename = (RUNDIR / f"fc_R19B07.{(Chunk_START_DATE-timedelta(minutes=5)).strftime('%Y%m%d%H%M')}00_an.{MEMBER[1:]}")  
-analysis_filename = (RUNDIR / f"an_R19B07.{Chunk_START_DATE.strftime('%Y%m%d%H%M')}00_an.{MEMBER[1:]}")  
-analysis_inc_filename = (RUNDIR / f"an_R19B07.{Chunk_START_DATE.strftime('%Y%m%d%H%M')}00_inc.{MEMBER[1:]}")  
+first_guess_filename = (
+    RUNDIR / f"fc_R19B07.{(Chunk_START_DATE-timedelta(minutes=5)).strftime('%Y%m%d%H%M')}00_an.{MEMBER[1:]}"
+)
+analysis_filename = RUNDIR / f"an_R19B07.{Chunk_START_DATE.strftime('%Y%m%d%H%M')}00_an.{MEMBER[1:]}"
+analysis_inc_filename = RUNDIR / f"an_R19B07.{Chunk_START_DATE.strftime('%Y%m%d%H%M')}00_inc.{MEMBER[1:]}"
 
 # Read custom namelist parameters from configuration
 atmosphere_namelist_string = """
@@ -53,29 +55,38 @@ checkpoint_time = int((Chunk_END_DATE - Chunk_START_DATE).total_seconds())
 
 # TODO: Is that really necessary?
 # Add 10 minutes to allow the model to write the restarts
-#Chunk_END_DATE = Chunk_END_DATE + timedelta(minutes=10)
+# Chunk_END_DATE = Chunk_END_DATE + timedelta(minutes=10)
 
 atmosphere_namelist_replacements = {
-    "time_nml": {
-        "dt_restart": checkpoint_time
-    },
-    "io_nml": {
-        "dt_checkpoint": checkpoint_time
-    },
-
+    "time_nml": {"dt_restart": checkpoint_time},
+    "io_nml": {"dt_checkpoint": checkpoint_time},
     "grid_nml": {
         "dynamics_grid_filename": "%simulation.dynamics_grid_filename%",
         "radiation_grid_filename": "%simulation.radiation_grid_filename%",
     },
-
     "extpar_nml": {
         "extpar_filename": "%simulation.external_parameters_filename%",
     },
-
     "initicon_nml": {
         "dwdfg_filename": first_guess_filename,
-        "dwdana_filename": analysis_filename,
-    }
+        "dwdana_filename": analysis_inc_filename,
+    },
+    "limarea_nml": {
+        "latbc_filename": "./icbc/M031/latbc_<dddhh>.grib",
+        "latbc_boundary_grid": "icon_grid_0047_R19B07_L_lbc.nc",
+    },
+    "nwp_phy_nml": {
+        "psp_rnd_seed": int(MEMBER[1:]),
+        "psp_apply_ddt_core": '.False.', # True if vertical wind perturbations should be applied at the explicit dynamical core timestep
+        "inwp_gscp": 4 ,               # 1: default, 2: graupel scheme for convection-permitting scales
+        "ccn_type_gscp4": 8,   # CB new namelist parameter: 
+        "ccn_type_gscp5": 8,   # CB new namelist parameter: 
+            # 6: 100 maritime, 7: 500 intermediate, 8: 1700 continental, 9: 3200 polluted continental
+        "cloudnue_value": 0,   # CB new namelist parameter for shape parameter (nu) of CDSD: 
+                            # -> cloud_cosmo5 (mu=1/3): 0 (REF), 1, 2, 4, 8 
+                            # -> cloud_nue1mue1 (mu=1): 1 (REF), 2, 4, 8 
+    },
+
 }
 
 master_namelist_replacements = {
@@ -85,7 +96,7 @@ master_namelist_replacements = {
     "master_time_control_nml": {
         "experimentStartDate": Chunk_START_DATE.strftime(date_format),
         "experimentStopDate": Chunk_END_DATE.strftime(date_format),
-    }
+    },
 }
 
 
@@ -142,7 +153,7 @@ def main():
     print("Patched atmosphere namelist:")
     print(atmosphere_namelist)
 
-    atmosphere_output_namelist = (RUNDIR / "icon_atmosphere.namelist")
+    atmosphere_output_namelist = RUNDIR / "icon_atmosphere.namelist"
     f90nml.write(nml=atmosphere_namelist, nml_path=atmosphere_output_namelist.as_posix(), force=True)
 
     master_namelist = f90nml.read(MASTER_NAMELIST_PATH.as_posix())
@@ -156,10 +167,9 @@ def main():
         master_namelist.patch(master_custom_namelist)
     print("Patched master namelist:")
     print(master_namelist)
-    master_output_namelist = (RUNDIR / "icon_master.namelist")
+    master_output_namelist = RUNDIR / "icon_master.namelist"
     f90nml.write(nml=master_namelist, nml_path=master_output_namelist.as_posix(), force=True)
 
 
-if __name__ == '__main__':
+if __name__ == "__main__":
     main()
-