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