diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index 22fca9730..fdba723e2 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -48,6 +48,7 @@
| theabro | Nathan Luke Abraham | NCAS & University of Cambridge | 2026-04-15 |
| ss421 | Steven Sandbach | Met Office | 2026-04-20 |
| MichaelWhitall | Michael Whitall | Met Office | 2026-04-22 |
+| DanCopsey | Dan Copsey | Met Office | 2026-05-14 |
| marcstring | Marc Stringer | NCAS, Reading University | 2026-05-06 |
| cameronbateman-mo | Cameron Bateman | Met Office | 2026-05-28 |
| davelee2804 | David Lee | Bureau of Meteorology, Australia | 2026-06-02 |
diff --git a/applications/adjoint_tests/rose-meta/lfric-adjoint_tests/versions.py b/applications/adjoint_tests/rose-meta/lfric-adjoint_tests/versions.py
index e408ff167..2734caf74 100644
--- a/applications/adjoint_tests/rose-meta/lfric-adjoint_tests/versions.py
+++ b/applications/adjoint_tests/rose-meta/lfric-adjoint_tests/versions.py
@@ -865,3 +865,18 @@ def upgrade(self, config, meta_config=None):
)
return config, self.reports
+
+
+class vn31_t401(MacroUpgrade):
+ """Upgrade macro for ticket #401 by Dan Copsey."""
+
+ BEFORE_TAG = "vn3.1_t394"
+ AFTER_TAG = "vn3.1_t401"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/jules-lsm
+ self.add_setting(
+ config, ["namelist:jules_hydrology", "l_inland"], ".false."
+ )
+
+ return config, self.reports
diff --git a/applications/gravity_wave/rose-meta/lfric-gravity_wave/versions.py b/applications/gravity_wave/rose-meta/lfric-gravity_wave/versions.py
index b32607d9d..80608aaf6 100644
--- a/applications/gravity_wave/rose-meta/lfric-gravity_wave/versions.py
+++ b/applications/gravity_wave/rose-meta/lfric-gravity_wave/versions.py
@@ -830,3 +830,18 @@ def upgrade(self, config, meta_config=None):
)
return config, self.reports
+
+
+class vn31_t401(MacroUpgrade):
+ """Upgrade macro for ticket #401 by Dan Copsey."""
+
+ BEFORE_TAG = "vn3.1_t394"
+ AFTER_TAG = "vn3.1_t401"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/jules-lsm
+ self.add_setting(
+ config, ["namelist:jules_hydrology", "l_inland"], ".false."
+ )
+
+ return config, self.reports
diff --git a/applications/gungho_model/rose-meta/lfric-gungho_model/versions.py b/applications/gungho_model/rose-meta/lfric-gungho_model/versions.py
index b32607d9d..80608aaf6 100644
--- a/applications/gungho_model/rose-meta/lfric-gungho_model/versions.py
+++ b/applications/gungho_model/rose-meta/lfric-gungho_model/versions.py
@@ -830,3 +830,18 @@ def upgrade(self, config, meta_config=None):
)
return config, self.reports
+
+
+class vn31_t401(MacroUpgrade):
+ """Upgrade macro for ticket #401 by Dan Copsey."""
+
+ BEFORE_TAG = "vn3.1_t394"
+ AFTER_TAG = "vn3.1_t401"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/jules-lsm
+ self.add_setting(
+ config, ["namelist:jules_hydrology", "l_inland"], ".false."
+ )
+
+ return config, self.reports
diff --git a/applications/jedi_lfric_tests/rose-meta/jedi_common/versions.py b/applications/jedi_lfric_tests/rose-meta/jedi_common/versions.py
index e408ff167..2734caf74 100644
--- a/applications/jedi_lfric_tests/rose-meta/jedi_common/versions.py
+++ b/applications/jedi_lfric_tests/rose-meta/jedi_common/versions.py
@@ -865,3 +865,18 @@ def upgrade(self, config, meta_config=None):
)
return config, self.reports
+
+
+class vn31_t401(MacroUpgrade):
+ """Upgrade macro for ticket #401 by Dan Copsey."""
+
+ BEFORE_TAG = "vn3.1_t394"
+ AFTER_TAG = "vn3.1_t401"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/jules-lsm
+ self.add_setting(
+ config, ["namelist:jules_hydrology", "l_inland"], ".false."
+ )
+
+ return config, self.reports
diff --git a/applications/jedi_lfric_tests/rose-meta/jedi_forecast/versions.py b/applications/jedi_lfric_tests/rose-meta/jedi_forecast/versions.py
index e408ff167..2734caf74 100644
--- a/applications/jedi_lfric_tests/rose-meta/jedi_forecast/versions.py
+++ b/applications/jedi_lfric_tests/rose-meta/jedi_forecast/versions.py
@@ -865,3 +865,18 @@ def upgrade(self, config, meta_config=None):
)
return config, self.reports
+
+
+class vn31_t401(MacroUpgrade):
+ """Upgrade macro for ticket #401 by Dan Copsey."""
+
+ BEFORE_TAG = "vn3.1_t394"
+ AFTER_TAG = "vn3.1_t401"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/jules-lsm
+ self.add_setting(
+ config, ["namelist:jules_hydrology", "l_inland"], ".false."
+ )
+
+ return config, self.reports
diff --git a/applications/jedi_lfric_tests/rose-meta/jedi_forecast_pseudo/versions.py b/applications/jedi_lfric_tests/rose-meta/jedi_forecast_pseudo/versions.py
index e408ff167..2734caf74 100644
--- a/applications/jedi_lfric_tests/rose-meta/jedi_forecast_pseudo/versions.py
+++ b/applications/jedi_lfric_tests/rose-meta/jedi_forecast_pseudo/versions.py
@@ -865,3 +865,18 @@ def upgrade(self, config, meta_config=None):
)
return config, self.reports
+
+
+class vn31_t401(MacroUpgrade):
+ """Upgrade macro for ticket #401 by Dan Copsey."""
+
+ BEFORE_TAG = "vn3.1_t394"
+ AFTER_TAG = "vn3.1_t401"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/jules-lsm
+ self.add_setting(
+ config, ["namelist:jules_hydrology", "l_inland"], ".false."
+ )
+
+ return config, self.reports
diff --git a/applications/jedi_lfric_tests/rose-meta/jedi_id_tlm_tests/versions.py b/applications/jedi_lfric_tests/rose-meta/jedi_id_tlm_tests/versions.py
index e408ff167..2734caf74 100644
--- a/applications/jedi_lfric_tests/rose-meta/jedi_id_tlm_tests/versions.py
+++ b/applications/jedi_lfric_tests/rose-meta/jedi_id_tlm_tests/versions.py
@@ -865,3 +865,18 @@ def upgrade(self, config, meta_config=None):
)
return config, self.reports
+
+
+class vn31_t401(MacroUpgrade):
+ """Upgrade macro for ticket #401 by Dan Copsey."""
+
+ BEFORE_TAG = "vn3.1_t394"
+ AFTER_TAG = "vn3.1_t401"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/jules-lsm
+ self.add_setting(
+ config, ["namelist:jules_hydrology", "l_inland"], ".false."
+ )
+
+ return config, self.reports
diff --git a/applications/jedi_lfric_tests/rose-meta/jedi_lfric_tests/versions.py b/applications/jedi_lfric_tests/rose-meta/jedi_lfric_tests/versions.py
index e408ff167..2734caf74 100644
--- a/applications/jedi_lfric_tests/rose-meta/jedi_lfric_tests/versions.py
+++ b/applications/jedi_lfric_tests/rose-meta/jedi_lfric_tests/versions.py
@@ -865,3 +865,18 @@ def upgrade(self, config, meta_config=None):
)
return config, self.reports
+
+
+class vn31_t401(MacroUpgrade):
+ """Upgrade macro for ticket #401 by Dan Copsey."""
+
+ BEFORE_TAG = "vn3.1_t394"
+ AFTER_TAG = "vn3.1_t401"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/jules-lsm
+ self.add_setting(
+ config, ["namelist:jules_hydrology", "l_inland"], ".false."
+ )
+
+ return config, self.reports
diff --git a/applications/jedi_lfric_tests/rose-meta/jedi_tlm_forecast_tl/versions.py b/applications/jedi_lfric_tests/rose-meta/jedi_tlm_forecast_tl/versions.py
index e408ff167..2734caf74 100644
--- a/applications/jedi_lfric_tests/rose-meta/jedi_tlm_forecast_tl/versions.py
+++ b/applications/jedi_lfric_tests/rose-meta/jedi_tlm_forecast_tl/versions.py
@@ -865,3 +865,18 @@ def upgrade(self, config, meta_config=None):
)
return config, self.reports
+
+
+class vn31_t401(MacroUpgrade):
+ """Upgrade macro for ticket #401 by Dan Copsey."""
+
+ BEFORE_TAG = "vn3.1_t394"
+ AFTER_TAG = "vn3.1_t401"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/jules-lsm
+ self.add_setting(
+ config, ["namelist:jules_hydrology", "l_inland"], ".false."
+ )
+
+ return config, self.reports
diff --git a/applications/jedi_lfric_tests/rose-meta/jedi_tlm_tests/versions.py b/applications/jedi_lfric_tests/rose-meta/jedi_tlm_tests/versions.py
index e408ff167..2734caf74 100644
--- a/applications/jedi_lfric_tests/rose-meta/jedi_tlm_tests/versions.py
+++ b/applications/jedi_lfric_tests/rose-meta/jedi_tlm_tests/versions.py
@@ -865,3 +865,18 @@ def upgrade(self, config, meta_config=None):
)
return config, self.reports
+
+
+class vn31_t401(MacroUpgrade):
+ """Upgrade macro for ticket #401 by Dan Copsey."""
+
+ BEFORE_TAG = "vn3.1_t394"
+ AFTER_TAG = "vn3.1_t401"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/jules-lsm
+ self.add_setting(
+ config, ["namelist:jules_hydrology", "l_inland"], ".false."
+ )
+
+ return config, self.reports
diff --git a/applications/jules/rose-meta/lfric-jules/versions.py b/applications/jules/rose-meta/lfric-jules/versions.py
index b32607d9d..80608aaf6 100644
--- a/applications/jules/rose-meta/lfric-jules/versions.py
+++ b/applications/jules/rose-meta/lfric-jules/versions.py
@@ -830,3 +830,18 @@ def upgrade(self, config, meta_config=None):
)
return config, self.reports
+
+
+class vn31_t401(MacroUpgrade):
+ """Upgrade macro for ticket #401 by Dan Copsey."""
+
+ BEFORE_TAG = "vn3.1_t394"
+ AFTER_TAG = "vn3.1_t401"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/jules-lsm
+ self.add_setting(
+ config, ["namelist:jules_hydrology", "l_inland"], ".false."
+ )
+
+ return config, self.reports
diff --git a/applications/lfric2lfric/rose-meta/lfric-lfric2lfric/versions.py b/applications/lfric2lfric/rose-meta/lfric-lfric2lfric/versions.py
index a50585f16..a5c1cdea4 100644
--- a/applications/lfric2lfric/rose-meta/lfric-lfric2lfric/versions.py
+++ b/applications/lfric2lfric/rose-meta/lfric-lfric2lfric/versions.py
@@ -849,3 +849,18 @@ def upgrade(self, config, meta_config=None):
)
return config, self.reports
+
+
+class vn31_t401(MacroUpgrade):
+ """Upgrade macro for ticket #401 by Dan Copsey."""
+
+ BEFORE_TAG = "vn3.1_t394"
+ AFTER_TAG = "vn3.1_t401"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/jules-lsm
+ self.add_setting(
+ config, ["namelist:jules_hydrology", "l_inland"], ".false."
+ )
+
+ return config, self.reports
diff --git a/applications/lfric_atm/example/configuration.nml b/applications/lfric_atm/example/configuration.nml
index 45d3b09c5..43e1a4c37 100644
--- a/applications/lfric_atm/example/configuration.nml
+++ b/applications/lfric_atm/example/configuration.nml
@@ -373,6 +373,7 @@ write_minmax_tseries=.false.,
/
&jules_hydrology
l_hydrology=.true.,
+l_inland=.false.,
l_var_rainfrac=.true.,
/
&jules_model_environment_lfric
diff --git a/applications/lfric_atm/metadata/field_def_diags.xml b/applications/lfric_atm/metadata/field_def_diags.xml
index 36f092c6d..cbe51e1b1 100644
--- a/applications/lfric_atm/metadata/field_def_diags.xml
+++ b/applications/lfric_atm/metadata/field_def_diags.xml
@@ -638,6 +638,7 @@
+
diff --git a/applications/lfric_atm/metadata/lfric_dictionary.xml b/applications/lfric_atm/metadata/lfric_dictionary.xml
index b595c22fb..e866da1d0 100644
--- a/applications/lfric_atm/metadata/lfric_dictionary.xml
+++ b/applications/lfric_atm/metadata/lfric_dictionary.xml
@@ -279,7 +279,7 @@
-
+
@@ -292,7 +292,7 @@
-
+
@@ -404,6 +404,7 @@
+
diff --git a/applications/lfric_atm/rose-meta/lfric-lfric_atm/versions.py b/applications/lfric_atm/rose-meta/lfric-lfric_atm/versions.py
index b32607d9d..80608aaf6 100644
--- a/applications/lfric_atm/rose-meta/lfric-lfric_atm/versions.py
+++ b/applications/lfric_atm/rose-meta/lfric-lfric_atm/versions.py
@@ -830,3 +830,18 @@ def upgrade(self, config, meta_config=None):
)
return config, self.reports
+
+
+class vn31_t401(MacroUpgrade):
+ """Upgrade macro for ticket #401 by Dan Copsey."""
+
+ BEFORE_TAG = "vn3.1_t394"
+ AFTER_TAG = "vn3.1_t401"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/jules-lsm
+ self.add_setting(
+ config, ["namelist:jules_hydrology", "l_inland"], ".false."
+ )
+
+ return config, self.reports
diff --git a/applications/lfric_coupled/example/configuration.nml b/applications/lfric_coupled/example/configuration.nml
index 4dd232a8f..eb063ce2e 100644
--- a/applications/lfric_coupled/example/configuration.nml
+++ b/applications/lfric_coupled/example/configuration.nml
@@ -169,6 +169,7 @@ write_minmax_tseries=.false.,
/
&jules_hydrology
l_hydrology=.true.,
+l_inland=.false.,
l_var_rainfrac=.false.
/
&jules_model_environment_lfric
diff --git a/applications/lfric_coupled/rose-meta/lfric-lfric_coupled/versions.py b/applications/lfric_coupled/rose-meta/lfric-lfric_coupled/versions.py
index b32607d9d..80608aaf6 100644
--- a/applications/lfric_coupled/rose-meta/lfric-lfric_coupled/versions.py
+++ b/applications/lfric_coupled/rose-meta/lfric-lfric_coupled/versions.py
@@ -830,3 +830,18 @@ def upgrade(self, config, meta_config=None):
)
return config, self.reports
+
+
+class vn31_t401(MacroUpgrade):
+ """Upgrade macro for ticket #401 by Dan Copsey."""
+
+ BEFORE_TAG = "vn3.1_t394"
+ AFTER_TAG = "vn3.1_t401"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/jules-lsm
+ self.add_setting(
+ config, ["namelist:jules_hydrology", "l_inland"], ".false."
+ )
+
+ return config, self.reports
diff --git a/applications/linear_model/rose-meta/lfric-linear_model/versions.py b/applications/linear_model/rose-meta/lfric-linear_model/versions.py
index b32607d9d..80608aaf6 100644
--- a/applications/linear_model/rose-meta/lfric-linear_model/versions.py
+++ b/applications/linear_model/rose-meta/lfric-linear_model/versions.py
@@ -830,3 +830,18 @@ def upgrade(self, config, meta_config=None):
)
return config, self.reports
+
+
+class vn31_t401(MacroUpgrade):
+ """Upgrade macro for ticket #401 by Dan Copsey."""
+
+ BEFORE_TAG = "vn3.1_t394"
+ AFTER_TAG = "vn3.1_t401"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/jules-lsm
+ self.add_setting(
+ config, ["namelist:jules_hydrology", "l_inland"], ".false."
+ )
+
+ return config, self.reports
diff --git a/applications/name_transport/rose-meta/lfric-name_transport/versions.py b/applications/name_transport/rose-meta/lfric-name_transport/versions.py
index b32607d9d..80608aaf6 100644
--- a/applications/name_transport/rose-meta/lfric-name_transport/versions.py
+++ b/applications/name_transport/rose-meta/lfric-name_transport/versions.py
@@ -830,3 +830,18 @@ def upgrade(self, config, meta_config=None):
)
return config, self.reports
+
+
+class vn31_t401(MacroUpgrade):
+ """Upgrade macro for ticket #401 by Dan Copsey."""
+
+ BEFORE_TAG = "vn3.1_t394"
+ AFTER_TAG = "vn3.1_t401"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/jules-lsm
+ self.add_setting(
+ config, ["namelist:jules_hydrology", "l_inland"], ".false."
+ )
+
+ return config, self.reports
diff --git a/applications/ngarch/rose-meta/lfric-ngarch/versions.py b/applications/ngarch/rose-meta/lfric-ngarch/versions.py
index b32607d9d..80608aaf6 100644
--- a/applications/ngarch/rose-meta/lfric-ngarch/versions.py
+++ b/applications/ngarch/rose-meta/lfric-ngarch/versions.py
@@ -830,3 +830,18 @@ def upgrade(self, config, meta_config=None):
)
return config, self.reports
+
+
+class vn31_t401(MacroUpgrade):
+ """Upgrade macro for ticket #401 by Dan Copsey."""
+
+ BEFORE_TAG = "vn3.1_t394"
+ AFTER_TAG = "vn3.1_t401"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/jules-lsm
+ self.add_setting(
+ config, ["namelist:jules_hydrology", "l_inland"], ".false."
+ )
+
+ return config, self.reports
diff --git a/applications/shallow_water/rose-meta/lfric-shallow_water/versions.py b/applications/shallow_water/rose-meta/lfric-shallow_water/versions.py
index b32607d9d..80608aaf6 100644
--- a/applications/shallow_water/rose-meta/lfric-shallow_water/versions.py
+++ b/applications/shallow_water/rose-meta/lfric-shallow_water/versions.py
@@ -830,3 +830,18 @@ def upgrade(self, config, meta_config=None):
)
return config, self.reports
+
+
+class vn31_t401(MacroUpgrade):
+ """Upgrade macro for ticket #401 by Dan Copsey."""
+
+ BEFORE_TAG = "vn3.1_t394"
+ AFTER_TAG = "vn3.1_t401"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/jules-lsm
+ self.add_setting(
+ config, ["namelist:jules_hydrology", "l_inland"], ".false."
+ )
+
+ return config, self.reports
diff --git a/applications/transport/rose-meta/lfric-transport/versions.py b/applications/transport/rose-meta/lfric-transport/versions.py
index b32607d9d..80608aaf6 100644
--- a/applications/transport/rose-meta/lfric-transport/versions.py
+++ b/applications/transport/rose-meta/lfric-transport/versions.py
@@ -830,3 +830,18 @@ def upgrade(self, config, meta_config=None):
)
return config, self.reports
+
+
+class vn31_t401(MacroUpgrade):
+ """Upgrade macro for ticket #401 by Dan Copsey."""
+
+ BEFORE_TAG = "vn3.1_t394"
+ AFTER_TAG = "vn3.1_t401"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/jules-lsm
+ self.add_setting(
+ config, ["namelist:jules_hydrology", "l_inland"], ".false."
+ )
+
+ return config, self.reports
diff --git a/dependencies.yaml b/dependencies.yaml
index 38a6be9db..9187f9291 100644
--- a/dependencies.yaml
+++ b/dependencies.yaml
@@ -23,7 +23,7 @@ casim:
jules:
source: git@github.com:MetOffice/jules.git
- ref: 41cb935aa14e333473d112b6606a7e2513d510e4
+ ref: 1ea67b41d505cf50cc79c2a40de9d203e44e1794
lfric_apps:
source:
diff --git a/interfaces/coupled_interface/rose-meta/coupling/versions.py b/interfaces/coupled_interface/rose-meta/coupling/versions.py
index b32607d9d..80608aaf6 100644
--- a/interfaces/coupled_interface/rose-meta/coupling/versions.py
+++ b/interfaces/coupled_interface/rose-meta/coupling/versions.py
@@ -830,3 +830,18 @@ def upgrade(self, config, meta_config=None):
)
return config, self.reports
+
+
+class vn31_t401(MacroUpgrade):
+ """Upgrade macro for ticket #401 by Dan Copsey."""
+
+ BEFORE_TAG = "vn3.1_t394"
+ AFTER_TAG = "vn3.1_t401"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/jules-lsm
+ self.add_setting(
+ config, ["namelist:jules_hydrology", "l_inland"], ".false."
+ )
+
+ return config, self.reports
diff --git a/interfaces/coupled_interface/source/algorithm/coupler_update_prognostics_mod.X90 b/interfaces/coupled_interface/source/algorithm/coupler_update_prognostics_mod.X90
index 6149953e4..92036846a 100644
--- a/interfaces/coupled_interface/source/algorithm/coupler_update_prognostics_mod.X90
+++ b/interfaces/coupled_interface/source/algorithm/coupler_update_prognostics_mod.X90
@@ -159,6 +159,13 @@ module coupler_update_prognostics_mod
'Ocean surface v from coupler', fld )
call depository%get_field('sea_v_current', fld_ptr1)
call invoke(setval_x(fld_ptr1, fld))
+ case ("lf_inland_flow")
+ call log_field_minmax( LOG_LEVEL_DEBUG, &
+ 'Inland basin flow from coupler', fld)
+ call depository%get_field('inland_basin_flow', fld_ptr1)
+ call invoke(setval_X( fld_ptr1, fld ))
+ fld_ptr1 => null()
+
case default
write(log_scratch_space, '(3A)' ) &
"PROBLEM coupler_update_prognostics variable ", &
diff --git a/interfaces/coupled_interface/source/coupler_mod.F90 b/interfaces/coupled_interface/source/coupler_mod.F90
index 580728b96..bb492e93f 100644
--- a/interfaces/coupled_interface/source/coupler_mod.F90
+++ b/interfaces/coupled_interface/source/coupler_mod.F90
@@ -296,6 +296,10 @@ subroutine create_coupling_fields( mesh, &
call add_cpl_field(depository, prognostic_fields, &
'lf_svnocean', vector_space, checkpoint_restart_flag)
+ ! From TRIP river model
+ call add_cpl_field(depository, prognostic_fields, &
+ 'lf_inland_flow', vector_space, checkpoint_restart_flag)
+
end subroutine create_coupling_fields
diff --git a/interfaces/jedi_lfric_interface/rose-meta/jedi_lfric_interface/versions.py b/interfaces/jedi_lfric_interface/rose-meta/jedi_lfric_interface/versions.py
index b32607d9d..80608aaf6 100644
--- a/interfaces/jedi_lfric_interface/rose-meta/jedi_lfric_interface/versions.py
+++ b/interfaces/jedi_lfric_interface/rose-meta/jedi_lfric_interface/versions.py
@@ -830,3 +830,18 @@ def upgrade(self, config, meta_config=None):
)
return config, self.reports
+
+
+class vn31_t401(MacroUpgrade):
+ """Upgrade macro for ticket #401 by Dan Copsey."""
+
+ BEFORE_TAG = "vn3.1_t394"
+ AFTER_TAG = "vn3.1_t401"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/jules-lsm
+ self.add_setting(
+ config, ["namelist:jules_hydrology", "l_inland"], ".false."
+ )
+
+ return config, self.reports
diff --git a/interfaces/jules_interface/build/extract.yaml b/interfaces/jules_interface/build/extract.yaml
index df32506d5..43de90275 100644
--- a/interfaces/jules_interface/build/extract.yaml
+++ b/interfaces/jules_interface/build/extract.yaml
@@ -67,6 +67,7 @@ jules:
- src/control/shared/wtrac_extra_mod.F90
- src/initialisation/shared/calc_urban_aero_fields_mod.F90
- src/initialisation/shared/check_compatible_options_mod.F90
+ - src/initialisation/shared/check_compatible_options_rivers_mod.F90
- src/initialisation/shared/freeze_soil.F90
- src/initialisation/shared/wtrac_check_options_mod.F90
- src/science/deposition/deposition_check_species_mod.F90
diff --git a/interfaces/jules_interface/rose-meta/jules-lsm/versions.py b/interfaces/jules_interface/rose-meta/jules-lsm/versions.py
index 00aaf3d3e..053a11f0f 100644
--- a/interfaces/jules_interface/rose-meta/jules-lsm/versions.py
+++ b/interfaces/jules_interface/rose-meta/jules-lsm/versions.py
@@ -389,5 +389,19 @@ def upgrade(self, config, meta_config=None):
self.add_setting(
config, ["namelist:jules_vegetation", "l_use_pft_psi"], ".false."
)
+ return config, self.reports
+
+
+class vn31_t401(MacroUpgrade):
+ """Upgrade macro for ticket #401 by Dan Copsey."""
+
+ BEFORE_TAG = "vn3.1_t205"
+ AFTER_TAG = "vn3.1_t401"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/jules-lsm
+ self.add_setting(
+ config, ["namelist:jules_hydrology", "l_inland"], ".false."
+ )
return config, self.reports
diff --git a/interfaces/jules_interface/source/algorithm/init_soil_fields_alg_mod.x90 b/interfaces/jules_interface/source/algorithm/init_soil_fields_alg_mod.x90
index c370e62b0..71bcb9201 100644
--- a/interfaces/jules_interface/source/algorithm/init_soil_fields_alg_mod.x90
+++ b/interfaces/jules_interface/source/algorithm/init_soil_fields_alg_mod.x90
@@ -69,6 +69,7 @@ contains
type( field_type ), pointer :: wetness_under_soil => null()
type( field_type ), pointer :: surface_runoff => null()
type( field_type ), pointer :: sub_surface_runoff => null()
+ type( field_type ), pointer :: inland_basin_flow => null()
call soil_fields%get_field('soil_albedo', soil_albedo)
call soil_fields%get_field('soil_moist_wilt', soil_moist_wilt)
@@ -95,6 +96,7 @@ contains
call soil_fields%get_field('wetness_under_soil', wetness_under_soil)
call soil_fields%get_field('surface_runoff', surface_runoff)
call soil_fields%get_field('sub_surface_runoff', sub_surface_runoff)
+ call soil_fields%get_field('inland_basin_flow',inland_basin_flow)
! Set soil ancillaries to fixed values for if no ancil is read
call invoke( setval_c(soil_albedo, 0.11_r_def), &
@@ -114,6 +116,7 @@ contains
setval_c(c_wet_frac, 1.0_r_def), &
setval_c(surface_runoff, 0.0_r_def), &
setval_c(sub_surface_runoff, 0.0_r_def), &
+ setval_c(inland_basin_flow, 0.0_r_def ), &
! Set soil prognostics when no values are provided by um2lfric
setval_c(soil_sat_frac, 1.0_r_def), &
setval_c(water_table, 1.0_r_def), &
diff --git a/interfaces/jules_interface/source/algorithm/jules_extra_alg_mod.x90 b/interfaces/jules_interface/source/algorithm/jules_extra_alg_mod.x90
index 68241339a..9e788cac3 100644
--- a/interfaces/jules_interface/source/algorithm/jules_extra_alg_mod.x90
+++ b/interfaces/jules_interface/source/algorithm/jules_extra_alg_mod.x90
@@ -91,6 +91,7 @@ contains
type( field_type ), pointer :: snowice_melt => null()
type( field_type ), pointer :: snowice_sublimation => null()
type( field_type ), pointer :: urbztm => null()
+ type( field_type ), pointer :: inland_basin_flow => null()
! Sea ice fields
type( field_type ), pointer :: sea_ice_thickness => null()
@@ -205,6 +206,7 @@ contains
call soil_fields%get_field('wetness_under_soil', wetness_under_soil)
call soil_fields%get_field('surface_runoff', surface_runoff)
call soil_fields%get_field('sub_surface_runoff', sub_surface_runoff)
+ call soil_fields%get_field('inland_basin_flow', inland_basin_flow)
! Snow fields
call snow_fields%get_field('tile_snow_mass', tile_snow_mass)
@@ -247,6 +249,7 @@ contains
mean_topog_index, a_sat_frac, c_sat_frac, &
a_wet_frac, c_wet_frac, tile_temperature, &
net_prim_prod, snowice_sublimation, surf_heat_flux, &
+ inland_basin_flow, &
canopy_evap, water_extraction, &
thermal_cond_wet_soil, urbztm, &
soil_temperature, soil_moisture, &
@@ -290,7 +293,8 @@ contains
surface_runoff, sub_surface_runoff, &
water_table, soil_moist_wilt, &
soil_moist_crit, soil_moist_sat, &
- grid_canopy_water,grid_throughfall)
+ grid_canopy_water,grid_throughfall, &
+ inland_basin_flow)
! Output sea ice diagnostics
call output_diags_for_jules_seaice(tile_fraction, sea_ice_thickness, &
diff --git a/interfaces/jules_interface/source/diagnostics/jules_soil_diags_mod.x90 b/interfaces/jules_interface/source/diagnostics/jules_soil_diags_mod.x90
index a3db5c361..1127503f6 100644
--- a/interfaces/jules_interface/source/diagnostics/jules_soil_diags_mod.x90
+++ b/interfaces/jules_interface/source/diagnostics/jules_soil_diags_mod.x90
@@ -93,6 +93,7 @@ contains
!> @param[in] soil_moist_sat Soil moisture at saturation
!> @param[in,out] grid_canopy_water Grid canopy water
!> @param[in,out] grid_throughfall Grid throughfall
+ !> @param[in] inland_basin_flow Inland basin flow from rivers to soil
subroutine output_diags_for_jules_soil(tile_fraction, soil_moisture_content, &
canopy_water, soil_moisture, &
@@ -101,7 +102,8 @@ contains
surface_runoff, sub_surface_runoff, &
water_table, soil_moist_wilt, &
soil_moist_crit, soil_moist_sat, &
- grid_canopy_water,grid_throughfall)
+ grid_canopy_water,grid_throughfall, &
+ inland_basin_flow)
use jules_control_init_mod, only : n_land_tile
@@ -116,7 +118,8 @@ contains
water_table, &
soil_moist_wilt, &
soil_moist_crit, &
- soil_moist_sat
+ soil_moist_sat, &
+ inland_basin_flow
! Diagnostics computed within the kernel
type( field_type ), intent(in) :: throughfall
@@ -157,9 +160,10 @@ contains
if (throughfall_flag) call throughfall%write_field()
if (soil_moisture_content_flag) call soil_moisture_content%write_field()
- ! More prognostic fields
+ ! Prognostic fields needed for coupling to rivers
call surface_runoff%write_field('soil__surface_runoff')
call sub_surface_runoff%write_field('soil__sub_surface_runoff')
+ call inland_basin_flow%write_field('soil__inland_basin_flow')
if ( LPROF ) call stop_timing( id, 'diags.jules_soil' )
diff --git a/interfaces/jules_interface/source/kernel/jules_extra_kernel_mod.F90 b/interfaces/jules_interface/source/kernel/jules_extra_kernel_mod.F90
index 14885cc8b..171092e90 100644
--- a/interfaces/jules_interface/source/kernel/jules_extra_kernel_mod.F90
+++ b/interfaces/jules_interface/source/kernel/jules_extra_kernel_mod.F90
@@ -32,7 +32,7 @@ module jules_extra_kernel_mod
!>
type, public, extends(kernel_type) :: jules_extra_kernel_type
private
- type(arg_type) :: meta_args(58) = (/ &
+ type(arg_type) :: meta_args(59) = (/ &
arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_1), & ! ls_rain
arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_1), & ! conv_rain
arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_1), & ! ls_snow
@@ -62,6 +62,7 @@ module jules_extra_kernel_mod
arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_1), & ! net_prim_prod
arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_2), & ! snowice_sublimation
arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_2), & ! surf_heat_flux
+ arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_1), & ! inland_basin_flow
arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_2), & ! canopy_evap
arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_4), & ! water_extraction
arg_type(GH_FIELD, GH_REAL, GH_READ, ANY_DISCONTINUOUS_SPACE_1), & ! thermal_cond_wet_soil
@@ -137,6 +138,7 @@ module jules_extra_kernel_mod
!> @param[in] net_prim_prod Net Primary Productivity (kg m-2 s-1)
!> @param[in] snowice_sublimation Sublimation of snow and ice (kg m-2 s-1)
!> @param[in] surf_heat_flux Surface heat flux (W m-2)
+ !> @param[in] inland_basin_flow Inland flow of water from rivers to soil (kg m-2 s-1)
!> @param[in] canopy_evap Canopy evaporation from land tiles (kg m-2 s-1)
!> @param[in] water_extraction Extraction of water from each soil layer (kg m-2 s-1)
!> @param[in] thermal_cond_wet_soil Thermal conductivity of soil (W m-1 K-1)
@@ -212,6 +214,7 @@ subroutine jules_extra_code( &
net_prim_prod, &
snowice_sublimation, &
surf_heat_flux, &
+ inland_basin_flow, &
canopy_evap, &
water_extraction, &
thermal_cond_wet_soil, &
@@ -421,6 +424,7 @@ subroutine jules_extra_code( &
real(kind=r_def), intent(in) :: net_prim_prod(undf_2d)
real(kind=r_def), intent(in) :: thermal_cond_wet_soil(undf_2d)
real(kind=r_def), intent(in) :: urbztm(undf_2d)
+ real(kind=r_def), intent(in) :: inland_basin_flow(undf_2d)
real(kind=r_def), intent(inout) :: canopy_water(undf_tile)
real(kind=r_def), intent(inout) :: tile_snow_mass(undf_tile)
@@ -902,6 +906,7 @@ subroutine jules_extra_code( &
allocate(fsat_soilt(land_pts, nsoilt))
allocate(zw_soilt(land_pts, nsoilt))
allocate(sthzw_soilt(land_pts, nsoilt))
+ allocate(inlandout_atm_gb(land_pts))
do l = 1, land_pts
! Soil saturated fraction
fsat_soilt(l,1) = real(soil_sat_frac(map_2d(1,ainfo%land_index(l))), r_um)
@@ -909,6 +914,8 @@ subroutine jules_extra_code( &
zw_soilt(l,1) = real(water_table(map_2d(1,ainfo%land_index(l))), r_um)
! Soil wetness below soil column
sthzw_soilt(l,1) = real(wetness_under_soil(map_2d(1,ainfo%land_index(l))), r_um)
+ ! Inland basin flow
+ inlandout_atm_gb(l) = real(inland_basin_flow(map_2d(1,ainfo%land_index(l))), r_um)
end do
!----------------------------------------------------------------------------
@@ -929,7 +936,6 @@ subroutine jules_extra_code( &
allocate(dhf_surf_minus_soil(land_pts))
allocate(tot_surf_runoff(land_pts))
allocate(tot_sub_runoff(land_pts))
- allocate(inlandout_atm_gb(land_pts))
call surf_couple_extra( &
!Driving data and associated INTENT(IN)
@@ -1049,8 +1055,10 @@ subroutine jules_extra_code( &
! Wetness below soil column
wetness_under_soil(map_2d(1,ainfo%land_index(l))) = real(sthzw_soilt(l,1), r_def)
! River runoffs
- surface_runoff(map_2d(1,ainfo%land_index(l))) = real(fluxes%surf_roff_gb(l), r_def)
- sub_surface_runoff(map_2d(1,ainfo%land_index(l))) = real(fluxes%sub_surf_roff_gb(l), r_def)
+ surface_runoff(map_2d(1,ainfo%land_index(l))) = real(fluxes%surf_roff_gb(l), r_def) * &
+ flandg(ainfo%land_index(l), 1)
+ sub_surface_runoff(map_2d(1,ainfo%land_index(l))) = real(fluxes%sub_surf_roff_gb(l), r_def) * &
+ flandg(ainfo%land_index(l), 1)
end do
if (.not. associated(soil_moisture_content, empty_real_data) ) then
diff --git a/interfaces/jules_interface/source/support/jules_physics_init_mod.f90 b/interfaces/jules_interface/source/support/jules_physics_init_mod.f90
index 29629322c..137636d98 100644
--- a/interfaces/jules_interface/source/support/jules_physics_init_mod.f90
+++ b/interfaces/jules_interface/source/support/jules_physics_init_mod.f90
@@ -109,7 +109,7 @@ subroutine jules_physics_init(config)
use c_z0h_z0m, only: c_z0h_z0m_print, c_z0h_z0m_check, z0h_z0m
use jules_hydrology_mod, only: check_jules_hydrology, &
print_nlist_jules_hydrology, l_hydrology, l_top, l_var_rainfrac, &
- nfita, ti_max, ti_wetl, zw_max
+ nfita, ti_max, ti_wetl, zw_max, l_inland
use jules_irrig_mod, only: l_irrig_dmd
use jules_radiation_mod, only: i_sea_alb_method, &
l_embedded_snow, l_mask_snow_orog, &
@@ -198,6 +198,7 @@ subroutine jules_physics_init(config)
! JULES hydrology settings - contained in module jules_hydrology
! ----------------------------------------------------------------
l_hydrology = config%jules_hydrology%l_hydrology()
+ l_inland = config%jules_hydrology%l_inland()
l_top = .true.
l_var_rainfrac = config%jules_hydrology%l_var_rainfrac()
nfita = 30
diff --git a/rose-stem/app/adjoint_tests/rose-app.conf b/rose-stem/app/adjoint_tests/rose-app.conf
index 4195b25bb..c343c4468 100644
--- a/rose-stem/app/adjoint_tests/rose-app.conf
+++ b/rose-stem/app/adjoint_tests/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-adjoint_tests/vn3.1_t394
+meta=lfric-adjoint_tests/vn3.1_t401
[command]
default=rose env-cat iodef_temp.xml -o iodef.xml; $LAUNCH_SCRIPT/launch-exe
@@ -634,6 +634,7 @@ write_minmax_tseries=.false.
[!!namelist:jules_hydrology]
l_hydrology=.true.
+l_inland=.false.
!!l_var_rainfrac=.true.
[!!namelist:jules_model_environment_lfric]
diff --git a/rose-stem/app/gravity_wave/rose-app.conf b/rose-stem/app/gravity_wave/rose-app.conf
index f10310d15..0add49510 100644
--- a/rose-stem/app/gravity_wave/rose-app.conf
+++ b/rose-stem/app/gravity_wave/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-gravity_wave/vn3.1_t394
+meta=lfric-gravity_wave/vn3.1_t401
[command]
default=$CORE_ROOT_DIR/bin/tweak_iodef; \
@@ -602,6 +602,7 @@ write_minmax_tseries=.false.
[!!namelist:jules_hydrology]
l_hydrology=.true.
+l_inland=.false.
!!l_var_rainfrac=.false.
[!!namelist:jules_model_environment_lfric]
diff --git a/rose-stem/app/gungho_model/rose-app.conf b/rose-stem/app/gungho_model/rose-app.conf
index 9b3b5ac50..90a4e2804 100644
--- a/rose-stem/app/gungho_model/rose-app.conf
+++ b/rose-stem/app/gungho_model/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-gungho_model/vn3.1_t394
+meta=lfric-gungho_model/vn3.1_t401
[command]
default=$CORE_ROOT_DIR/bin/tweak_iodef ; \
@@ -621,6 +621,7 @@ write_minmax_tseries=.false.
[!!namelist:jules_hydrology]
l_hydrology=.true.
+l_inland=.false.
!!l_var_rainfrac=.true.
[!!namelist:jules_model_environment_lfric]
diff --git a/rose-stem/app/jedi_forecast/rose-app.conf b/rose-stem/app/jedi_forecast/rose-app.conf
index 16cc3c746..e31b652b1 100644
--- a/rose-stem/app/jedi_forecast/rose-app.conf
+++ b/rose-stem/app/jedi_forecast/rose-app.conf
@@ -1,4 +1,4 @@
-meta=jedi_forecast/vn3.1_t394
+meta=jedi_forecast/vn3.1_t401
[command]
default=$CORE_ROOT_DIR/bin/tweak_iodef ; \
@@ -659,6 +659,7 @@ variables='theta','rho','exner'
[!!namelist:jules_hydrology]
l_hydrology=.true.
+l_inland=.false.
!!l_var_rainfrac=.true.
[!!namelist:jules_model_environment_lfric]
diff --git a/rose-stem/app/jedi_forecast_pseudo/rose-app.conf b/rose-stem/app/jedi_forecast_pseudo/rose-app.conf
index 7039bc01e..7562ed42a 100644
--- a/rose-stem/app/jedi_forecast_pseudo/rose-app.conf
+++ b/rose-stem/app/jedi_forecast_pseudo/rose-app.conf
@@ -1,4 +1,4 @@
-meta=jedi_forecast_pseudo/vn3.1_t394
+meta=jedi_forecast_pseudo/vn3.1_t401
[command]
default=$CORE_ROOT_DIR/bin/tweak_iodef; \
@@ -654,6 +654,7 @@ variables='theta','rho','u10m','exner','u_in_w3','v_in_w3','w_in_wth',
[!!namelist:jules_hydrology]
l_hydrology=.true.
+l_inland=.false.
!!l_var_rainfrac=.true.
[!!namelist:jules_model_environment_lfric]
diff --git a/rose-stem/app/jedi_id_tlm_tests/rose-app.conf b/rose-stem/app/jedi_id_tlm_tests/rose-app.conf
index 824c89a50..e03ac1f09 100644
--- a/rose-stem/app/jedi_id_tlm_tests/rose-app.conf
+++ b/rose-stem/app/jedi_id_tlm_tests/rose-app.conf
@@ -1,4 +1,4 @@
-meta=jedi_id_tlm_tests/vn3.1_t394
+meta=jedi_id_tlm_tests/vn3.1_t401
[command]
default=$CORE_ROOT_DIR/bin/tweak_iodef; \
@@ -678,6 +678,7 @@ variables='theta','rho','exner','u_in_w3','v_in_w3','w_in_wth','m_v',
[!!namelist:jules_hydrology]
l_hydrology=.true.
+l_inland=.false.
!!l_var_rainfrac=.true.
[!!namelist:jules_model_environment_lfric]
diff --git a/rose-stem/app/jedi_lfric_tests/rose-app.conf b/rose-stem/app/jedi_lfric_tests/rose-app.conf
index 65cf22493..1dd05a7bb 100644
--- a/rose-stem/app/jedi_lfric_tests/rose-app.conf
+++ b/rose-stem/app/jedi_lfric_tests/rose-app.conf
@@ -1,4 +1,4 @@
-meta=jedi_lfric_tests/vn3.1_t394
+meta=jedi_lfric_tests/vn3.1_t401
[command]
default=rose env-cat iodef_temp.xml -o iodef.xml; $LAUNCH_SCRIPT/launch-exe
@@ -680,6 +680,7 @@ variables='theta','rho','u10m','exner','u_in_w3','v_in_w3','w_in_wth',
[!!namelist:jules_hydrology]
l_hydrology=.true.
+l_inland=.false.
!!l_var_rainfrac=.true.
[!!namelist:jules_model_environment_lfric]
diff --git a/rose-stem/app/jedi_tlm_forecast_tl/rose-app.conf b/rose-stem/app/jedi_tlm_forecast_tl/rose-app.conf
index 103ce6526..277e51cc6 100644
--- a/rose-stem/app/jedi_tlm_forecast_tl/rose-app.conf
+++ b/rose-stem/app/jedi_tlm_forecast_tl/rose-app.conf
@@ -1,4 +1,4 @@
-meta=jedi_tlm_forecast_tl/vn3.1_t394
+meta=jedi_tlm_forecast_tl/vn3.1_t401
[command]
default=$CORE_ROOT_DIR/bin/tweak_iodef; \
@@ -678,6 +678,7 @@ variables='theta','rho','exner','u_in_w3','v_in_w3','w_in_wth','m_v',
[!!namelist:jules_hydrology]
l_hydrology=.true.
+l_inland=.false.
!!l_var_rainfrac=.true.
[!!namelist:jules_model_environment_lfric]
diff --git a/rose-stem/app/jedi_tlm_tests/rose-app.conf b/rose-stem/app/jedi_tlm_tests/rose-app.conf
index e522229d5..9f039207f 100644
--- a/rose-stem/app/jedi_tlm_tests/rose-app.conf
+++ b/rose-stem/app/jedi_tlm_tests/rose-app.conf
@@ -1,4 +1,4 @@
-meta=jedi_tlm_tests/vn3.1_t394
+meta=jedi_tlm_tests/vn3.1_t401
[command]
default=$CORE_ROOT_DIR/bin/tweak_iodef; \
@@ -678,6 +678,7 @@ variables='theta','rho','exner','u_in_w3','v_in_w3','w_in_wth','m_v',
[!!namelist:jules_hydrology]
l_hydrology=.true.
+l_inland=.false.
!!l_var_rainfrac=.true.
[!!namelist:jules_model_environment_lfric]
diff --git a/rose-stem/app/jules/rose-app.conf b/rose-stem/app/jules/rose-app.conf
index 0ebc1ee4d..9c760d44d 100644
--- a/rose-stem/app/jules/rose-app.conf
+++ b/rose-stem/app/jules/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-jules/vn3.1_t394
+meta=lfric-jules/vn3.1_t401
[command]
default=$CORE_ROOT_DIR/bin/tweak_iodef; \
@@ -690,6 +690,7 @@ write_minmax_tseries=.false.
[namelist:jules_hydrology]
l_hydrology=.true.
+l_inland=.false.
l_var_rainfrac=.true.
[namelist:jules_model_environment_lfric]
diff --git a/rose-stem/app/lfric2lfric/rose-app.conf b/rose-stem/app/lfric2lfric/rose-app.conf
index dd57719ad..a5e2480b9 100644
--- a/rose-stem/app/lfric2lfric/rose-app.conf
+++ b/rose-stem/app/lfric2lfric/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-lfric2lfric/vn3.1_t394
+meta=lfric-lfric2lfric/vn3.1_t401
[command]
default=$CORE_ROOT_DIR/bin/tweak_iodef; \
@@ -558,6 +558,7 @@ write_minmax_tseries=.false.
[!!namelist:jules_hydrology]
l_hydrology=.false.
+l_inland=.false.
!!l_var_rainfrac=.false.
[!!namelist:jules_model_environment_lfric]
diff --git a/rose-stem/app/lfric_atm/rose-app.conf b/rose-stem/app/lfric_atm/rose-app.conf
index d6c285f49..88739e324 100644
--- a/rose-stem/app/lfric_atm/rose-app.conf
+++ b/rose-stem/app/lfric_atm/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-lfric_atm/vn3.1_t394
+meta=lfric-lfric_atm/vn3.1_t401
[command]
default=$CORE_ROOT_DIR/bin/tweak_iodef; \
@@ -644,6 +644,7 @@ write_minmax_tseries=.false.
[namelist:jules_hydrology]
l_hydrology=.true.
+l_inland=.false.
l_var_rainfrac=.true.
[namelist:jules_model_environment_lfric]
diff --git a/rose-stem/app/lfric_coupled_atmosphere/rose-app.conf b/rose-stem/app/lfric_coupled_atmosphere/rose-app.conf
index 1eb7cc25e..4a3ce6471 100644
--- a/rose-stem/app/lfric_coupled_atmosphere/rose-app.conf
+++ b/rose-stem/app/lfric_coupled_atmosphere/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-lfric_atm/vn3.1_t394
+meta=lfric-lfric_atm/vn3.1_t401
[command]
default=$CORE_ROOT_DIR/bin/tweak_iodef; \
@@ -640,6 +640,7 @@ write_minmax_tseries=.false.
[namelist:jules_hydrology]
l_hydrology=.true.
+l_inland=.false.
l_var_rainfrac=.true.
[namelist:jules_model_environment_lfric]
diff --git a/rose-stem/app/lfric_coupled_rivers/rose-app.conf b/rose-stem/app/lfric_coupled_rivers/rose-app.conf
index 35e9afab0..1f49936e0 100644
--- a/rose-stem/app/lfric_coupled_rivers/rose-app.conf
+++ b/rose-stem/app/lfric_coupled_rivers/rose-app.conf
@@ -1,4 +1,4 @@
-meta=jules-standalone/vn7.9_t1392
+meta=jules-standalone/vn8.1_t34
[command]
default=rose-run jules.exe
@@ -67,6 +67,7 @@ y_dim_name='latitude'
[namelist:jules_land_frac]
file='$RIV_NUMBER_ANCILLARY/river_mask_fracarea_ancil.nc'
+l_use_land_fraction=.false.
land_frac_name='lsmask'
[namelist:jules_latlon]
@@ -128,7 +129,6 @@ prnt_writers=1
!!cland=0.2
!!criver=0.62
i_river_vn=3
-!!l_inland=.false.
!!l_riv_overbank=.false.
l_rivers=.true.
!!lake_water_conserve_method=1
diff --git a/rose-stem/app/linear_model/rose-app.conf b/rose-stem/app/linear_model/rose-app.conf
index 25ba24496..a58fc3d57 100644
--- a/rose-stem/app/linear_model/rose-app.conf
+++ b/rose-stem/app/linear_model/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-linear_model/vn3.1_t394
+meta=lfric-linear_model/vn3.1_t401
[command]
default=rose env-cat iodef_temp.xml -o iodef.xml; $LAUNCH_SCRIPT/launch-exe
@@ -630,6 +630,7 @@ write_minmax_tseries=.false.
[!!namelist:jules_hydrology]
l_hydrology=.true.
+l_inland=.false.
!!l_var_rainfrac=.true.
[!!namelist:jules_model_environment_lfric]
diff --git a/rose-stem/app/name_transport/rose-app.conf b/rose-stem/app/name_transport/rose-app.conf
index 27937a109..6375733a9 100644
--- a/rose-stem/app/name_transport/rose-app.conf
+++ b/rose-stem/app/name_transport/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-name_transport/vn3.1_t394
+meta=lfric-name_transport/vn3.1_t401
[command]
default=$CORE_ROOT_DIR/bin/tweak_iodef; \
@@ -609,6 +609,7 @@ write_minmax_tseries=.false.
[!!namelist:jules_hydrology]
l_hydrology=.true.
+l_inland=.false.
!!l_var_rainfrac=.false.
[!!namelist:jules_model_environment_lfric]
diff --git a/rose-stem/app/ngarch/rose-app.conf b/rose-stem/app/ngarch/rose-app.conf
index eedb6845a..292fc26e2 100644
--- a/rose-stem/app/ngarch/rose-app.conf
+++ b/rose-stem/app/ngarch/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-ngarch/vn3.1_t394
+meta=lfric-ngarch/vn3.1_t401
[command]
default=$CORE_ROOT_DIR/bin/tweak_iodef; \
@@ -674,6 +674,7 @@ write_minmax_tseries=.false.
[namelist:jules_hydrology]
l_hydrology=.true.
+l_inland=.false.
l_var_rainfrac=.true.
[namelist:jules_model_environment_lfric]
diff --git a/rose-stem/app/shallow_water/rose-app.conf b/rose-stem/app/shallow_water/rose-app.conf
index 527f80505..0a2481bf9 100644
--- a/rose-stem/app/shallow_water/rose-app.conf
+++ b/rose-stem/app/shallow_water/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-shallow_water/vn3.1_t394
+meta=lfric-shallow_water/vn3.1_t401
[command]
default=$CORE_ROOT_DIR/bin/tweak_iodef; \
@@ -594,6 +594,7 @@ write_minmax_tseries=.false.
[!!namelist:jules_hydrology]
l_hydrology=.true.
+l_inland=.false.
!!l_var_rainfrac=.false.
[!!namelist:jules_model_environment_lfric]
diff --git a/rose-stem/app/transport/rose-app.conf b/rose-stem/app/transport/rose-app.conf
index ad74ae1d7..da98a774b 100644
--- a/rose-stem/app/transport/rose-app.conf
+++ b/rose-stem/app/transport/rose-app.conf
@@ -1,4 +1,4 @@
-meta=lfric-transport/vn3.1_t394
+meta=lfric-transport/vn3.1_t401
[command]
default=$CORE_ROOT_DIR/bin/tweak_iodef; \
@@ -608,6 +608,7 @@ write_minmax_tseries=.false.
[!!namelist:jules_hydrology]
l_hydrology=.true.
+l_inland=.false.
!!l_var_rainfrac=.false.
[!!namelist:jules_model_environment_lfric]
diff --git a/rose-stem/site/meto/kgos/lfric_coupled/ex1a/checksum_lfric_coupled_nwp_gal9-C48_ex1a_cce_fast-debug-64bit.txt b/rose-stem/site/meto/kgos/lfric_coupled/ex1a/checksum_lfric_coupled_nwp_gal9-C48_ex1a_cce_fast-debug-64bit.txt
index 84d7baae7..e87a08856 100644
--- a/rose-stem/site/meto/kgos/lfric_coupled/ex1a/checksum_lfric_coupled_nwp_gal9-C48_ex1a_cce_fast-debug-64bit.txt
+++ b/rose-stem/site/meto/kgos/lfric_coupled/ex1a/checksum_lfric_coupled_nwp_gal9-C48_ex1a_cce_fast-debug-64bit.txt
@@ -1,9 +1,9 @@
-Inner product checksum rho = 411B54F17180013C
-Inner product checksum theta = 42735B567D22B528
-Inner product checksum u = 456F1322FC61575E
-Inner product checksum mr1 = 40368397C4B695BF
-Inner product checksum mr2 = 3F3F7458B817DE6E
-Inner product checksum mr3 = 3F0391626A2048F2
-Inner product checksum mr4 = 3F36E6B7BFFA2A68
+Inner product checksum rho = 411B54EDFE88F36B
+Inner product checksum theta = 42735B55E4723BB2
+Inner product checksum u = 456F12D1620AF46E
+Inner product checksum mr1 = 403682F9FA8D2FF2
+Inner product checksum mr2 = 3F3F4DCDD3CCEC28
+Inner product checksum mr3 = 3F035046D05A7507
+Inner product checksum mr4 = 3F36F51E48AE691E
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
diff --git a/science/adjoint/rose-meta/lfric-adjoint/versions.py b/science/adjoint/rose-meta/lfric-adjoint/versions.py
index 6ec43f85f..2f3a9d5e9 100644
--- a/science/adjoint/rose-meta/lfric-adjoint/versions.py
+++ b/science/adjoint/rose-meta/lfric-adjoint/versions.py
@@ -850,3 +850,18 @@ def upgrade(self, config, meta_config=None):
)
return config, self.reports
+
+
+class vn31_t401(MacroUpgrade):
+ """Upgrade macro for ticket #401 by Dan Copsey."""
+
+ BEFORE_TAG = "vn3.1_t394"
+ AFTER_TAG = "vn3.1_t401"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/jules-lsm
+ self.add_setting(
+ config, ["namelist:jules_hydrology", "l_inland"], ".false."
+ )
+
+ return config, self.reports
diff --git a/science/gungho/rose-meta/lfric-gungho/versions.py b/science/gungho/rose-meta/lfric-gungho/versions.py
index 588163493..a67a9fc0c 100644
--- a/science/gungho/rose-meta/lfric-gungho/versions.py
+++ b/science/gungho/rose-meta/lfric-gungho/versions.py
@@ -805,3 +805,18 @@ def upgrade(self, config, meta_config=None):
)
return config, self.reports
+
+
+class vn31_t401(MacroUpgrade):
+ """Upgrade macro for ticket #401 by Dan Copsey."""
+
+ BEFORE_TAG = "vn3.1_t394"
+ AFTER_TAG = "vn3.1_t401"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/jules-lsm
+ self.add_setting(
+ config, ["namelist:jules_hydrology", "l_inland"], ".false."
+ )
+
+ return config, self.reports
diff --git a/science/gungho/source/driver/create_physics_prognostics_mod.F90 b/science/gungho/source/driver/create_physics_prognostics_mod.F90
index cc4e98025..49ff90c68 100644
--- a/science/gungho/source/driver/create_physics_prognostics_mod.F90
+++ b/science/gungho/source/driver/create_physics_prognostics_mod.F90
@@ -959,6 +959,7 @@ subroutine process_physics_prognostics(processor)
empty = (.not. l_urban2t) ))
call processor%apply(make_spec('urbemisc', main%surface, W3, twod=.true., &
empty = (.not. l_urban2t)))
+
! 2D fields, need checkpointing for urban-2-tile schemes
call processor%apply(make_spec('urbwrr', main%surface, twod=.true., &
ckp=l_urban2t, empty = (.not. l_urban2t) ))
@@ -1057,6 +1058,8 @@ subroutine process_physics_prognostics(processor)
call processor%apply(make_spec('soil_moist_avail', main%soil, W3, twod=.true.))
call processor%apply(make_spec('thermal_cond_wet_soil', main%soil, W3, &
twod=.true.))
+ call processor%apply(make_spec('inland_basin_flow', main%soil, W3, &
+ twod=.true.))
!========================================================================
! Fields owned by the snow scheme
diff --git a/science/gungho/source/driver/gungho_model_mod.F90 b/science/gungho/source/driver/gungho_model_mod.F90
index 6597c186f..7181035a9 100644
--- a/science/gungho/source/driver/gungho_model_mod.F90
+++ b/science/gungho/source/driver/gungho_model_mod.F90
@@ -859,9 +859,9 @@ subroutine initialise_infrastructure( io_context_name, modeldb )
! Set up collections to hold 2d coupling fields
call modeldb%fields%add_empty_field_collection("cpl_snd_2d" , &
- table_len = 30)
+ table_len = 1)
call modeldb%fields%add_empty_field_collection("cpl_rcv_2d" , &
- table_len = 30)
+ table_len = 1)
cpl_snd_2d => modeldb%fields%get_field_collection("cpl_snd_2d")
cpl_rcv_2d => modeldb%fields%get_field_collection("cpl_rcv_2d")
diff --git a/science/linear/rose-meta/lfric-linear/versions.py b/science/linear/rose-meta/lfric-linear/versions.py
index b32607d9d..80608aaf6 100644
--- a/science/linear/rose-meta/lfric-linear/versions.py
+++ b/science/linear/rose-meta/lfric-linear/versions.py
@@ -830,3 +830,18 @@ def upgrade(self, config, meta_config=None):
)
return config, self.reports
+
+
+class vn31_t401(MacroUpgrade):
+ """Upgrade macro for ticket #401 by Dan Copsey."""
+
+ BEFORE_TAG = "vn3.1_t394"
+ AFTER_TAG = "vn3.1_t401"
+
+ def upgrade(self, config, meta_config=None):
+ # Commands From: rose-meta/jules-lsm
+ self.add_setting(
+ config, ["namelist:jules_hydrology", "l_inland"], ".false."
+ )
+
+ return config, self.reports