From 5d50a6f8172bc8c6db7fff80691e566d1f0d2db1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Oriol=20Tint=C3=B3?= <oriol.tinto@lmu.de>
Date: Wed, 10 May 2023 16:33:03 +0200
Subject: [PATCH] Replace % with # in the namelist placeholders

---
 conf/real-from-ideal/namelists.yml                  | 13 +++++++++++++
 .../real-from-dwd-ana/icon_atmosphere.namelist      |  6 ++----
 .../real-from-ideal/icon_atmosphere_ideal.namelist  | 13 ++-----------
 .../real-from-ideal/icon_atmosphere_real.namelist   |  4 ++--
 templates/real-from-dwd-ana/prepare_namelist.py     |  4 ++--
 templates/real-from-ideal/prepare_ideal_namelist.py |  4 ++--
 templates/real-from-ideal/prepare_namelist.py       |  4 ++--
 7 files changed, 25 insertions(+), 23 deletions(-)
 create mode 100644 conf/real-from-ideal/namelists.yml

diff --git a/conf/real-from-ideal/namelists.yml b/conf/real-from-ideal/namelists.yml
new file mode 100644
index 0000000..63a4326
--- /dev/null
+++ b/conf/real-from-ideal/namelists.yml
@@ -0,0 +1,13 @@
+atmosphere_namelist_ideal: |
+  &output_nml
+  /
+  &output_nml
+    steps_per_file              = 1
+  20201001
+    output_start                = '2020-10-01T06:00:00Z'
+    output_end                  = '2020-10-01T06:00:00Z'
+    output_filename             = "init-test-ext"
+    include_last                = .true.
+    output_interval             = 'PT3600S'
+    ml_varlist                  = 'depth_lk', 'emis_rad', 'fr_lake', 'fr_land', 'topography_c', 'soiltyp', 'sso_stdh', 'sso_theta', 'sso_gamma', 'sso_sigma'
+  /
diff --git a/namelists/real-from-dwd-ana/icon_atmosphere.namelist b/namelists/real-from-dwd-ana/icon_atmosphere.namelist
index de70193..b4789b7 100644
--- a/namelists/real-from-dwd-ana/icon_atmosphere.namelist
+++ b/namelists/real-from-dwd-ana/icon_atmosphere.namelist
@@ -57,8 +57,8 @@
 ! LATBC files, these files will be used as input for the next example.
 &output_nml
     file_interval               = 'PT3600S'
-    output_start                = '%OUTPUT_START%'
-    output_end                  = '%OUTPUT_END%'
+    output_start                = '#OUTPUT_START#'
+    output_end                  = '#OUTPUT_END#'
     output_filename             = "latbc"
     output_interval             = 'PT3600S'
     include_last                = .true.
@@ -68,8 +68,6 @@
 ! First Guess file
 &output_nml
     file_interval               = 'PT3600S'
-    output_start                = '%OUTPUT_START%'
-    output_end                  = '%OUTPUT_END%'
     output_filename             = "init"
     output_interval             = 'PT3600S'
     include_last                = .true.
diff --git a/namelists/real-from-ideal/icon_atmosphere_ideal.namelist b/namelists/real-from-ideal/icon_atmosphere_ideal.namelist
index 8099750..2ad04b4 100644
--- a/namelists/real-from-ideal/icon_atmosphere_ideal.namelist
+++ b/namelists/real-from-ideal/icon_atmosphere_ideal.namelist
@@ -40,8 +40,8 @@
 ! the following two output files are used to initialize the next run
 &output_nml
     file_interval               = 'PT3600S'
-    output_start                = '%OUTPUT_START%'
-    output_end                  = '%OUTPUT_END%'
+    output_start                = '#OUTPUT_START#'
+    output_end                  = '#OUTPUT_END#'
     output_filename             = "init-test"
     output_interval             = 'PT3600S'
     include_last                = .true.
@@ -49,12 +49,3 @@
     taxis_tunit                 = 1
     ml_varlist                  = 'group:dwd_fg_atm_vars', 'group:dwd_fg_sfc_vars'
 /
