Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
e4af37f
Merge in FCM version of this branch
DanCopsey Jan 20, 2026
2e888fb
Upgraded to vn8.0
DanCopsey Jan 20, 2026
b0ce765
Correct upgrade macro
DanCopsey Feb 11, 2026
b8a7998
merged in trunk
DanCopsey Mar 20, 2026
d20756b
Correct URL
DanCopsey Mar 20, 2026
35e447d
Corrected version for upgrade
DanCopsey Mar 24, 2026
c84474d
Corrected some meta data
DanCopsey Mar 24, 2026
582b1d8
Fix units that do not allow upgrade
DanCopsey Mar 24, 2026
c725632
updated meta data
DanCopsey Mar 25, 2026
58587ec
Added my name to CONTRIBUTORS.md
DanCopsey Mar 27, 2026
a2f80cb
Get inland outflow and river outflow to be initialised for coupled mo…
DanCopsey Apr 2, 2026
9baf7ce
Added documentation changes from https://github.com/jules-lsm/jules-l…
DanCopsey Apr 7, 2026
2444a28
Added reviewer suggested changes from https://code.metoffice.gov.uk/t…
DanCopsey Apr 10, 2026
27a474d
Fix user guide build-and-deploy failures
DanCopsey Apr 13, 2026
a8a0077
Removed micro gram change that I made to get upgrade to work
DanCopsey Apr 13, 2026
8ef3479
Remove rose-meta.conf.orig that somehow got added by accident
DanCopsey Apr 15, 2026
fcf6e14
Edit warning message
DanCopsey Apr 15, 2026
cbad875
Applied most of the reviewer comments from here https://github.com/Me…
DanCopsey Apr 28, 2026
ac7f3be
Merged in head of trunk
DanCopsey May 13, 2026
d552462
Add check that land frations have correct land points
DanCopsey May 14, 2026
46f03ab
Ran umdp3_fixer.py
DanCopsey May 14, 2026
0a3cc30
Remove /= bit to if test
DanCopsey May 15, 2026
e7c60bf
Change from COUNT to SUM
DanCopsey May 15, 2026
804c8db
Update doc/source/namelists/initial_conditions.nml.rst
DanCopsey May 19, 2026
f550110
Update doc/source/namelists/initial_conditions.nml.rst
DanCopsey May 19, 2026
8ae1116
Update doc/source/output-variables.rst
DanCopsey May 19, 2026
3ad4965
Update src/initialisation/standalone/ancillaries/init_ancillaries_cou…
DanCopsey May 19, 2026
322f05d
Update src/initialisation/standalone/ancillaries/init_ancillaries_cou…
DanCopsey May 19, 2026
14e7aa3
Replace log_error with log_fatal (to get the model to stop)
DanCopsey May 19, 2026
a79c51d
Fix issue with table in documentation
DanCopsey May 19, 2026
fd34c2c
Remove option to initialise river_outflow_rp and inland_outflow_rp fr…
DanCopsey May 21, 2026
46109fa
Update doc/source/output-variables.rst
DanCopsey May 21, 2026
03fbde4
Update doc/source/output-variables.rst
DanCopsey May 21, 2026
0057f5d
Update rose-meta/jules-shared/jules-hydrology/HEAD/rose-meta.conf
DanCopsey May 21, 2026
6e678d1
merged in main
DanCopsey Jun 3, 2026
dc034ab
Update src/initialisation/standalone/ancillaries/init_rivers_process_…
DanCopsey Jun 12, 2026
c6bdf47
Merge remote-tracking branch 'origin/main' into inland_flow
james-bruten-mo Jun 19, 2026
29bc5be
Corrected jules_initial for rivers-only simulations in rose-stem
DanCopsey Jun 19, 2026
4945a12
Revert back to previous jules_initial apart from rivers_sto_rp has be…
DanCopsey Jun 19, 2026
a4bd3f3
apply macros
james-bruten-mo Jun 19, 2026
79eec37
Merge branch 'inland_flow' of github.com:DanCopsey/jules into inland_…
DanCopsey Jun 19, 2026
230a619
Merge branch 'inland_flow' of ssh://github.com/DanCopsey/jules into i…
james-bruten-mo Jun 22, 2026
1513152
kgo
james-bruten-mo Jun 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,4 @@
| eleanorgb | Eleanor Burke | Met Office | 2026-03-06 |
| Pierre-siddall | Pierre Siddall| Met Office | 2026-02-06 |
| tinyendian | Wolfgang Hayek | Earth Sciences New Zealand | 2026-04-24 |
| DanCopsey | Dan Copsey | Met Office | 2026-03-27 |
5 changes: 5 additions & 0 deletions doc/source/namelists/initial_conditions.nml.rst
Original file line number Diff line number Diff line change
Expand Up @@ -425,6 +425,11 @@ The required variables for a particular configuration, along with their 'type' a
+----------------------------------+-----------------------------------------------------------------------------------------+---------+
| ``rivers_outflow_rp`` | River outflow on river routing points (kg s\ :sup:`-1`) | none |
+----------------------------------+-----------------------------------------------------------------------------------------+---------+
Comment thread
maggiehendry marked this conversation as resolved.
| Required if :nml:mem:`JULES_RIVERS::l_rivers` = TRUE, :nml:mem:`JULES_RIVERS::i_river_vn` = '3', |
| :nml:mem:`JULES_INITIAL::dump_file` = TRUE and :nml:mem:`OASIS_RIVERS::send_fields` contains ``inland_outflow``. |
+----------------------------------+-----------------------------------------------------------------------------------------+---------+
| ``inland_outflow_rp`` | Inland basin flow on river routing points (kg m\ :sup:`-2` s\ :sup:`-1`). | none |
+----------------------------------+-----------------------------------------------------------------------------------------+---------+
| Required if :nml:mem:`JULES_VEGETATION::photo_acclim_model` = 2 or 3 |
+----------------------------------+-----------------------------------------------------------------------------------------+---------+
| ``t_growth_gb`` | Running mean air temperature (K) | none |
Expand Down
12 changes: 12 additions & 0 deletions doc/source/namelists/jules_hydrology.nml.rst
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,18 @@ This file sets the hydrology options. It contains one namelist called :nml:lst:`
Allow the soil conductance to increase as the top layer soil moisture goes above the critical soil moisture, as in Best et al. (2011) equation 7.


.. nml:member:: l_inland

:type: logical
:default: F

TRUE
Some rivers end at inland basin flow points. This inland basin flow is used to increase soil moisture at these locations for water conservation purposes. This is only available for coupled models i.e. UM or LFRic. When coupled to LFRic, the soil moisture flux correction applied by this switch must be calculated by the Rivers-standalone component (:nml:mem:`JULES_MODEL_ENVIRONMENT::lsm_id` = 3) and passed to LFRic via OASIS using :nml:mem:`OASIS_RIVERS::send_fields` = inland_outflow.

FALSE
No inland basin flow.


.. nml:group:: Only used if :nml:mem:`JULES_HYDROLOGY::l_top` = TRUE

.. nml:member:: zw_max
Expand Down
17 changes: 16 additions & 1 deletion doc/source/namelists/model_grid.nml.rst
Original file line number Diff line number Diff line change
Expand Up @@ -382,7 +382,7 @@ Examples of how to specify the model domain using through this namelist are prov

.. nml:namelist:: JULES_LAND_FRAC

Land fraction is the fraction of each gridbox that is land. Currently, JULES considers any gridbox with land fraction > 0 to be 100% land, and all others to be 100% sea (or sea-ice). Land fraction data can be used to select only land points from the full input grid (see below).
Land fraction is the fraction of each gridbox that is land. By default, JULES considers any gridbox with land fraction > 0 to be 100% land, and all others to be 100% sea (or sea-ice). Rivers-standalone (TRIP) when coupled to LFRic needs to be able to determine coastal endorheic basins. In this case, :nml:mem:`l_use_land_fraction`, allows the land fractions to be kept. Land fraction data can be used to select only land points from the full input grid (see below).

.. warning::
When the input grid consists of a single location (1D and :nml:mem:`JULES_INPUT_GRID::npoints` = 1 or 2D and :nml:mem:`JULES_INPUT_GRID::nx` = :nml:mem:`JULES_INPUT_GRID::ny` = 1), that single location is assumed to be 100% land.
Expand Down Expand Up @@ -411,6 +411,21 @@ For any input grid with more than a single location, the following are used:
In the file, the variable must have no levels dimensions and no time dimension.


.. nml:member:: l_use_land_fraction

:type: logical
:default: F

Land fractions are used to determine coastal endorheic basins to calculate the inland basin flow diagnostic inland_outflow_rp or :nml:mem:`OASIS_RIVERS::send_fields` = inland_outflow.

TRUE
Supply land fractions (as fractions) to both the main grid and the rivers grid. This requires both grids and land-sea mask to be the same.

FALSE
Land fractions are not used and the land fraction field is set to either 1.0 (any land) or 0.0.

.. note:: This is only available in Rivers-standalone (TRIP) to calculate inland outflow fields.


``JULES_MODEL_GRID`` namelist members
-------------------------------------
Expand Down
8 changes: 6 additions & 2 deletions doc/source/namelists/oasis_rivers.nml.rst
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,16 @@ This file contains a single namelists called :nml:lst:`OASIS_RIVERS`, which indi
.. nml:member:: send_fields

:type: character(:)
:permitted: 'outflow_per_river'
:permitted: 'outflow_per_river','inland_outflow'
:default: ''

List of fields to be sent via coupling from the river executable to other models. Names are case sensitive.

.. note:: The only field that can be sent via coupling is the total river runoff (`outflow_per_river`).
.. note:: The fields that can be sent via coupling are:

1. The total river runoff (`outflow_per_river`) which is sent to the ocean.

2. The inland basin flow (`inland_outflow`) which is sent to the land surface hydrology scheme. Turn on :nml:mem:`JULES_HYDROLOGY::l_inland` (in the land surface side of the coupler) to pass this inland basin flow into soil moisture.

.. nml:member:: receive_fields

Expand Down
9 changes: 9 additions & 0 deletions doc/source/output-variables.rst
Original file line number Diff line number Diff line change
Expand Up @@ -434,6 +434,15 @@ Rivers
| | This technically has dimensions of "np_rivers", although only ``[1:n_rivers]``, defined by | |
| | the rivers_outflow_number (see :ref:`list-of-rivers-params`), is populated. | |
+-------------------------------+-----------------------------------------------------------------------------------------------+------------+
| ``inland_outflow_rp`` | Inland basin flow on river routing points (kg m\ :sup:`-2` s\ :sup:`-1`). | np_rivers |
| | Only available if :nml:mem:`JULES_RIVERS::l_rivers` = TRUE. | |
| | | |
| | Adding this diagnostic will turn on inland basin flow which diverts river water flowing | |
| | into an inland basin flow point to this diagnostic. At the same time runoff feeding | |
| | into an inland basin flow point will go to the oceans (via ``rivers_outflow_rp``). This is | |
| | to stop water being caught in an infinite loop between soils and rivers. Therefore by | |
| | adding this diagnostic the ``rflow`` and ``rivers_sto_rp`` diagnostics will also change. | |
+-------------------------------+-----------------------------------------------------------------------------------------------+------------+
| ``rrun_rp`` | River routing gridbox runoff rate received by river routing routine | np_rivers |
| | (kg m\ :sup:`-2` s\ :sup:`-1`). | |
| | Only available if :nml:mem:`JULES_RIVERS::l_rivers` = TRUE. | |
Expand Down
1 change: 1 addition & 0 deletions etc/fcm-make/make-river.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ extract.path-incl[river] = $extract_path_incl \
src/control/standalone/var/model_grid_mod.F90 \
src/control/standalone/var/model_time_mod.F90 \
src/control/standalone/var/timestep_mod.F90 \
src/initialisation/shared/check_compatible_options_rivers_mod.F90 \
src/initialisation/standalone/ancillaries/ancil_namelist_mod.F90 \
src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 \
src/initialisation/standalone/ancillaries/init_rivers_process_data_mod.F90 \
Expand Down
8 changes: 8 additions & 0 deletions rose-meta/jules-shared/jules-hydrology/HEAD/rose-meta.conf
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,14 @@ trigger=namelist:jules_hydrology=l_var_rainfrac: .true.;
type=logical
url=https://metoffice.github.io/jules/latest/namelists/jules_hydrology.nml.html#JULES_HYDROLOGY::l_hydrology

[namelist:jules_hydrology=l_inland]
compulsory=true
description=Apply inland basin water correction to soil moisture
Comment thread
maggiehendry marked this conversation as resolved.
=NOT AVAILABLE TO STANDALONE
sort-key=Panel-G06
type=logical
url=https://metoffice.github.io/jules/latest/namelists/jules_hydrology.nml.html#JULES_HYDROLOGY::l_inland

[namelist:jules_hydrology=l_var_rainfrac]
compulsory=true
description=Enable variable large scale and convective rain fractions
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@ fail-if=this != 0 and this != 2; # This should only indicate that standalone (0)
trigger=namelist:jules_deposition=l_deposition_from_ukca: 1;
=namelist:jules_deposition=l_ukca_ddepo3_ocean: 1;
=namelist:jules_deposition=l_ukca_dry_dep_so2wet: 1;
=namelist:jules_hydrology=l_inland: 1;
=namelist:jules_irrig=l_irrig_limit: 0;
=namelist:jules_pftparm=dust_veg_scj_io: 1;
=namelist:jules_pftparm=fsmc_mod_io: 0;
=namelist:jules_pftparm=pft_name_io: 3;
=namelist:jules_radiation=l_cosz: 0;
=namelist:jules_radiation=l_dolr_land_black: 1;
=namelist:jules_radiation=l_sea_alb_var_chl: 1;
=namelist:jules_rivers=l_inland: 1;
=namelist:jules_rivers=l_riv_overbank: 0;
=namelist:jules_rivers=trip_globe_shape: 1;
=namelist:jules_soil=l_bedrock: 0;
Expand Down Expand Up @@ -283,6 +283,7 @@ trigger=namelist:jules_pftparm: 1;
=namelist:cable_soilparm=css_io: 2;
=namelist:jules_spinup: 1,2;
=namelist:jules_nlsizes: 1,2;
=namelist:jules_land_frac=l_use_land_fraction: 3;
url=https://metoffice.github.io/jules/latest/namelists/model_environment.nml.html#JULES_MODEL_ENVIRONMENT::lsm_id
value-titles='jules','cable','rivers-only'
values=1,2,3
44 changes: 23 additions & 21 deletions rose-meta/jules-standalone/HEAD/rose-meta.conf
Original file line number Diff line number Diff line change
Expand Up @@ -2414,11 +2414,12 @@ fail-if=len(this) != namelist:jules_initial=nvars;
= namelist:jules_initial=total_snow == '.false.' and namelist:jules_snow=nsmax > 0 and not any(this == "'tsnow'"); # tsnow must be given if total_snow = FALSE and nsmax > 0
= namelist:jules_initial=total_snow == '.false.' and namelist:jules_snow=nsmax > 0 and namelist:jules_radiation=l_snow_albedo == '.true.' and not any(this == "'rgrainl'"); # rgrainl must be given if total_snow = FALSE, nsmax > 0 and l_snow_albedo = TRUE
= namelist:jules_soil=l_bedrock == '.true.' and not any(this == "'tsoil_deep'"); # tsoil_deep must be initialised if bedrock is switched on
= namelist:jules_rivers=l_rivers == '.true.' and namelist:jules_rivers=i_river_vn == "3" and not any(this == "'rivers_sto_rp'"); # rivers_sto_rp must be initialised if rivers is switched on and i_river_vn='3' : trip
= namelist:jules_rivers=l_rivers == '.true.' and namelist:jules_rivers=i_river_vn == "2" and not any(this == "'rfm_surfstore_rp'"); # rfm_surfstore_rp must be initialised if rivers is switched on and i_river_vn='2' : rfm
= namelist:jules_rivers=l_rivers == '.true.' and namelist:jules_rivers=i_river_vn == "2" and not any(this == "'rfm_substore_rp'"); # rfm_substore_rp must be initialised if rivers is switched on and i_river_vn='2' : rfm
= namelist:jules_rivers=l_rivers == '.true.' and namelist:jules_rivers=i_river_vn == "2" and not any(this == "'rfm_flowin_rp'"); # rfm_flowin_rp must be initialised if rivers is switched on and i_river_vn='2' : rfm
= namelist:jules_rivers=l_rivers == '.true.' and namelist:jules_rivers=i_river_vn == "2" and not any(this == "'rfm_bflowin_rp'"); # rfm_bflowin_rp must be initialised if rivers is switched on and i_river_vn='2' : rfm
= namelist:jules_rivers=i_river_vn == 3 and not ( any(this == "'rivers_sto_rp'") or any(namelist:jules_rivers_props=var == "'rivers_storage'") ); # rivers_sto_rp or rivers_storage must be initialised if rivers is switched on and i_river_vn='3' : trip
= ( namelist:jules_rivers=i_river_vn == 3 and not any(this == "'inland_outflow_rp'") ) and any(namelist:oasis_rivers=send_fields == "'inland_outflow'"); # inland_outflow_rp must be initialised when i_river_vn='3' (TRIP) and inland_outflow is requested
= namelist:jules_rivers=i_river_vn == "2" and not any(this == "'rfm_surfstore_rp'"); # rfm_surfstore_rp must be initialised if rivers is switched on and i_river_vn='2' : rfm
= namelist:jules_rivers=i_river_vn == "2" and not any(this == "'rfm_substore_rp'"); # rfm_substore_rp must be initialised if rivers is switched on and i_river_vn='2' : rfm
= namelist:jules_rivers=i_river_vn == "2" and not any(this == "'rfm_flowin_rp'"); # rfm_flowin_rp must be initialised if rivers is switched on and i_river_vn='2' : rfm
= namelist:jules_rivers=i_river_vn == "2" and not any(this == "'rfm_bflowin_rp'"); # rfm_bflowin_rp must be initialised if rivers is switched on and i_river_vn='2' : rfm
length=:
sort-key=06
url=https://metoffice.github.io/jules/latest/namelists/initial_conditions.nml.html#JULES_INITIAL::var
Expand All @@ -2430,7 +2431,7 @@ values='canht','canopy','cropcanht','cropdvi','cropharvc','croplai',
='snow_grnd','snow_ice','snow_liq','snow_tile','sthu_irr','sthuf',
='sthzw','t_growth_gb','t_soil','tsnow','tstar_tile','tsoil_deep',
='wood_prod_fast','wood_prod_med','wood_prod_slow','years_since_harvest',
='zw'
='zw','inland_outflow_rp'

[namelist:jules_initial=var_name]
compulsory=true
Expand Down Expand Up @@ -2500,6 +2501,7 @@ url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES
[namelist:jules_input_grid=nx]
compulsory=true
description=Size of the x dimension
fail-if=this != namelist:jules_rivers_props=nx_rivers and namelist:jules_land_frac=l_use_land_fraction == '.true.'; # If using land fractions for rivers then the input grid needs to be the same as the rivers grid so that the land fractions are copied across to the rivers grid correctly
range=1:
sort-key=06
type=integer
Expand All @@ -2508,6 +2510,7 @@ url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES
[namelist:jules_input_grid=ny]
compulsory=true
description=Size of the y dimension
fail-if=this != namelist:jules_rivers_props=ny_rivers and namelist:jules_land_frac=l_use_land_fraction == '.true.'; # If using land fractions for rivers then the input grid needs to be the same as the rivers grid so that the land fractions are copied across to the rivers grid correctly
range=1:
sort-key=07
type=integer
Expand Down Expand Up @@ -2749,6 +2752,14 @@ sort-key=1
type=character
url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_LAND_FRAC::file

[namelist:jules_land_frac=l_use_land_fraction]
compulsory=true
description=Use land fractions and pass these to river routing
fail-if=this == '.true.' and ( namelist:jules_rivers=i_river_vn != 3 or namelist:jules_model_environment=lsm_id != 3 ); # Land fractions are only used by TRIP in Rivers-standalone to determine coastal endorheic basins.
sort-key=3
type=logical
url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_LAND_FRAC::l_use_land_fraction

[namelist:jules_land_frac=land_frac_name]
description=Name of the variable containing the land fraction data
sort-key=2
Expand Down Expand Up @@ -3083,6 +3094,7 @@ description=Names of variables to output, as recognised by JULES
# See: https://github.com/metomi/rose/issues/2731
fail-if=len(this) != namelist:jules_output_profile=nvars;
=any(namelist:jules_output_profile=var == "'outflow_per_river'") and not any(namelist:jules_rivers_props=var == "'rivers_outflow_number'"); # outflow_per_river requires the rivers outflow numbers ancillary data
=any(namelist:jules_output_profile=var == "'inland_outflow_rp'") and ( namelist:jules_rivers=i_river_vn != 3 or namelist:jules_model_environment=lsm_id != 3 ); # Inland outflow calculation can only be used with TRIP Rivers-standalone
length=:
sort-key=11
type=character
Expand Down Expand Up @@ -4064,17 +4076,6 @@ value-titles=RFM,TRIP
values=2,3
widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget

[namelist:jules_rivers=l_inland]
compulsory=true
description=Re-routing inland basin water back to soil moisture
help=Selecting 'Re-routing inland basin water back to soil moisture' is only
=applicable to the global river routing scheme 1A and fixes a bug where
=water from inland outflow points was previously 'lost' to the system on
=regridding. The re-routed water is held over until the next timestep
=and added to the change in top-level soil moisture.
sort-key=aa2
type=logical

[namelist:jules_rivers=l_riv_overbank]
compulsory=true
description=Enable overbank inundation
Expand All @@ -4090,7 +4091,6 @@ description=Enable river routing
sort-key=a
trigger=namelist:jules_rivers=i_river_vn: .true.;
= namelist:jules_rivers=nstep_rivers: .true.;
= namelist:jules_rivers=l_inland: .true.;
= namelist:jules_rivers=l_riv_overbank: .true.;
= namelist:jules_overbank: .true.;
= namelist:jules_rivers_props: .true.;
Expand Down Expand Up @@ -4260,6 +4260,7 @@ url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULE
[namelist:jules_rivers_props=nx_rivers]
compulsory=true
description=Size of the x dimension of the river routing grid
fail-if=this != namelist:jules_input_grid=nx and namelist:jules_land_frac=l_use_land_fraction == '.true.'; # If using land fractions for rivers then the input grid needs to be the same as the rivers grid so that the land fractions are copied across to the rivers grid correctly
range=2:
sort-key=07
type=integer
Expand All @@ -4276,6 +4277,7 @@ url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULE
[namelist:jules_rivers_props=ny_rivers]
compulsory=true
description=Size of the y dimension of the river routing grid
fail-if=this != namelist:jules_input_grid=ny and namelist:jules_land_frac=l_use_land_fraction == '.true.'; # If using land fractions for rivers then the input grid needs to be the same as the rivers grid so that the land fractions are copied across to the rivers grid correctly
range=2:
sort-key=08
type=integer
Expand Down Expand Up @@ -7244,7 +7246,7 @@ compulsory=true
description=Number of sent fields via OASIS
fail-if=this < 0;
=this == 0 and namelist:oasis_rivers=np_receive == 0; # Oasis coupling requested but no fields coupled
range=0:1
range=0:2
sort-key=1
trigger=namelist:oasis_rivers=send_fields: this > 0;
=namelist:oasis_rivers=cpl_freq: this >= 0;
Expand All @@ -7264,13 +7266,13 @@ values='sub_surf_roff_rp','surf_roff_rp','sub_surf_roff','surf_roff'
[namelist:oasis_rivers=send_fields]
compulsory=true
description=List of fields sent via OASIS coupling
fail-if=len(this)>1;
fail-if=len(this)>2;
=len(this) != namelist:oasis_rivers=np_send;
=any(this == "'outflow_per_river'") and not any(namelist:jules_rivers_props=var == "'rivers_outflow_number'"); # outflow_per_river requires the rivers outflow numbers ancillary data
length=:
sort-key=2
url=https://metoffice.github.io/jules/latest/namelists/oasis_rivers.nml.html#OASIS_RIVERS::send_fields
values='outflow_per_river'
values='outflow_per_river','inland_outflow'

[namelist:run_convection]
compulsory=false
Expand Down
Loading
Loading