-&output_nml
-    steps_per_file              = 1
-    output_start                = '%OUTPUT_START%'
-    output_end                  = '%OUTPUT_START%'
-    output_filename             = "init-test-ext"
-    include_last                = .true.
-    output_interval             = 'PT3600S'
-    ml_varlist                  = 'depth_lk', 'emis_rad', 'fr_lake', 'fr_land', 'topography_c', 'soiltyp', 'sso_stdh', 'sso_theta', 'sso_gamma', 'sso_sigma'
-/
diff --git a/namelists/real-from-ideal/icon_atmosphere_real.namelist b/namelists/real-from-ideal/icon_atmosphere_real.namelist
index 56e8e93..ab43b89 100644
--- a/namelists/real-from-ideal/icon_atmosphere_real.namelist
+++ b/namelists/real-from-ideal/icon_atmosphere_real.namelist
@@ -53,8 +53,8 @@
 ! First Guess file
 &output_nml
     file_interval               = 'PT3600S'
-    output_start                = '%OUTPUT_START%'
-    output_end                  = '%OUTPUT_START%'
+    output_start                = '#OUTPUT_START#'
+    output_end                  = '#OUTPUT_START#'
     output_filename             = "init"
     output_interval             = 'PT3600S'
     include_last                = .true.
diff --git a/templates/real-from-dwd-ana/prepare_namelist.py b/templates/real-from-dwd-ana/prepare_namelist.py
index 1ee82f8..4816f66 100644
--- a/templates/real-from-dwd-ana/prepare_namelist.py
+++ b/templates/real-from-dwd-ana/prepare_namelist.py
@@ -105,9 +105,9 @@ def patch_output_entries(namelist: f90nml.Namelist) -> f90nml.Namelist:
     output_entries = [entry for entry in namelist["output_nml"]]
     for entry in output_entries:
         for key in entry:
-            if entry[key] == "%OUTPUT_START%":
+            if entry[key] == "#OUTPUT_START#":
                 entry[key] = Chunk_START_DATE.strftime(date_format)
-            elif entry[key] == "%OUTPUT_END%":
+            elif entry[key] == "#OUTPUT_END#":
                 entry[key] = Chunk_END_DATE.strftime(date_format)
 
     return namelist
diff --git a/templates/real-from-ideal/prepare_ideal_namelist.py b/templates/real-from-ideal/prepare_ideal_namelist.py
index 1474fc4..af95b8a 100644
--- a/templates/real-from-ideal/prepare_ideal_namelist.py
+++ b/templates/real-from-ideal/prepare_ideal_namelist.py
@@ -96,9 +96,9 @@ def patch_output_entries(namelist: f90nml.Namelist) -> f90nml.Namelist:
     output_entries = [entry for entry in namelist["output_nml"]]
     for entry in output_entries:
         for key in entry:
-            if entry[key] == "%OUTPUT_START%":
+            if entry[key] == "#OUTPUT_START#":
                 entry[key] = Chunk_START_DATE.strftime(date_format)
-            elif entry[key] == "%OUTPUT_END%":
+            elif entry[key] == "#OUTPUT_END#":
                 entry[key] = Chunk_END_DATE.strftime(date_format)
 
     return namelist
diff --git a/templates/real-from-ideal/prepare_namelist.py b/templates/real-from-ideal/prepare_namelist.py
index dd24930..d377e56 100644
--- a/templates/real-from-ideal/prepare_namelist.py
+++ b/templates/real-from-ideal/prepare_namelist.py
@@ -104,9 +104,9 @@ def patch_output_entries(namelist: f90nml.Namelist) -> f90nml.Namelist:
     output_entries = [entry for entry in namelist["output_nml"]]
     for entry in output_entries:
         for key in entry:
-            if entry[key] == "%OUTPUT_START%":
+            if entry[key] == "#OUTPUT_START#":
                 entry[key] = Chunk_START_DATE.strftime(date_format)
-            elif entry[key] == "%OUTPUT_END%":
+            elif entry[key] == "#OUTPUT_END#":
                 entry[key] = Chunk_END_DATE.strftime(date_format)
 
     return namelist
-- 
GitLab