From e4af37f5dcaf7970c2c1b8a7096a0853dd97d1d3 Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Tue, 20 Jan 2026 17:38:09 +0000 Subject: [PATCH 01/36] Merge in FCM version of this branch --- etc/fcm-make/make-river.cfg | 1 + .../jules-hydrology/HEAD/rose-meta.conf | 7 ++ .../jules-standalone/HEAD/rose-meta.conf | 47 +++---- rose-meta/jules-standalone/versions.py | 81 ++++-------- .../oasis_rivers_control_mod.F90 | 12 +- .../rivers-standalone/oasis_rivers_mod.F90 | 9 +- src/control/shared/coastal.F90 | 4 + src/control/shared/jules_hydrology_mod.F90 | 14 ++- src/control/shared/jules_rivers_mod.F90 | 30 +++-- src/control/shared/surf_couple_extra_mod.F90 | 5 +- src/control/shared/surf_couple_rivers_mod.F90 | 7 +- .../check_unavailable_options_mod.F90 | 21 ++-- .../check_compatible_options_mod.F90 | 5 +- .../shared/check_compatible_options_mod.F90 | 52 ++------ .../check_compatible_options_rivers_mod.F90 | 119 ++++++++++++++++++ .../init_ancillaries_coupling_mod.F90 | 14 +-- .../init_rivers_process_data_mod.F90 | 44 ++++++- .../ancillaries/init_rivers_props_mod.F90 | 18 +++ .../ancillaries/jules_rivers_props_mod.F90 | 12 ++ .../standalone/grid/init_land_frac_mod.F90 | 21 ++-- .../standalone/init_output_mod.F90 | 17 ++- src/io/dump/get_dim_info_mod.F90 | 2 +- src/io/dump/read_dump_mod.F90 | 2 +- src/io/dump/read_dump_var_rivers_mod.F90 | 3 + src/io/dump/required_vars_for_rivers_mod.F90 | 12 +- src/io/dump/write_dump_mod.F90 | 1 + src/io/dump/write_dump_var_rivers_mod.F90 | 3 + src/io/model_interface/extract_var.inc | 3 + .../model_interface/model_interface_mod.F90 | 2 +- src/io/model_interface/populate_var.inc | 8 ++ src/io/model_interface/variable_metadata.inc | 13 ++ .../river_routing/rivers_route_mod.F90 | 3 +- .../river_routing/rivers_route_trip_mod.F90 | 70 +++++++++-- 33 files changed, 474 insertions(+), 188 deletions(-) create mode 100644 src/initialisation/shared/check_compatible_options_rivers_mod.F90 diff --git a/etc/fcm-make/make-river.cfg b/etc/fcm-make/make-river.cfg index 913ea9b8..cecca778 100644 --- a/etc/fcm-make/make-river.cfg +++ b/etc/fcm-make/make-river.cfg @@ -66,6 +66,7 @@ extract.path-incl[river] = bin \ 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 \ diff --git a/rose-meta/jules-shared/jules-hydrology/HEAD/rose-meta.conf b/rose-meta/jules-shared/jules-hydrology/HEAD/rose-meta.conf index 782d7468..adc9d7ce 100644 --- a/rose-meta/jules-shared/jules-hydrology/HEAD/rose-meta.conf +++ b/rose-meta/jules-shared/jules-hydrology/HEAD/rose-meta.conf @@ -17,6 +17,13 @@ trigger=namelist:jules_hydrology=l_var_rainfrac: .true.; type=logical url=http://jules-lsm.github.io/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 +sort-key=Panel-G06 +type=logical +url=http://jules-lsm.github.io/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 diff --git a/rose-meta/jules-standalone/HEAD/rose-meta.conf b/rose-meta/jules-standalone/HEAD/rose-meta.conf index bc7aea34..a627a864 100644 --- a/rose-meta/jules-standalone/HEAD/rose-meta.conf +++ b/rose-meta/jules-standalone/HEAD/rose-meta.conf @@ -2413,11 +2413,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'"); # rivers_sto_rp 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=http://jules-lsm.github.io/latest/namelists/initial_conditions.nml.html#JULES_INITIAL::var @@ -2429,7 +2430,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 @@ -2499,6 +2500,7 @@ url=http://jules-lsm.github.io/latest/namelists/model_grid.nml.html#JULES_INPUT_ [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.' range=1: sort-key=06 type=integer @@ -2507,6 +2509,7 @@ url=http://jules-lsm.github.io/latest/namelists/model_grid.nml.html#JULES_INPUT_ [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.' range=1: sort-key=07 type=integer @@ -2732,6 +2735,14 @@ sort-key=1 type=character url=http://jules-lsm.github.io/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=http://jules-lsm.github.io/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 @@ -2842,13 +2853,13 @@ fail-if=this == 1; # This should be 0 to indicate JULES standalone. 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_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; @@ -3101,6 +3112,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=http://jules-lsm.github.io/latest/namelists/model_environment.nml.html#JULES_MODEL_ENVIRONMENT::lsm_id value-titles='jules','cable','rivers-only' values=1,2,3 @@ -3348,6 +3360,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 @@ -5027,17 +5040,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 @@ -5053,7 +5055,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.; @@ -5223,6 +5224,7 @@ url=http://jules-lsm.github.io/latest/namelists/ancillaries.nml.html#JULES_RIVER [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.' range=2: sort-key=07 type=integer @@ -5239,6 +5241,7 @@ url=http://jules-lsm.github.io/latest/namelists/ancillaries.nml.html#JULES_RIVER [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.' range=2: sort-key=08 type=integer @@ -8444,7 +8447,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; @@ -8464,13 +8467,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=http://jules-lsm.github.io/latest/namelists/oasis_rivers.nml.html#OASIS_RIVERS::send_fields -values='outflow_per_river' +values='outflow_per_river','inland_outflow' [namelist:urban_properties] compulsory=true diff --git a/rose-meta/jules-standalone/versions.py b/rose-meta/jules-standalone/versions.py index 8a084aa8..64339096 100644 --- a/rose-meta/jules-standalone/versions.py +++ b/rose-meta/jules-standalone/versions.py @@ -42,74 +42,41 @@ from .version78_79 import * -class vn79_t1460(MacroUpgrade): - """Upgrade macro from JULES by Maggie Hendry""" +class vn79_t1528(MacroUpgrade): + """Upgrade macro from JULES #1528 by Dan Copsey""" BEFORE_TAG = "vn7.9" - AFTER_TAG = "vn7.9_t1460" + AFTER_TAG = "vn7.9_t1528" def upgrade(self, config, meta_config=None): """Upgrade a JULES runtime app configuration.""" - # Remove redundant switch as River routing ancillaries should now be - # consistent. - self.remove_setting( - config, - ["namelist:jules_rivers_props", "l_ignore_ancil_rivers_check"], - ) - - return config, self.reports + # Move the l_inland switch from the rivers namelist to the hydrology + # namelist but only when the rivers are turned on. Otherwise set it to + # .false. + l_inland = ".false." + l_rivers = self.get_setting_value( + config, ["namelist:jules_rivers", "l_rivers"] + ) + if l_rivers == ".true.": + l_inland = self.get_setting_value( + config, ["namelist:jules_rivers", "l_inland"] + ) -class vn79_t1392(MacroUpgrade): - """Upgrade macro from JULES by Maggie Hendry""" - - BEFORE_TAG = "vn7.9_t1460" - AFTER_TAG = "vn7.9_t1392" - - def upgrade(self, config, meta_config=None): - """Upgrade a JULES runtime app configuration.""" - # Add is_climatology flag to jules_rivers_props - nvars = int( + lsm_id = int( self.get_setting_value( - config, ["namelist:jules_rivers_props", "nvars"] + config, ["namelist:jules_model_environment", "lsm_id"] ) ) + if lsm_id != 3: + self.add_setting( + config, ["namelist:jules_hydrology", "l_inland"], l_inland + ) + self.remove_setting(config, ["namelist:jules_rivers", "l_inland"]) + self.add_setting( config, - ["namelist:jules_rivers_props", "is_climatology"], - ",".join([".false."] * nvars), + ["namelist:jules_land_frac", "l_use_land_fraction"], + ".false.", ) return config, self.reports - - -class vn79_t1371(MacroUpgrade): - - """ Upgrade macro from JULES by Katty Huang """ - - BEFORE_TAG = "vn7.9_t1392" - AFTER_TAG = "vn7.9_t1371" - - def upgrade(self,config, meta_config=None): - """Upgrade a JULES runtime app configuration.""" - - # Add settings - self.add_setting(config, ["namelist:jules_surface","anthrop_heat_option"], "0") - self.add_setting(config, ["namelist:jules_surface","anthrop_heat_mean"], "20.0") - - return config, self.reports - - -class vn79_t1088(MacroUpgrade): - - """Upgrade macro from JULES by Douglas Clark""" - - BEFORE_TAG = "vn7.9_t1371" - AFTER_TAG = "vn7.9_t1088" - - def upgrade(self,config, meta_config=None): - """Upgrade a JULES runtime app configuration.""" - - # Add settings - self.add_setting(config, ["namelist:jules_water_resources", "partition_method"], "2") - self.add_setting(config, ["namelist:jules_water_resources", "sfc_water_factor"], "2.0") - return config, self.reports diff --git a/src/control/rivers-standalone/oasis_rivers_control_mod.F90 b/src/control/rivers-standalone/oasis_rivers_control_mod.F90 index 6e2f0d76..52eb949a 100644 --- a/src/control/rivers-standalone/oasis_rivers_control_mod.F90 +++ b/src/control/rivers-standalone/oasis_rivers_control_mod.F90 @@ -330,7 +330,9 @@ SUBROUTINE oasis_send(rivers, TIME) oasis_torestout, oasis_waitgroup, oasis_ok USE oasis_rivers_mod, ONLY: np_send, cpl_send USE jules_rivers_mod, ONLY: rivers_type, n_rivers, & - l_outflow_per_river, calc_outflow_per_river + l_outflow_per_river, calc_outflow_per_river, & + nx_rivers, ny_rivers, l_inland_outflow +USE rivers_regrid_mod, ONLY: rp_to_twod USE missing_data_mod, ONLY: imdi ! IMPLICIT NONE @@ -353,6 +355,7 @@ SUBROUTINE oasis_send(rivers, TIME) ! Local variables REAL, ALLOCATABLE :: outflow_per_river(:) INTEGER :: i, ip, ierror, ERROR +REAL :: inland_outflow(nx_rivers, ny_rivers) CHARACTER(LEN=*), PARAMETER :: RoutineName = 'OASIS_SEND' @@ -366,12 +369,19 @@ SUBROUTINE oasis_send(rivers, TIME) outflow_per_river = calc_outflow_per_river(rivers) END IF +! Convert inland basin flow from river points grid to 2D rivers grid +IF (l_inland_outflow) THEN + CALL rp_to_twod(rivers%inland_outflow_rp, inland_outflow, rivers) +END IF + ! Loop in all variables that are sent via coupling DO i = 1, np_send SELECT CASE(TRIM(cpl_send(i)%field_name)) ! send the right field CASE ('outflow_per_river') CALL oasis_put(cpl_send(i)%field_id,TIME,outflow_per_river,ierror) + CASE ('inland_outflow') + CALL oasis_put(cpl_send(i)%field_id,TIME,inland_outflow,ierror) END SELECT IF (ierror /= oasis_sent .AND. ierror /= oasis_loctrans .AND. & diff --git a/src/control/rivers-standalone/oasis_rivers_mod.F90 b/src/control/rivers-standalone/oasis_rivers_mod.F90 index a45a8bbe..92c8e9a5 100644 --- a/src/control/rivers-standalone/oasis_rivers_mod.F90 +++ b/src/control/rivers-standalone/oasis_rivers_mod.F90 @@ -75,7 +75,7 @@ MODULE oasis_rivers_mod SUBROUTINE check_oasis_rivers() -USE jules_rivers_mod, ONLY: l_outflow_per_river +USE jules_rivers_mod, ONLY: l_outflow_per_river, l_inland_outflow USE jules_model_environment_mod, ONLY: l_oasis_rivers USE model_time_mod, ONLY: timestep_len USE ereport_mod, ONLY: ereport @@ -128,10 +128,10 @@ SUBROUTINE check_oasis_rivers() ELSE IF (np_send < 0) THEN errcode = 107 CALL ereport(RoutineName, errcode, 'np_send must be >= 0') - ELSE IF (np_send > 1) THEN + ELSE IF (np_send > 2) THEN errcode = 108 CALL ereport(RoutineName, errcode, 'np_send must be ' // & - 'in the range 0:1') + 'in the range 0:2') END IF ! Check that at least one coupling field is exchanged @@ -185,6 +185,9 @@ SUBROUTINE check_oasis_rivers() cpl_send(i)%field_name = TRIM(send_fields(i)) l_runoff_1d = .TRUE. ! 1d runoff partition required l_outflow_per_river = .TRUE. ! Check river number ancillary is given + CASE ('inland_outflow') + cpl_send(i)%field_name = TRIM(send_fields(i)) + l_inland_outflow = .TRUE. ! Generate inland basin flows CASE DEFAULT errcode = 117 CALL ereport(RoutineName, errcode, & diff --git a/src/control/shared/coastal.F90 b/src/control/shared/coastal.F90 index badea544..7afde8c9 100644 --- a/src/control/shared/coastal.F90 +++ b/src/control/shared/coastal.F90 @@ -17,6 +17,10 @@ MODULE coastal REAL, DIMENSION(:,:), ALLOCATABLE :: flandg ! Land fraction on all tiles. +LOGICAL :: l_use_land_fraction = .FALSE. +! Switch to indicate that land fractions should be used instead of all land +! fractions being set to 1.0 by standalone. + !----------------------------------------------------------------------------- ! Implementation for field variables ! Each variable is declared in both the 'data' TYPE and the 'pointer' type. diff --git a/src/control/shared/jules_hydrology_mod.F90 b/src/control/shared/jules_hydrology_mod.F90 index 2e2a7f31..f1d360b4 100644 --- a/src/control/shared/jules_hydrology_mod.F90 +++ b/src/control/shared/jules_hydrology_mod.F90 @@ -45,8 +45,10 @@ MODULE jules_hydrology_mod l_wetland_unfrozen = .FALSE., & ! Switch for TOPMODEL-based hydrology with unfrozen wetland inundation ! Only used if l_top=.T. - l_limit_gsoil = .FALSE. + l_limit_gsoil = .FALSE., & ! Switch for limiting gsoil above theta_crit + l_inland = .FALSE. + ! Switch for putting inland water from from rivers into soil moisture !----------------------------------------------------------------------------- ! PDM parameters @@ -83,7 +85,7 @@ MODULE jules_hydrology_mod !------------------------------------------------------------------------------ NAMELIST / jules_hydrology/ & l_hydrology, l_top, l_pdm, l_spdmvar, l_baseflow_corr, l_var_rainfrac, & - l_wetland_unfrozen, l_limit_gsoil, & + l_wetland_unfrozen, l_limit_gsoil, l_inland, & dz_pdm, b_pdm, s_pdm, slope_pdm_max, ti_max, ti_wetl, zw_max, nfita @@ -231,6 +233,9 @@ SUBROUTINE print_nlist_jules_hydrology() WRITE(lineBuffer, *) ' l_limit_gsoil = ', l_limit_gsoil CALL jules_print('jules_hydrology', lineBuffer) +WRITE(lineBuffer, *) ' l_inland = ', l_inland +CALL jules_print('jules_hydrology', lineBuffer) + WRITE(lineBuffer, *) ' dz_pdm = ', dz_pdm CALL jules_print('jules_hydrology', lineBuffer) @@ -297,7 +302,7 @@ SUBROUTINE read_nml_jules_hydrology (unitnumber) INTEGER, PARAMETER :: no_of_types = 3 INTEGER, PARAMETER :: n_int = 1 INTEGER, PARAMETER :: n_real = 7 -INTEGER, PARAMETER :: n_log = 8 +INTEGER, PARAMETER :: n_log = 9 TYPE :: my_namelist SEQUENCE @@ -317,6 +322,7 @@ SUBROUTINE read_nml_jules_hydrology (unitnumber) LOGICAL :: l_var_rainfrac LOGICAL :: l_wetland_unfrozen LOGICAL :: l_limit_gsoil + LOGICAL :: l_inland END TYPE my_namelist TYPE (my_namelist) :: my_nml @@ -352,6 +358,7 @@ SUBROUTINE read_nml_jules_hydrology (unitnumber) my_nml % l_var_rainfrac = l_var_rainfrac my_nml % l_wetland_unfrozen = l_wetland_unfrozen my_nml % l_limit_gsoil = l_limit_gsoil + my_nml % l_inland = l_inland END IF @@ -377,6 +384,7 @@ SUBROUTINE read_nml_jules_hydrology (unitnumber) l_var_rainfrac = my_nml % l_var_rainfrac l_wetland_unfrozen = my_nml % l_wetland_unfrozen l_limit_gsoil = my_nml % l_limit_gsoil + l_inland = my_nml % l_inland END IF diff --git a/src/control/shared/jules_rivers_mod.F90 b/src/control/shared/jules_rivers_mod.F90 index 44f80d97..38b019f9 100644 --- a/src/control/shared/jules_rivers_mod.F90 +++ b/src/control/shared/jules_rivers_mod.F90 @@ -122,8 +122,6 @@ MODULE jules_rivers_mod LOGICAL :: & l_rivers = .FALSE. & ! Switch for runoff routing - ,l_inland = .FALSE. & - ! Control rerouting of inland basin water ,l_riv_overbank = .FALSE. & ! Logical to control overbank inundation ,l_outflow_per_river = .FALSE. & @@ -138,7 +136,12 @@ MODULE jules_rivers_mod ! so outflow_per_river should be present in jules_output. ! Both cases are checked once the latter namelist is read. ! Additionally, rivers_outflow_rp is added to the dump. - + ,l_inland_outflow = .FALSE. & + ! Internal flag which is set to TRUE when at least one of the + ! following is true: + ! - OASIS send field contains 'inland_outflow' + ! - The diagnostic 'inland_outflow_rp' has been requested + ! - UM-TRIP when l_inland = T ,l_init_storage = .FALSE. ! Set to true if an initial river storage ancillary file is ! used @@ -235,7 +238,7 @@ MODULE jules_rivers_mod ! Single namelist definition for UM and standalone !------------------------------------------------------------------------------ NAMELIST /jules_rivers/ & - l_rivers, l_inland, l_riv_overbank, l_adapt_timestep, l_sea_level, & + l_rivers, l_riv_overbank, l_adapt_timestep, l_sea_level, & l_vary_sea_level, i_river_vn, nstep_rivers, & trip_globe_shape, & cland, criver, cbland, cbriver, runoff_factor, retl, retr, & @@ -451,6 +454,8 @@ MODULE jules_rivers_mod ! Maps ocean outflow gridboxes to the river they ! belong to (on river points) ! Used for coupling to ocean model + REAL(KIND=real_jlslsm), ALLOCATABLE :: land_fraction_rp(:) + ! Land fraction on river points REAL(KIND=real_jlslsm), ALLOCATABLE :: rivers_sto_rp(:) ! Water storage (kg) REAL(KIND=real_jlslsm), ALLOCATABLE :: rivers_lat_rp(:) @@ -562,12 +567,15 @@ MODULE jules_rivers_mod ! from an ancillary on the 2d Rivers grid. ! The ancillary can either be for a single time or ! a 12-month climatology + REAL(KIND=real_jlslsm), ALLOCATABLE :: land_fraction_2d(:,:) + ! Land fraction on global 2D grid + + ! Arrays defined on 1d river points vectors REAL(KIND=real_jlslsm), ALLOCATABLE :: rivers_xgrid(:) ! Coordinate values for x-dimension of rivers grid REAL(KIND=real_jlslsm), ALLOCATABLE :: rivers_ygrid(:) ! Coordinate values for y-dimension of rivers grid - ! Arrays defined on 1d river points vectors REAL(KIND=real_jlslsm), ALLOCATABLE :: rfm_flowobs1_rp(:) ! Initial (observed) river flow (kg m-2 s-1) REAL(KIND=real_jlslsm), ALLOCATABLE :: rfm_surfstore_rp(:) @@ -586,6 +594,8 @@ MODULE jules_rivers_mod ! Gridbox area of each river grid pixel (m2) REAL(KIND=real_jlslsm), ALLOCATABLE :: rivers_outflow_rp(:) ! River outflow into the ocean (kg s-1) + REAL(KIND=real_jlslsm), ALLOCATABLE :: inland_outflow_rp(:) + ! Inland basin flow into soil moisture (kg m-2 s-1) END TYPE rivers_data_type TYPE :: rivers_type @@ -602,6 +612,8 @@ MODULE jules_rivers_mod INTEGER, POINTER :: rivers_next_rp(:) INTEGER, POINTER :: rivers_seq_rp(:) INTEGER, POINTER :: rivers_outflow_number_rp(:) + REAL(KIND=real_jlslsm), POINTER :: land_fraction_2d(:,:) + REAL(KIND=real_jlslsm), POINTER :: land_fraction_rp(:) REAL(KIND=real_jlslsm), POINTER :: rivers_sto_rp(:) REAL(KIND=real_jlslsm), POINTER :: rivers_lat_rp(:) REAL(KIND=real_jlslsm), POINTER :: rivers_lon_rp(:) @@ -651,6 +663,7 @@ MODULE jules_rivers_mod REAL(KIND=real_jlslsm), POINTER :: rfm_baseflow_rp(:) REAL(KIND=real_jlslsm), POINTER :: rivers_boxareas_rp(:) REAL(KIND=real_jlslsm), POINTER :: rivers_outflow_rp(:) + REAL(KIND=real_jlslsm), POINTER :: inland_outflow_rp(:) END TYPE rivers_type CONTAINS @@ -1161,8 +1174,6 @@ SUBROUTINE print_nlist_jules_rivers() WRITE(lineBuffer,*)' l_rivers = ',l_rivers CALL jules_print('jules_rivers',lineBuffer) -WRITE(lineBuffer,*)' l_inland = ',l_inland -CALL jules_print('jules_rivers',lineBuffer) WRITE(lineBuffer,*)' l_riv_overbank = ',l_riv_overbank CALL jules_print('jules_rivers',lineBuffer) WRITE(lineBuffer,*)' i_river_vn = ',i_river_vn @@ -1304,7 +1315,7 @@ SUBROUTINE read_nml_jules_rivers(unit_in) INTEGER, PARAMETER :: no_of_types = 3 INTEGER, PARAMETER :: n_int = 5 INTEGER, PARAMETER :: n_real = 12 -INTEGER, PARAMETER :: n_log = 6 +INTEGER, PARAMETER :: n_log = 5 TYPE :: my_namelist SEQUENCE @@ -1326,7 +1337,6 @@ SUBROUTINE read_nml_jules_rivers(unit_in) REAL(KIND=real_jlslsm) :: rivers_speed REAL(KIND=real_jlslsm) :: runoff_factor LOGICAL :: l_adapt_timestep - LOGICAL :: l_inland LOGICAL :: l_riv_overbank LOGICAL :: l_rivers LOGICAL :: l_sea_level @@ -1365,7 +1375,6 @@ SUBROUTINE read_nml_jules_rivers(unit_in) my_nml % rivers_speed = rivers_speed my_nml % runoff_factor = runoff_factor my_nml % l_adapt_timestep = l_adapt_timestep - my_nml % l_inland = l_inland my_nml % l_riv_overbank = l_riv_overbank my_nml % l_rivers = l_rivers my_nml % l_sea_level = l_sea_level @@ -1393,7 +1402,6 @@ SUBROUTINE read_nml_jules_rivers(unit_in) rivers_speed = my_nml % rivers_speed runoff_factor = my_nml % runoff_factor l_adapt_timestep = my_nml % l_adapt_timestep - l_inland = my_nml % l_inland l_riv_overbank = my_nml % l_riv_overbank l_rivers = my_nml % l_rivers l_sea_level = my_nml % l_sea_level diff --git a/src/control/shared/surf_couple_extra_mod.F90 b/src/control/shared/surf_couple_extra_mod.F90 index ca35dc00..4b52d3c1 100644 --- a/src/control/shared/surf_couple_extra_mod.F90 +++ b/src/control/shared/surf_couple_extra_mod.F90 @@ -128,7 +128,7 @@ SUBROUTINE surf_couple_extra( & !Import interfaces to subroutines called USE hydrol_mod, ONLY: hydrol USE snow_mod, ONLY: snow -USE jules_rivers_mod, ONLY: l_rivers, l_inland, rivers_call +USE jules_rivers_mod, ONLY: l_rivers, rivers_call ! Code which isn't currently suitable for building into LFRic #if !defined(LFRIC) @@ -190,7 +190,8 @@ SUBROUTINE surf_couple_extra( & USE deposition_from_surf_couple_extra_mod, & ONLY: deposition_from_surf_couple_extra -USE jules_hydrology_mod, ONLY: l_hydrology, l_pdm, l_top, l_var_rainfrac +USE jules_hydrology_mod, ONLY: l_hydrology, l_pdm, l_top, l_var_rainfrac, & + l_inland USE lake_mod, ONLY: h_snow_sw_att & , trap_frozen & diff --git a/src/control/shared/surf_couple_rivers_mod.F90 b/src/control/shared/surf_couple_rivers_mod.F90 index ba24b206..56f5740b 100644 --- a/src/control/shared/surf_couple_rivers_mod.F90 +++ b/src/control/shared/surf_couple_rivers_mod.F90 @@ -59,7 +59,8 @@ SUBROUTINE surf_couple_rivers( & rivers_type, l_riv_overbank, & l_vary_sea_level, & ! UM only - l_inland, rivers_um_trip, rivers_first + l_inland_outflow, rivers_um_trip, & + rivers_first USE jules_model_environment_mod, ONLY: l_oasis_rivers USE timestep_mod, ONLY: timestep @@ -291,7 +292,7 @@ SUBROUTINE surf_couple_rivers( & #if defined(UM_JULES) !Pass inland flow to soil moisture every timestep -IF ( .NOT. l_inland) THEN +IF ( .NOT. l_inland_outflow) THEN DO j = 1, rows DO i = 1, row_length inlandout_atmos(i,j) = 0.0 @@ -675,7 +676,7 @@ SUBROUTINE surf_couple_rivers( & #if defined(UM_JULES) !compress inland basin outputs to land points only - IF (l_inland) THEN + IF (l_inland_outflow) THEN DO l = 1,land_pts j = (land_index(l) - 1) / row_length +1 i = land_index(l) - (j-1) * row_length diff --git a/src/control/standalone/check_unavailable_options_mod.F90 b/src/control/standalone/check_unavailable_options_mod.F90 index 05ed5893..198871ea 100644 --- a/src/control/standalone/check_unavailable_options_mod.F90 +++ b/src/control/standalone/check_unavailable_options_mod.F90 @@ -18,11 +18,11 @@ SUBROUTINE check_unavailable_options() USE jules_print_mgr, ONLY: jules_message, jules_print, jules_format, & PrNorm, newline USE missing_data_mod, ONLY: imdi -USE jules_hydrology_mod, ONLY: l_var_rainfrac +USE jules_hydrology_mod, ONLY: l_var_rainfrac, l_inland USE jules_surface_mod, ONLY: formdrag, no_drag, i_modiscopt, iscrntdiag, & srf_ex_cnv_gust, l_vary_z0m_soil USE jules_surface_types_mod, ONLY: tile_map_ids, ntype -USE jules_rivers_mod, ONLY: i_river_vn, l_inland, rivers_um_trip, & +USE jules_rivers_mod, ONLY: i_river_vn, rivers_um_trip, & trip_globe_shape USE jules_radiation_mod, ONLY: l_sea_alb_var_chl, l_dolr_land_black USE jules_vegetation_mod, ONLY: l_nrun_mid_trif, l_trif_init_accum @@ -38,6 +38,15 @@ SUBROUTINE check_unavailable_options() error_sum = 0 +! jules_hydrology +IF ( l_inland ) THEN + error_sum = error_sum + 1 + WRITE(jules_message,'(I0,A,L1)') error_sum, & + ": Re-routing inland basin water back to soil moisture is not " // & + " required (must not be selected) by standalone. l_inland = ", l_inland + CALL jules_print(RoutineName, jules_message, level = PrNorm) +END IF + ! jules_surface IF ( formdrag /= no_drag ) THEN error_sum = error_sum + 1 @@ -102,14 +111,6 @@ SUBROUTINE check_unavailable_options() CALL jules_print(RoutineName, jules_message, level = PrNorm) END IF -IF ( l_inland ) THEN - error_sum = error_sum + 1 - WRITE(jules_message,'(I0,A,L1)') error_sum, & - ": Re-routing inland basin water back to soil moisture is not " // & - " required (must not be selected) by standalone. l_inland = ", l_inland - CALL jules_print(RoutineName, jules_message, level = PrNorm) -END IF - IF ( trip_globe_shape /= imdi ) THEN error_sum = error_sum + 1 WRITE(jules_message,'(I0,A,L1)') error_sum, & diff --git a/src/initialisation/rivers-standalone/check_compatible_options_mod.F90 b/src/initialisation/rivers-standalone/check_compatible_options_mod.F90 index 99acfdf4..fef06851 100644 --- a/src/initialisation/rivers-standalone/check_compatible_options_mod.F90 +++ b/src/initialisation/rivers-standalone/check_compatible_options_mod.F90 @@ -24,7 +24,7 @@ SUBROUTINE check_compatible_options() !----------------------------------------------------------------------------- USE model_time_mod, ONLY: max_spinup_cycles - +USE check_compatible_options_rivers_mod, ONLY: check_compatible_options_rivers USE ereport_mod, ONLY: ereport USE jules_print_mgr, ONLY: jules_print, jules_message @@ -47,6 +47,9 @@ SUBROUTINE check_compatible_options() CALL jules_print(routinename, jules_message) END IF +! Call rivers compatible options routine +CALL check_compatible_options_rivers(ERROR) + IF ( ERROR /= 0 ) & CALL ereport(routinename, ERROR, & "Error(s) found in enabled science options and/or " // & diff --git a/src/initialisation/shared/check_compatible_options_mod.F90 b/src/initialisation/shared/check_compatible_options_mod.F90 index 9ff4d911..820e16fd 100644 --- a/src/initialisation/shared/check_compatible_options_mod.F90 +++ b/src/initialisation/shared/check_compatible_options_mod.F90 @@ -26,11 +26,12 @@ SUBROUTINE check_compatible_options(call_type) USE jules_deposition_mod, ONLY: l_deposition USE jules_irrig_mod, ONLY: l_irrig_dmd, l_irrig_limit, & nstep_irrig +USE jules_hydrology_mod, ONLY: l_inland USE jules_model_environment_mod, ONLY: lsm_id, cable USE jules_radiation_mod, ONLY: l_albedo_obs, l_snow_albedo, & l_albedo_obs -USE jules_rivers_mod, ONLY: i_river_vn, l_rivers, l_riv_overbank, & - rivers_camaflood, rivers_rfm +USE jules_rivers_mod, ONLY: i_river_vn, l_rivers, rivers_um_trip, & + l_inland_outflow USE jules_soil_biogeochem_mod, ONLY: l_layeredc, z_burn_max USE jules_soil_mod, ONLY: l_tile_soil, l_holdwater USE jules_surface_mod, ONLY: l_flake_model, l_aggregate @@ -43,10 +44,6 @@ SUBROUTINE check_compatible_options(call_type) USE land_tile_ids_mod, ONLY: surface_type_ids, ml_snow_type_ids USE nvegparm, ONLY: vf_nvg, albsnc_nvg, albsnf_nvgl, & albsnf_nvgu -USE overbank_inundation_mod, ONLY: overbank_hypsometric, overbank_model, & - overbank_quantiles, overbank_simple, & - overbank_simple_rosgen - USE missing_data_mod, ONLY: imdi, rmdi USE ereport_mod, ONLY: ereport @@ -54,6 +51,7 @@ SUBROUTINE check_compatible_options(call_type) jules_format, newline USE errormessagelength_mod, ONLY: errormessagelength +USE check_compatible_options_rivers_mod, ONLY: check_compatible_options_rivers USE check_unavailable_options_mod, ONLY: check_unavailable_options USE jules_water_tracers_mod, ONLY: l_wtrac_jls USE wtrac_check_options_mod, ONLY: wtrac_check_options @@ -278,44 +276,14 @@ SUBROUTINE check_compatible_options(call_type) CALL wtrac_check_options(ERROR) END IF -! Overbank inundation can only be used if rivers are modelled. -IF ( l_riv_overbank .AND. .NOT. l_rivers ) THEN - ERROR = 1 - CALL jules_print(routinename, & - "Overbank inundation can only be used if river routing is modelled.") +! UM-TRIP inland outflow soil moisture correction (l_inland) requires +! inland outflow to be calculated. Internal switch needs to be set. +IF ( i_river_vn == rivers_um_trip .AND. l_inland ) THEN + l_inland_outflow = .TRUE. END IF -! Check that a suitable combination of river routing and overbank models is -! selected. -SELECT CASE ( overbank_model ) -CASE ( overbank_simple, overbank_simple_rosgen, overbank_hypsometric ) - ! Diagnostic overbank inundation can currently only be used with RFM river - ! routing. - IF ( i_river_vn /= rivers_rfm ) THEN - ERROR = 1 - CALL jules_print(routinename, & - "Diagnostic overbank inundation can only be used " // & - "with RFM river routing.") - END IF -CASE ( overbank_quantiles ) - ! Only CaMa-Flood can use elevation quantiles. - IF ( i_river_vn /= rivers_camaflood ) THEN - ERROR = 1 - CALL jules_print(routinename, & - "Elevation quantiles can only be used with CaMa-Flood routing.") - END IF -END SELECT - -! While CaMa-Flood routing is in development it can only be used with overbank -! inundation using quantiles. -IF ( l_rivers .AND. i_river_vn == rivers_camaflood .AND. & - ( .NOT. l_riv_overbank .OR. .NOT. overbank_model == overbank_quantiles ) & - ) THEN - ERROR = 1 - CALL jules_print(routinename, & - "CaMa-Flood routing can only be used with overbank " // & - "inundation using quantiles.") -END IF +! Call rivers compatible options routine +CALL check_compatible_options_rivers(ERROR) IF ( ERROR /= 0 ) THEN CALL ereport(routinename, ERROR, & diff --git a/src/initialisation/shared/check_compatible_options_rivers_mod.F90 b/src/initialisation/shared/check_compatible_options_rivers_mod.F90 new file mode 100644 index 00000000..05d9f0e9 --- /dev/null +++ b/src/initialisation/shared/check_compatible_options_rivers_mod.F90 @@ -0,0 +1,119 @@ +! *****************************COPYRIGHT************************************** +! (C) Crown copyright Met Office. All rights reserved. +! For further details please refer to the file COPYRIGHT.txt +! which you should have received as part of this distribution. +! *****************************COPYRIGHT************************************** +MODULE check_compatible_options_rivers_mod + +IMPLICIT NONE + +CONTAINS + +SUBROUTINE check_compatible_options_rivers( ERROR ) +!----------------------------------------------------------------------------- +! Description: +! Checks that the enabled Rivers schemes are compatible. Refer to the JULES +! user manual for more information. +! +! Code Owner: Please refer to ModuleLeaders.txt +! This file belongs in TECHNICAL +! +! Code Description: +! Language: Fortran 90. +! This code is written to JULES coding standards v1. +!----------------------------------------------------------------------------- + +USE jules_rivers_mod, ONLY: i_river_vn, l_rivers, l_riv_overbank, & + rivers_camaflood, rivers_um_trip, & + rivers_rfm, rivers_trip, & + l_inland_outflow +USE jules_model_environment_mod, ONLY: lsm_id, rivers +USE overbank_inundation_mod, ONLY: overbank_hypsometric, overbank_model, & + overbank_quantiles, overbank_simple, & + overbank_simple_rosgen +USE coastal, ONLY: l_use_land_fraction + +USE jules_print_mgr, ONLY: jules_print, jules_message + +IMPLICIT NONE + +! Arguments +INTEGER, INTENT(IN OUT) :: ERROR ! Error indicator + +! Local +CHARACTER(LEN=*), PARAMETER :: routinename='CHECK_COMPATIBLE_OPTIONS_RIVERS' + +! Overbank inundation can only be used if rivers are modelled. +IF ( l_riv_overbank .AND. .NOT. l_rivers ) THEN + ERROR = 1 + CALL jules_print(routinename, & + "Overbank inundation can only be used if river routing is modelled.") +END IF + +! Check that a suitable combination of river routing and overbank models is +! selected. +SELECT CASE ( overbank_model ) +CASE ( overbank_simple, overbank_simple_rosgen, overbank_hypsometric ) + ! Diagnostic overbank inundation can currently only be used with RFM river + ! routing. + IF ( i_river_vn /= rivers_rfm ) THEN + ERROR = 1 + CALL jules_print(routinename, & + "Diagnostic overbank inundation can only be used " // & + "with RFM river routing.") + END IF +CASE ( overbank_quantiles ) + ! Only CaMa-Flood can use elevation quantiles. + IF ( i_river_vn /= rivers_camaflood ) THEN + ERROR = 1 + CALL jules_print(routinename, & + "Elevation quantiles can only be used with CaMa-Flood routing.") + END IF +END SELECT + +! While CaMa-Flood routing is in development it can only be used with overbank +! inundation using quantiles. +IF ( l_rivers .AND. i_river_vn == rivers_camaflood .AND. & + ( .NOT. l_riv_overbank .OR. .NOT. overbank_model == overbank_quantiles ) & + ) THEN + ERROR = 1 + CALL jules_print(routinename, & + "CaMa-Flood routing can only be used with overbank " // & + "inundation using quantiles.") +END IF + +! Check land fractions are only used in rivers-standalone when inland outflow +! calculation is requested. +IF ( l_use_land_fraction ) THEN + IF ( lsm_id /= rivers ) THEN + ERROR = 1 + ELSE + SELECT CASE ( i_river_vn ) + CASE ( rivers_trip ) + IF ( .NOT. l_inland_outflow ) ERROR = 1 + CASE DEFAULT + ERROR = 1 + END SELECT + END IF + WRITE(jules_message,'(A,1x,L1,2(1x,A,I0))') & + "Land fractions (l_use_land_fraction) only used to calculate inland " // & + "outflow in Rivers-standalone; l_inland_outflow = ", l_inland_outflow, & + "lsm_id = ", lsm_id, "i_river_vn = ", i_river_vn + CALL jules_print(routinename, jules_message) +END IF + +IF ( l_inland_outflow ) THEN + SELECT CASE ( i_river_vn ) + CASE ( rivers_trip, rivers_um_trip ) + ! Inland outflow calculation allowed for these + CASE DEFAULT + ERROR = 1 + WRITE(jules_message,'(A,1x,I0)') & + "Inland outflow can only be calculated by TRIP; i_river_vn = ", i_river_vn + CALL jules_print(routinename, jules_message) + END SELECT +END IF + +END SUBROUTINE check_compatible_options_rivers +END MODULE check_compatible_options_rivers_mod + diff --git a/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 b/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 index 94967496..e5f25548 100644 --- a/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 +++ b/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 @@ -28,8 +28,8 @@ SUBROUTINE check_ancil_rivers( dir_mouth, dir_inland_drainage, & rivers_storage ) USE jules_rivers_mod, ONLY: nx_rivers, ny_rivers, n_rivers, i_river_vn, & - rivers_trip, l_inland, l_outflow_per_river, & - l_init_storage + rivers_trip, l_inland_outflow, & + l_outflow_per_river, l_init_storage USE jules_rivers_props_mod, ONLY: l_ignore_ancil_rivers_check USE missing_data_mod, ONLY: imdi USE string_utils_mod, ONLY: to_string @@ -115,19 +115,19 @@ SUBROUTINE check_ancil_rivers( dir_mouth, dir_inland_drainage, & ! The River routing ancillary includes inland basin flow points. The River ! number ancillary supports inland basin flow for water conservation and hence ! each inland basin has an accompanying River number, although inland basin - ! water conservation is not currently implemented. When l_inland=F, outflow is - ! not calculated for inland basins hence we don't include it in the outflow - ! per river calculation. + ! water conservation is not currently implemented. When l_inland_outflow=F, + ! outflow is not calculated for inland basins hence we don't include it in the + ! outflow per river calculation. check_river_ancil_ctrl(:,:) = 0 WHERE ( direction_grid(:,:) == dir_inland_drainage ) check_river_ancil_ctrl(:,:) = 1 END WHERE ! Setting the river number to zero for inland basins, excludes them from the ! outflow per river calculation. - IF ( .NOT. l_inland ) THEN + IF ( .NOT. l_inland_outflow ) THEN CALL log_info(RoutineName, & 'Inland basins will not be included in outflow per river ' // & - 'calculation. l_inland = F.') + 'calculation. l_inland_outflow = F.') WHERE ( check_river_ancil_ctrl(:,:) == 1 ) rivers_outflow_number(:,:) = 0 END WHERE diff --git a/src/initialisation/standalone/ancillaries/init_rivers_process_data_mod.F90 b/src/initialisation/standalone/ancillaries/init_rivers_process_data_mod.F90 index 3f637d79..fc270c4e 100644 --- a/src/initialisation/standalone/ancillaries/init_rivers_process_data_mod.F90 +++ b/src/initialisation/standalone/ancillaries/init_rivers_process_data_mod.F90 @@ -19,6 +19,7 @@ MODULE init_rivers_process_data_mod USE jules_rivers_mod, ONLY: inland_drainage, river_mouth, sea USE logging_mod, ONLY: log_fatal, log_info, log_warn +USE jules_print_mgr, ONLY: jules_message USE string_utils_mod, ONLY: to_string @@ -139,6 +140,8 @@ SUBROUTINE process_rivers_data( l_use_direction, rivers, rivers_data ) USE rivers_utils, ONLY: rivers_earth_area +USE coastal, ONLY: flandg, l_use_land_fraction + IMPLICIT NONE !------------------------------------------------------------------------------ @@ -269,6 +272,14 @@ SUBROUTINE process_rivers_data( l_use_direction, rivers, rivers_data ) l_reverse_y, rivers_reglatlon, rivers%global_land_index, & global_proj_x_land_work, river_xbound, river_ybound ) + !---------------------------------------------------------------------------- + ! Copy the land fraction from the land grid to the rivers grid. + ! We have already checked that the two grids have the same size. + !---------------------------------------------------------------------------- + IF ( l_use_land_fraction ) THEN + rivers%land_fraction_2d(:,:) = flandg(:,:) + END IF + !---------------------------------------------------------------------------- ! If necessary remap from river input grid to river grid. This handles river ! routing and overbank inundation variables. @@ -939,6 +950,8 @@ SUBROUTINE remap_ancil_control( nx_rivers, ny_rivers, rivers_dx, l_shift_x, & USE jules_rivers_props_mod, ONLY: nvars, var +USE coastal, ONLY: l_use_land_fraction + IMPLICIT NONE !------------------------------------------------------------------------------ @@ -1138,6 +1151,10 @@ SUBROUTINE remap_ancil( nx_rivers, ny_rivers, rivers_dx, & CALL remap_field( nx_rivers, ny_rivers, rivers_dx, l_shift_x, l_reverse_y, & rivers%rivers_xgrid, rivers%rivers_storage ) +CASE ( 'land_fraction_2d' ) + CALL remap_field( nx_rivers, ny_rivers, rivers_dx, l_shift_x, l_reverse_y, & + rivers%rivers_xgrid, rivers%land_fraction_2d ) + CASE ( 'sequence' ) CALL remap_field( nx_rivers, ny_rivers, rivers_dx, l_shift_x, l_reverse_y, & rivers%rivers_xgrid, rivers%rivers_seq ) @@ -2219,6 +2236,8 @@ SUBROUTINE set_river_point_values( rivers_x1_input, & logn_mean_rp, logn_stdev_rp, overbank_hypsometric, & overbank_model, overbank_quantiles +USE coastal, ONLY: l_use_land_fraction + IMPLICIT NONE !------------------------------------------------------------------------------ @@ -2267,8 +2286,11 @@ SUBROUTINE set_river_point_values( rivers_x1_input, & irx, iry, ix, iy ! Index variables. +LOGICAL :: & + frac_chck(np_rivers) + ! Flag indicating costal river points i.e. land fraction < 1.0. + !end of header -!------------------------------------------------------------------------------ !------------------------------------------------------------------------------ ! Scan the river grid for river points and add these to the 1-D river point @@ -2420,6 +2442,14 @@ SUBROUTINE set_river_point_values( rivers_x1_input, & NINT(rivers%rivers_outflow_number(irx,iry)) END IF + !------------------------------------------------------------------------ + ! If the grids are compatible then copy across the land fraction into + ! the rivers grid and test whether the model is using fractional land. + !------------------------------------------------------------------------ + IF ( l_use_land_fraction ) THEN + rivers%land_fraction_rp(ip) = rivers%land_fraction_2d(ix,iy) + END IF + !------------------------------------------------------------------------ ! Set overbank inundation ancillary variables, if required. !------------------------------------------------------------------------ @@ -2439,6 +2469,18 @@ SUBROUTINE set_river_point_values( rivers_x1_input, & END DO ! iy END DO ! ix +! Confirm that land fractions are being used +IF ( l_use_land_fraction ) THEN + frac_chck(:) = ( ( 1.0 - rivers%land_fraction_rp(:) ) > EPSILON(1.0) ) + IF ( ANY ( frac_chck(:) ) ) THEN + WRITE(jules_message,*) COUNT ( frac_chck(:) ), & + " coastal points have been detected/" + CALL log_info(RoutineName, jules_message) + END IF +ELSE + CALL log_info(RoutineName, "Land fractions are not being used") +END IF + END SUBROUTINE set_river_point_values diff --git a/src/initialisation/standalone/ancillaries/init_rivers_props_mod.F90 b/src/initialisation/standalone/ancillaries/init_rivers_props_mod.F90 index 85d8774e..541870ba 100644 --- a/src/initialisation/standalone/ancillaries/init_rivers_props_mod.F90 +++ b/src/initialisation/standalone/ancillaries/init_rivers_props_mod.F90 @@ -61,6 +61,7 @@ SUBROUTINE init_rivers_props(rivers, rivers_data) x_dim_name, y_dim_name, is_climatology USE logging_mod, ONLY: log_fatal, log_info +USE jules_print_mgr, ONLY: jules_message USE model_grid_mod, ONLY: global_land_pts, l_coord_latlon @@ -69,6 +70,7 @@ SUBROUTINE init_rivers_props(rivers, rivers_data) USE overbank_inundation_mod, ONLY: & init_rosgen_vars, overbank_model, overbank_simple_rosgen, & overbank_hypsometric, overbank_quantiles +USE coastal, ONLY: l_use_land_fraction USE parallel_mod, ONLY: is_master_task, master_task_id @@ -145,6 +147,7 @@ SUBROUTINE init_rivers_props(rivers, rivers_data) use_sub_local ! A local copy of use_subgrid. + !------------------------------------------------------------------------------ ! Local array variables (not in namelist). !------------------------------------------------------------------------------ @@ -383,6 +386,21 @@ SUBROUTINE init_rivers_props(rivers, rivers_data) CALL mpi_bcast( l_init_storage, 1, mpi_logical, master_task_id, & mpi_local_comm, ERROR ) +!------------------------------------------------------------------------------ +! Check to see if the 2d rivers grid (dummy_grid) and the 2d land grid +! (local_grid) are the same. If so then we can copy the land fractions +! across from the land grid to the rivers grid in process_rivers_data. +!------------------------------------------------------------------------------ +IF ( l_use_land_fraction ) THEN + IF ( ( local_grid%nx /= dummy_grid%nx ) .OR. & + ( local_grid%ny /= dummy_grid%ny ) ) THEN + WRITE(jules_message,*) & + "JULES model grid must be the same as the 2D Rivers grid, " // & + "when l_use_land_fraction = T" + CALL log_fatal( RoutineName, jules_message ) + END IF +END IF + !------------------------------------------------------------------------------ ! Process the ancillary fields to identify river points and populate fields ! on river points. diff --git a/src/initialisation/standalone/ancillaries/jules_rivers_props_mod.F90 b/src/initialisation/standalone/ancillaries/jules_rivers_props_mod.F90 index a48715f2..d847d1a0 100644 --- a/src/initialisation/standalone/ancillaries/jules_rivers_props_mod.F90 +++ b/src/initialisation/standalone/ancillaries/jules_rivers_props_mod.F90 @@ -501,6 +501,8 @@ SUBROUTINE allocate_river_vars_grid( global_land_pts, nx_rivers, ny_rivers, & error_sum = error_sum + ERROR ALLOCATE( river_manning_grid(nx_size, ny_size), STAT = ERROR ) error_sum = error_sum + ERROR +ALLOCATE( rivers_data%land_fraction_2d(nx_rivers, ny_rivers), STAT = ERROR ) +error_sum = error_sum + ERROR ! CaMa-Flood variables that depend on a further switch. IF ( i_river_vn == rivers_camaflood .AND. l_sea_level ) THEN @@ -583,6 +585,7 @@ SUBROUTINE allocate_river_vars_grid( global_land_pts, nx_rivers, ny_rivers, & rivers_data%rivers_seq(:,:) = rmdi rivers_data%rivers_outflow_number(:,:) = rmdi rivers_data%rivers_storage(:,:) = rmdi +rivers_data%land_fraction_2d(:,:) = rmdi ! Associate pointers rivers%rivers_dir => rivers_data%rivers_dir @@ -593,6 +596,7 @@ SUBROUTINE allocate_river_vars_grid( global_land_pts, nx_rivers, ny_rivers, & rivers%rivers_seq => rivers_data%rivers_seq rivers%rivers_outflow_number => rivers_data%rivers_outflow_number rivers%rivers_storage => rivers_data%rivers_storage +rivers%land_fraction_2d => rivers_data%land_fraction_2d RETURN END SUBROUTINE allocate_river_vars_grid @@ -681,12 +685,16 @@ SUBROUTINE allocate_rivers_vars_rp( np_rivers, rivers, rivers_data ) error_sum = error_sum + ERROR ALLOCATE(rivers_data%rivers_y_coord_rp(np_rivers_tmp), STAT = ERROR) error_sum = error_sum + ERROR +ALLOCATE(rivers_data%land_fraction_rp(np_rivers), STAT = ERROR) +error_sum = error_sum + ERROR ! Fluxes. ALLOCATE(rivers_data%rflow_rp(np_rivers_tmp), STAT = ERROR) error_sum = error_sum + ERROR ALLOCATE(rivers_data%rivers_outflow_rp(np_rivers), STAT = ERROR) error_sum = error_sum + ERROR +ALLOCATE(rivers_data%inland_outflow_rp(np_rivers), STAT = ERROR) +error_sum = error_sum + ERROR ALLOCATE(rivers_data%rrun_rp(np_rivers_tmp), STAT = ERROR) error_sum = error_sum + ERROR ALLOCATE(rivers_data%rrun_sub_surf_rp(np_rivers_tmp), STAT = ERROR) @@ -888,12 +896,14 @@ SUBROUTINE allocate_rivers_vars_rp( np_rivers, rivers, rivers_data ) rivers_data%rivers_next_rp(:) = imdi rivers_data%rivers_x_coord_rp(:) = rmdi rivers_data%rivers_y_coord_rp(:) = rmdi +rivers_data%land_fraction_rp(:) = 1.0 ! Fluxes. rivers_data%rflow_rp(:) = 0.0 rivers_data%rivers_outflow_rp(:) = rmdi rivers_data%rrun_rp(:) = 0.0 rivers_data%rrun_sub_surf_rp(:) = 0.0 rivers_data%rrun_surf_rp(:) = 0.0 +rivers_data%inland_outflow_rp(:) = rmdi ! Initialise regridding variable. rivers_data%map_river_to_land_points(:) = imdi @@ -959,12 +969,14 @@ SUBROUTINE allocate_rivers_vars_rp( np_rivers, rivers, rivers_data ) rivers%rivers_next_rp => rivers_data%rivers_next_rp rivers%rivers_x_coord_rp => rivers_data%rivers_x_coord_rp rivers%rivers_y_coord_rp => rivers_data%rivers_y_coord_rp +rivers%land_fraction_rp => rivers_data%land_fraction_rp ! Fluxes. rivers%rflow_rp => rivers_data%rflow_rp rivers%rivers_outflow_rp => rivers_data%rivers_outflow_rp rivers%rrun_rp => rivers_data%rrun_rp rivers%rrun_sub_surf_rp => rivers_data%rrun_sub_surf_rp rivers%rrun_surf_rp => rivers_data%rrun_surf_rp +rivers%inland_outflow_rp => rivers_data%inland_outflow_rp ! Associate pointers for regridding variable. rivers%map_river_to_land_points => rivers_data%map_river_to_land_points diff --git a/src/initialisation/standalone/grid/init_land_frac_mod.F90 b/src/initialisation/standalone/grid/init_land_frac_mod.F90 index 09af073a..54ae1341 100644 --- a/src/initialisation/standalone/grid/init_land_frac_mod.F90 +++ b/src/initialisation/standalone/grid/init_land_frac_mod.F90 @@ -16,7 +16,7 @@ SUBROUTINE init_land_frac() USE string_utils_mod, ONLY: to_string -USE coastal, ONLY: flandg +USE coastal, ONLY: flandg, l_use_land_fraction USE input_mod, ONLY: input_grid => grid @@ -49,7 +49,8 @@ SUBROUTINE init_land_frac() !----------------------------------------------------------------------------- CHARACTER(LEN=max_file_name_len) :: FILE CHARACTER(LEN=max_sdf_name_len) :: land_frac_name -NAMELIST / jules_land_frac/ FILE, land_frac_name + +NAMELIST /jules_land_frac/ FILE, land_frac_name, l_use_land_fraction !----------------------------------------------------------------------------- ! Initialise @@ -97,13 +98,15 @@ SUBROUTINE init_land_frac() is_climatology = [ .FALSE. ]) END IF -! For now, make sure that land fraction is either 1.0 or 0.0 - until JULES -! can deal with coastal tiling -WHERE ( flandg > EPSILON(1.0) ) - flandg = 1.0 -ELSE WHERE - flandg = 0.0 -END WHERE +IF ( .NOT. l_use_land_fraction ) THEN + ! For now, make sure that land fraction is either 1.0 or 0.0 - until JULES + ! can deal with coastal tiling + WHERE ( flandg > EPSILON(1.0) ) + flandg = 1.0 + ELSE WHERE + flandg = 0.0 + END WHERE +END IF RETURN diff --git a/src/initialisation/standalone/init_output_mod.F90 b/src/initialisation/standalone/init_output_mod.F90 index a69129c6..3e23e709 100644 --- a/src/initialisation/standalone/init_output_mod.F90 +++ b/src/initialisation/standalone/init_output_mod.F90 @@ -347,7 +347,7 @@ SUBROUTINE check_output_vars( nvars, var, var_name, output_type, & l_water_resources, l_water_transfers, no_model, nr_gwater_model USE jules_rivers_mod, ONLY: l_rivers, l_riv_overbank, l_outflow_per_river, & - i_river_vn, rivers_camaflood, rivers_rfm, rivers_trip + i_river_vn, rivers_camaflood, rivers_rfm, rivers_trip, l_inland_outflow USE jules_deposition_mod, ONLY: l_deposition, l_deposition_flux @@ -431,6 +431,21 @@ SUBROUTINE check_output_vars( nvars, var, var_name, output_type, & 'outflow_per_river requested without a river number ancillary specified.' CALL log_fatal(RoutineName, jules_message) END IF + + IF ( ANY( var(:) == 'inland_outflow_rp' ) ) THEN + ! For the special case when the inland basin flow diagnostic is + ! requested and the model does not already have l_inland_outflow + ! set by the coupler then this will alter the outflow_per_river + ! diagnostic. If this is the case then print out a warning. + IF ( l_outflow_per_river .AND. (.NOT. l_inland_outflow) ) THEN + CALL log_warn( RoutineName, & + "Adding the inland_outflow_rp diagnostic " // & + "will alter the contents of the outflow_per_river " // & + "diagnostic." ) + END IF + + l_inland_outflow = .TRUE. + END IF END IF !----------------------------------------------------------------------------- diff --git a/src/io/dump/get_dim_info_mod.F90 b/src/io/dump/get_dim_info_mod.F90 index a23e7b27..be189123 100644 --- a/src/io/dump/get_dim_info_mod.F90 +++ b/src/io/dump/get_dim_info_mod.F90 @@ -561,7 +561,7 @@ SUBROUTINE get_dim_info_rivers( l_reading, identifier, ndims, dim_sizes, & CASE ( 'rivers_lat_rp', 'rivers_lon_rp', 'rivers_x_coord_rp', & 'rivers_y_coord_rp', 'rivers_sto_rp', 'rfm_surfstore_rp', & 'rfm_substore_rp', 'rfm_flowin_rp', 'rfm_bflowin_rp', & - 'rivers_outflow_rp', 'outflow_per_river', & + 'rivers_outflow_rp', 'outflow_per_river', 'inland_outflow_rp', & 'flood_flow', 'flood_flow_prev', 'flood_storage', 'flood_storage_prev', & 'river_channel_flow', 'river_channel_storage', 'river_depth_prev', & 'river_flow_prev' & diff --git a/src/io/dump/read_dump_mod.F90 b/src/io/dump/read_dump_mod.F90 index fa78cbb2..fcfd4493 100644 --- a/src/io/dump/read_dump_mod.F90 +++ b/src/io/dump/read_dump_mod.F90 @@ -987,7 +987,7 @@ SUBROUTINE read_dump(file_name, identifiers) 'flood_storage_prev', 'rfm_bflowin_rp', 'rfm_flowin_rp', & 'rfm_substore_rp', 'rfm_surfstore_rp', 'river_channel_storage', & 'river_channel_flow', 'river_depth_prev', 'river_flow_prev', & - 'rivers_outflow_rp', 'rivers_sto_rp' ) + 'rivers_outflow_rp', 'rivers_sto_rp', 'inland_outflow_rp' ) ! nothing to do !------------------------------------------------------------------------- diff --git a/src/io/dump/read_dump_var_rivers_mod.F90 b/src/io/dump/read_dump_var_rivers_mod.F90 index aa53f957..2045b2b8 100644 --- a/src/io/dump/read_dump_var_rivers_mod.F90 +++ b/src/io/dump/read_dump_var_rivers_mod.F90 @@ -97,6 +97,9 @@ SUBROUTINE read_dump_var_rivers( identifier, FILE, var_id ) CASE ( 'rivers_sto_rp' ) CALL file_read_var(FILE, var_id, rivers%rivers_sto_rp) +CASE ( 'inland_outflow_rp' ) + CALL file_read_var(FILE, var_id, rivers%inland_outflow_rp) + CASE DEFAULT CALL log_fatal( RoutineName, & "Unexpected variable in dump - " // TRIM(identifier) ) diff --git a/src/io/dump/required_vars_for_rivers_mod.F90 b/src/io/dump/required_vars_for_rivers_mod.F90 index 47771afe..a2739533 100644 --- a/src/io/dump/required_vars_for_rivers_mod.F90 +++ b/src/io/dump/required_vars_for_rivers_mod.F90 @@ -16,7 +16,8 @@ SUBROUTINE required_vars_for_rivers( nvars, identifiers, & read_or_write_dump ) USE jules_rivers_mod, ONLY: l_outflow_per_river, i_river_vn, rivers_camaflood, & - rivers_rfm, rivers_trip, l_init_storage + rivers_rfm, rivers_trip, l_init_storage, & + l_inland_outflow USE logging_mod, ONLY: log_warn @@ -88,6 +89,15 @@ SUBROUTINE required_vars_for_rivers( nvars, identifiers, & END IF END IF +IF ( l_inland_outflow ) THEN + IF ( read_or_write_dump_local ) THEN + CALL add_to_list( 'inland_outflow_rp', nvars, identifiers ) + ELSE + CALL log_warn( RoutineName, & + "inland_outflow_rp will be initialised to zero.") + END IF +END IF + SELECT CASE( i_river_vn ) CASE ( rivers_camaflood ) diff --git a/src/io/dump/write_dump_mod.F90 b/src/io/dump/write_dump_mod.F90 index 2c5e6b40..55a56520 100644 --- a/src/io/dump/write_dump_mod.F90 +++ b/src/io/dump/write_dump_mod.F90 @@ -680,6 +680,7 @@ SUBROUTINE write_dump() 'rivers_x_coord_rp', 'rivers_y_coord_rp', & 'rfm_surfstore_rp', 'rfm_substore_rp', & 'rfm_flowin_rp', 'rfm_bflowin_rp', 'rivers_outflow_rp', & + 'inland_outflow_rp', & 'flood_flow', 'flood_flow_prev', 'flood_storage', & 'flood_storage_prev', 'river_channel_flow', 'river_channel_storage', & 'river_depth_prev', 'river_flow_prev' ) diff --git a/src/io/dump/write_dump_var_rivers_mod.F90 b/src/io/dump/write_dump_var_rivers_mod.F90 index cf86b15e..20475240 100644 --- a/src/io/dump/write_dump_var_rivers_mod.F90 +++ b/src/io/dump/write_dump_var_rivers_mod.F90 @@ -110,6 +110,9 @@ SUBROUTINE write_dump_var_rivers( identifier, FILE, var_id ) CASE ( 'rivers_y_coord_rp' ) CALL file_write_var(FILE, var_id, rivers%rivers_y_coord_rp) +CASE ( 'inland_outflow_rp' ) + CALL file_write_var(FILE, var_id, rivers%inland_outflow_rp) + CASE DEFAULT CALL log_fatal( RoutineName, & "Unrecognised variable for dump - " // TRIM(identifier) ) diff --git a/src/io/model_interface/extract_var.inc b/src/io/model_interface/extract_var.inc index 49d27599..83077bc9 100644 --- a/src/io/model_interface/extract_var.inc +++ b/src/io/model_interface/extract_var.inc @@ -2683,6 +2683,9 @@ CASE ( 'rfm_surfstore_rp' ) CASE ( 'rivers_outflow_rp' ) cube = cube_from_array(rivers%rivers_outflow_rp) +CASE ( 'inland_outflow_rp' ) + cube = cube_from_array(rivers%inland_outflow_rp) + CASE ( 'river_elevation' ) cube = cube_from_array(rivers%river_elevation) diff --git a/src/io/model_interface/model_interface_mod.F90 b/src/io/model_interface/model_interface_mod.F90 index b3c63407..b06b80a8 100644 --- a/src/io/model_interface/model_interface_mod.F90 +++ b/src/io/model_interface/model_interface_mod.F90 @@ -176,7 +176,7 @@ MODULE model_interface_mod ! Array holding the metadata for all model variables that we can use for input ! or output. The CABLE land surface model adds 10 prognostics for tiled ! soil/snow prognostics. -INTEGER, PARAMETER :: n_vars = 722 +INTEGER, PARAMETER :: n_vars = 723 TYPE(var_metadata) :: metadata(n_vars) ! Include the metadata DATA statement diff --git a/src/io/model_interface/populate_var.inc b/src/io/model_interface/populate_var.inc index 4dc4976c..5b1ca8af 100644 --- a/src/io/model_interface/populate_var.inc +++ b/src/io/model_interface/populate_var.inc @@ -2439,6 +2439,14 @@ CASE ( 'rivers_outflow_rp' ) rivers%rivers_outflow_rp(:) = const_val END IF +CASE ( 'inland_outflow_rp' ) + IF ( PRESENT(cube) ) THEN + cube_land = cube_create([ SIZE(cube%values) ]) + CALL cube_get_data(cube_land, rivers%inland_outflow_rp) + ELSE + rivers%inland_outflow_rp(:) = const_val + END IF + CASE ( 'rfm_surfstore_rp' ) IF ( PRESENT(cube) ) THEN cube_land = cube_create([ SIZE(cube%values) ]) diff --git a/src/io/model_interface/variable_metadata.inc b/src/io/model_interface/variable_metadata.inc index 0efd8ac3..8b7fa44c 100644 --- a/src/io/model_interface/variable_metadata.inc +++ b/src/io/model_interface/variable_metadata.inc @@ -9354,4 +9354,17 @@ DATA metadata(722) / var_metadata( & ! Units "kg s-1" & ) / +!----------------------------------------------------------------------------- +! Metadata for inland_outflow_rp +!----------------------------------------------------------------------------- +DATA metadata(723) / var_metadata( & +! String identifier + 'inland_outflow_rp', & +! Variable type + var_type_rp, & +! Long name + "Inland basin flow on river routing grid", & +! Units + "kg m-2 s-1" & + ) / #endif diff --git a/src/science/river_routing/rivers_route_mod.F90 b/src/science/river_routing/rivers_route_mod.F90 index a7dc380d..9f94355b 100644 --- a/src/science/river_routing/rivers_route_mod.F90 +++ b/src/science/river_routing/rivers_route_mod.F90 @@ -113,7 +113,8 @@ SUBROUTINE rivers_route_rp(rivers) rivers%rflow_rp, baseflow, rivers%rivers_outflow_rp, & rivers%rivers_next_rp, rivers%rivers_seq_rp, & rivers%rivers_sto_rp,rivers%rivers_boxareas_rp, & - rivers%rivers_lat_rp, rivers%rivers_lon_rp ) + rivers%rivers_lat_rp, rivers%rivers_lon_rp, & + rivers%inland_outflow_rp, rivers%land_fraction_rp ) CASE DEFAULT WRITE(jules_message,*) 'ERROR: rivers_drive: ' // & 'do not recognise i_river_vn=', i_river_vn diff --git a/src/science/river_routing/rivers_route_trip_mod.F90 b/src/science/river_routing/rivers_route_trip_mod.F90 index 4ec3a65c..fb07095b 100644 --- a/src/science/river_routing/rivers_route_trip_mod.F90 +++ b/src/science/river_routing/rivers_route_trip_mod.F90 @@ -44,11 +44,13 @@ SUBROUTINE rivers_route_trip( sfc_runoff, sub_sfc_runoff, outflow, baseflow, & rivers_outflow_rp, rivers_next_rp, & rivers_seq_rp, rivers_sto_rp , & rivers_boxareas_rp, & - rivers_lat_rp, rivers_lon_rp ) + rivers_lat_rp, rivers_lon_rp, & + inland_outflow_rp, land_fraction_rp ) USE jules_rivers_mod, ONLY: & ! imported scalars with intent(in) - np_rivers,nstep_rivers,nseqmax,river_mouth,rivers_meander,rivers_speed + np_rivers,nstep_rivers,nseqmax,river_mouth,rivers_meander,rivers_speed, & + inland_drainage, l_inland_outflow USE rivers_utils, ONLY: & ! imported procedures @@ -57,6 +59,8 @@ SUBROUTINE rivers_route_trip( sfc_runoff, sub_sfc_runoff, outflow, baseflow, & USE timestep_mod, ONLY: & timestep +USE missing_data_mod, ONLY: imdi + USE um_types, ONLY: real_jlslsm IMPLICIT NONE @@ -80,8 +84,10 @@ SUBROUTINE rivers_route_trip( sfc_runoff, sub_sfc_runoff, outflow, baseflow, & ,baseflow(np_rivers) & ! rate of channel base flow leaving gridbox (kg m-2 s-1) ! At present this is set to zero. - ,rivers_outflow_rp(np_rivers) + ,rivers_outflow_rp(np_rivers) & ! River outflow into the ocean (kg s-1) + ,inland_outflow_rp(np_rivers) + ! Inland basin flow into the soil on river grid (kg m-2 s-1) ! Rivers Arrays INTEGER, INTENT(IN) :: rivers_next_rp(:) @@ -90,10 +96,13 @@ SUBROUTINE rivers_route_trip( sfc_runoff, sub_sfc_runoff, outflow, baseflow, & REAL, INTENT(IN) :: rivers_lat_rp(:) REAL, INTENT(IN) :: rivers_lon_rp(:) REAL, INTENT(IN OUT) :: rivers_sto_rp(:) +REAL, INTENT(IN) :: land_fraction_rp(:) INTEGER :: & ! local scalars (work/loop counters) - ip, iseq + ip, iseq & +! local arrays + ,coastal_mask_rp(np_rivers) REAL(KIND=real_jlslsm) :: & ! local scalars @@ -118,16 +127,46 @@ SUBROUTINE rivers_route_trip( sfc_runoff, sub_sfc_runoff, outflow, baseflow, & dt = REAL(nstep_rivers) * timestep -! Initialise inflow with total runoff generated over each gridbox. -! Convert runoff to kg s-1 flux -DO ip = 1, np_rivers - inflow(ip) = ( sfc_runoff(ip) + sub_sfc_runoff(ip) ) * & - rivers_boxareas_rp(ip) +coastal_mask_rp(:) = imdi +IF ( l_inland_outflow ) THEN + ! Set coastal mask; used to direct inland water flow either to soil moisture + ! or ocean for water conservation purposes. + WHERE ( ( 1.0 - land_fraction_rp(:) ) > EPSILON(1.0) ) + coastal_mask_rp(:) = 1 + ELSE WHERE + coastal_mask_rp(:) = 0 + END WHERE +END IF +DO ip = 1, np_rivers ! Initialise outflows. outflow(ip) = 0.0 baseflow(ip) = 0.0 rivers_outflow_rp(ip) = 0.0 + inland_outflow_rp(ip) = 0.0 + + ! Initialise inflow with total runoff generated over each gridbox. + ! Convert runoff to kg s-1 flux + inflow(ip) = ( sfc_runoff(ip) + sub_sfc_runoff(ip) ) * & + rivers_boxareas_rp(ip) + + IF ( l_inland_outflow ) THEN + ! Inland basin flow is passed to the soil moisture to conserve water in + ! coupled models. + ! To avoid the scenario where the soil becomes super-saturated, runs off + ! to the rivers only to be returned to the inland basin, then back to the + ! soil again creating a loop, we send the inflow to the ocean via the + ! closest large river favouring those with larger climatological outflows + ! (defined by river number ancillary). + ! Coastal inland water basins are treated in the same way as river mouths. + IF ( rivers_next_rp(ip) == inland_drainage .AND. & + coastal_mask_rp(ip) == 0 ) THEN + ! Non-coast inland basin send the inflow to the ocean + rivers_outflow_rp(ip) = inflow(ip) + inflow(ip) = 0.0 + END IF + END IF + END DO !----------------------------------------------------------------------------- @@ -188,13 +227,24 @@ SUBROUTINE rivers_route_trip( sfc_runoff, sub_sfc_runoff, outflow, baseflow, & ! End main TRIP algorithm routine !----------------------------------------------------------------------------- -! Catch all outflow going into the sea and save it in rivers_outflow_rp. +! Catch all outflow and either save it in rivers_outflow_rp (for outflow to +! the ocean) or inland_outflow_rp (for inland basin flow back to the soil). ! Also return flows in flux density units kg/m2/s. !----------------------------------------------------------------------------- DO ip = 1,np_rivers IF ( rivers_next_rp(ip) == river_mouth ) THEN rivers_outflow_rp(ip) = outflow(ip) + ELSE IF ( l_inland_outflow .AND. rivers_next_rp(ip) == inland_drainage ) THEN + SELECT CASE ( coastal_mask_rp(ip) ) + CASE ( 1 ) + ! Coastal inland basins, direct outflow to ocean (as for river mouth) + rivers_outflow_rp(ip) = outflow(ip) + CASE ( 0 ) + ! Non-coastal inland basins, direct flow in flux density units + ! kg/m2/s to soil moisture + inland_outflow_rp(ip) = outflow(ip) / rivers_boxareas_rp(ip) + END SELECT END IF ! Return flows in flux density units kg/m2/s From b0ce765f3a9443635727732187353af1efdeb44f Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Wed, 11 Feb 2026 10:55:39 +0000 Subject: [PATCH 02/36] Correct upgrade macro --- rose-meta/jules-standalone/versions.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rose-meta/jules-standalone/versions.py b/rose-meta/jules-standalone/versions.py index ce7a4c93..d7f7902b 100644 --- a/rose-meta/jules-standalone/versions.py +++ b/rose-meta/jules-standalone/versions.py @@ -43,11 +43,11 @@ from .version79_80 import * -class vn79_t1528(MacroUpgrade): - """Upgrade macro from JULES #1528 by Dan Copsey""" +class vn80_t34(MacroUpgrade): + """Upgrade macro from JULES #34 by Dan Copsey""" - BEFORE_TAG = "vn7.9" - AFTER_TAG = "vn7.9_t1528" + BEFORE_TAG = "vn8.0" + AFTER_TAG = "vn8.0_t34" def upgrade(self, config, meta_config=None): """Upgrade a JULES runtime app configuration.""" From d20756b0746d026a6c6379773c9d3a374619e6d4 Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Fri, 20 Mar 2026 17:16:15 +0000 Subject: [PATCH 03/36] Correct URL --- rose-meta/jules-standalone/HEAD/rose-meta.conf.orig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rose-meta/jules-standalone/HEAD/rose-meta.conf.orig b/rose-meta/jules-standalone/HEAD/rose-meta.conf.orig index 49842ae3..870c3d39 100644 --- a/rose-meta/jules-standalone/HEAD/rose-meta.conf.orig +++ b/rose-meta/jules-standalone/HEAD/rose-meta.conf.orig @@ -2742,7 +2742,7 @@ 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=http://jules-lsm.github.io/latest/namelists/model_grid.nml.html#JULES_LAND_FRAC::l_use_land_fraction +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 From 35e447dd25289da510193f26a753ae6671a84952 Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Tue, 24 Mar 2026 16:19:05 +0000 Subject: [PATCH 04/36] Corrected version for upgrade --- rose-meta/jules-standalone/versions.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rose-meta/jules-standalone/versions.py b/rose-meta/jules-standalone/versions.py index 7fce9cd8..bfc809b9 100644 --- a/rose-meta/jules-standalone/versions.py +++ b/rose-meta/jules-standalone/versions.py @@ -47,8 +47,8 @@ class vn80_t34(MacroUpgrade): """Upgrade macro from JULES #34 by Dan Copsey""" - BEFORE_TAG = "vn8.0" - AFTER_TAG = "vn8.0_t34" + BEFORE_TAG = "vn8.1" + AFTER_TAG = "vn8.1_t34" def upgrade(self, config, meta_config=None): """Upgrade a JULES runtime app configuration.""" From c84474d55698206b00f18e96e70f9e3d235b2be2 Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Tue, 24 Mar 2026 16:49:22 +0000 Subject: [PATCH 05/36] Corrected some meta data --- rose-meta/jules-standalone/HEAD/rose-meta.conf | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/rose-meta/jules-standalone/HEAD/rose-meta.conf b/rose-meta/jules-standalone/HEAD/rose-meta.conf index 8e90fb1a..7137506c 100644 --- a/rose-meta/jules-standalone/HEAD/rose-meta.conf +++ b/rose-meta/jules-standalone/HEAD/rose-meta.conf @@ -2739,10 +2739,10 @@ url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES [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. +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=http://jules-lsm.github.io/latest/namelists/model_grid.nml.html#JULES_LAND_FRAC::l_use_land_fraction +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 @@ -3302,7 +3302,7 @@ url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES [namelist:jules_pftparm=aef_io] compulsory=true -description=Acetone emission factor per PFT (µgC g-1 h-1) +description=Acetone emission factor per PFT (µgC g-1 h-1) fail-if=len(this) != namelist:jules_surface_types=npft length=: ns=namelist/JULES Science Settings/jules_pftparm/Other parameters @@ -3918,7 +3918,7 @@ url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES [namelist:jules_pftparm=ief_io] compulsory=true -description=Isoprene emission factor per PFT (µgC g-1 h-1) +description=Isoprene emission factor per PFT (µgC g-1 h-1) fail-if=len(this) != namelist:jules_surface_types=npft length=: ns=namelist/JULES Science Settings/jules_pftparm/Other parameters @@ -3996,7 +3996,7 @@ url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES [namelist:jules_pftparm=mef_io] compulsory=true -description=Methanol emission factor per PFT (µgC g-1 h-1) +description=Methanol emission factor per PFT (µgC g-1 h-1) fail-if=len(this) != namelist:jules_surface_types=npft length=: ns=namelist/JULES Science Settings/jules_pftparm/Other parameters @@ -4249,7 +4249,7 @@ url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES [namelist:jules_pftparm=tef_io] compulsory=true -description=(Mono-)Terpene emission factor per PFT (µgC g-1 h-1) +description=(Mono-)Terpene emission factor per PFT (µgC g-1 h-1) fail-if=len(this) != namelist:jules_surface_types=npft length=: ns=namelist/JULES Science Settings/jules_pftparm/Other parameters From 582b1d87a4227711b72d9db858de8baf49d37bcd Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Tue, 24 Mar 2026 17:12:39 +0000 Subject: [PATCH 06/36] Fix units that do not allow upgrade --- rose-meta/jules-standalone/HEAD/rose-meta.conf | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rose-meta/jules-standalone/HEAD/rose-meta.conf b/rose-meta/jules-standalone/HEAD/rose-meta.conf index 7137506c..1dc7a85f 100644 --- a/rose-meta/jules-standalone/HEAD/rose-meta.conf +++ b/rose-meta/jules-standalone/HEAD/rose-meta.conf @@ -3302,7 +3302,7 @@ url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES [namelist:jules_pftparm=aef_io] compulsory=true -description=Acetone emission factor per PFT (µgC g-1 h-1) +description=Acetone emission factor per PFT (ugC g-1 h-1) fail-if=len(this) != namelist:jules_surface_types=npft length=: ns=namelist/JULES Science Settings/jules_pftparm/Other parameters @@ -3918,7 +3918,7 @@ url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES [namelist:jules_pftparm=ief_io] compulsory=true -description=Isoprene emission factor per PFT (µgC g-1 h-1) +description=Isoprene emission factor per PFT (ugC g-1 h-1) fail-if=len(this) != namelist:jules_surface_types=npft length=: ns=namelist/JULES Science Settings/jules_pftparm/Other parameters @@ -3996,7 +3996,7 @@ url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES [namelist:jules_pftparm=mef_io] compulsory=true -description=Methanol emission factor per PFT (µgC g-1 h-1) +description=Methanol emission factor per PFT (ugC g-1 h-1) fail-if=len(this) != namelist:jules_surface_types=npft length=: ns=namelist/JULES Science Settings/jules_pftparm/Other parameters @@ -4249,7 +4249,7 @@ url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES [namelist:jules_pftparm=tef_io] compulsory=true -description=(Mono-)Terpene emission factor per PFT (µgC g-1 h-1) +description=(Mono-)Terpene emission factor per PFT (ugC g-1 h-1) fail-if=len(this) != namelist:jules_surface_types=npft length=: ns=namelist/JULES Science Settings/jules_pftparm/Other parameters From c725632e28d8028a673b6d54451b4d21ccb1595a Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Wed, 25 Mar 2026 13:51:46 +0000 Subject: [PATCH 07/36] updated meta data --- .../jules-shared/jules-model-environment/HEAD/rose-meta.conf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rose-meta/jules-shared/jules-model-environment/HEAD/rose-meta.conf b/rose-meta/jules-shared/jules-model-environment/HEAD/rose-meta.conf index c9a1ddad..fa1520e0 100644 --- a/rose-meta/jules-shared/jules-model-environment/HEAD/rose-meta.conf +++ b/rose-meta/jules-shared/jules-model-environment/HEAD/rose-meta.conf @@ -17,13 +17,13 @@ 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_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; @@ -279,6 +279,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 From 58587ecd148cb5be597b8f16e2ea277aa450f921 Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Fri, 27 Mar 2026 09:45:44 +0000 Subject: [PATCH 08/36] Added my name to CONTRIBUTORS.md --- CONTRIBUTORS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index c64b5adb..b8719edf 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -9,3 +9,4 @@ | ScottWales | Scott Wales | Bureau of Meteorology | 2026-02-16 | | t00sa | Sam Clarke-Green | Met Office | 2026-02-27 | | Pierre-siddall | Pierre Siddall| Met Office | 2026-02-06 | +| DanCopsey | Dan Copsey | Met Office | 2026-03-27 | From a2f80cb9342dddcb464c1909344b6ca5d74626de Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Thu, 2 Apr 2026 10:36:47 +0100 Subject: [PATCH 09/36] Get inland outflow and river outflow to be initialised for coupled models --- src/io/dump/required_vars_for_rivers_mod.F90 | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/io/dump/required_vars_for_rivers_mod.F90 b/src/io/dump/required_vars_for_rivers_mod.F90 index a2739533..0bc1e248 100644 --- a/src/io/dump/required_vars_for_rivers_mod.F90 +++ b/src/io/dump/required_vars_for_rivers_mod.F90 @@ -19,6 +19,8 @@ SUBROUTINE required_vars_for_rivers( nvars, identifiers, & rivers_rfm, rivers_trip, l_init_storage, & l_inland_outflow +USE jules_model_environment_mod, ONLY: l_oasis_rivers + USE logging_mod, ONLY: log_warn USE add_to_list_mod, ONLY: add_to_list @@ -81,20 +83,24 @@ SUBROUTINE required_vars_for_rivers( nvars, identifiers, & read_or_write_dump_local = read_or_write_dump IF ( l_outflow_per_river ) THEN - IF ( read_or_write_dump_local ) THEN + IF ( read_or_write_dump_local .OR. l_oasis_rivers ) THEN + ! For coupled models rivers_outflow_rp will need to be initialised so + ! that valid data is passed to oasis before the first timestep. CALL add_to_list( 'rivers_outflow_rp', nvars, identifiers ) ELSE CALL log_warn( RoutineName, & - "rivers_outflow_rp will be initialised to zero.") + "rivers_outflow_rp will be initialised to rmdi.") END IF END IF IF ( l_inland_outflow ) THEN - IF ( read_or_write_dump_local ) THEN + IF ( read_or_write_dump_local .OR. l_oasis_rivers ) THEN + ! For coupled models inland_outflow_rp will need to be initialised so + ! that valid data is passed to oasis before the first timestep. CALL add_to_list( 'inland_outflow_rp', nvars, identifiers ) ELSE CALL log_warn( RoutineName, & - "inland_outflow_rp will be initialised to zero.") + "inland_outflow_rp will be initialised to rmdi.") END IF END IF From 9baf7cecfbaae10c0aefbd936a68db4247a62e0b Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Tue, 7 Apr 2026 18:01:33 +0100 Subject: [PATCH 10/36] Added documentation changes from https://github.com/jules-lsm/jules-lsm.github.io/pull/79/changes --- doc/source/namelists/jules_hydrology.nml.rst | 12 ++++++++++++ doc/source/namelists/model_grid.nml.rst | 17 ++++++++++++++++- doc/source/namelists/oasis_rivers.nml.rst | 8 ++++++-- 3 files changed, 34 insertions(+), 3 deletions(-) diff --git a/doc/source/namelists/jules_hydrology.nml.rst b/doc/source/namelists/jules_hydrology.nml.rst index b72be45e..23bb597d 100644 --- a/doc/source/namelists/jules_hydrology.nml.rst +++ b/doc/source/namelists/jules_hydrology.nml.rst @@ -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 diff --git a/doc/source/namelists/model_grid.nml.rst b/doc/source/namelists/model_grid.nml.rst index b5f1eeac..db385bee 100644 --- a/doc/source/namelists/model_grid.nml.rst +++ b/doc/source/namelists/model_grid.nml.rst @@ -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. @@ -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 ------------------------------------- diff --git a/doc/source/namelists/oasis_rivers.nml.rst b/doc/source/namelists/oasis_rivers.nml.rst index 591d0912..bb4201a1 100644 --- a/doc/source/namelists/oasis_rivers.nml.rst +++ b/doc/source/namelists/oasis_rivers.nml.rst @@ -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 From 2444a28a1c8e4745453f1debd648a0b5b13d05d0 Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Fri, 10 Apr 2026 18:20:14 +0100 Subject: [PATCH 11/36] Added reviewer suggested changes from https://code.metoffice.gov.uk/trac/jules/wiki/ticket/t1528/SciTechReview section: 'Updated review 11/09/2025' --- rose-meta/jules-standalone/HEAD/rose-meta.conf | 8 ++++---- rose-stem/app/gswp2_trip/opt/rose-app-rivers-only.conf | 7 +++++++ .../ancillaries/init_rivers_process_data_mod.F90 | 4 +--- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/rose-meta/jules-standalone/HEAD/rose-meta.conf b/rose-meta/jules-standalone/HEAD/rose-meta.conf index 1dc7a85f..e921af67 100644 --- a/rose-meta/jules-standalone/HEAD/rose-meta.conf +++ b/rose-meta/jules-standalone/HEAD/rose-meta.conf @@ -2501,7 +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.' +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 @@ -2510,7 +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.' +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 @@ -4942,7 +4942,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.' +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 @@ -4959,7 +4959,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.' +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 diff --git a/rose-stem/app/gswp2_trip/opt/rose-app-rivers-only.conf b/rose-stem/app/gswp2_trip/opt/rose-app-rivers-only.conf index 28ea8d93..d76e9fed 100644 --- a/rose-stem/app/gswp2_trip/opt/rose-app-rivers-only.conf +++ b/rose-stem/app/gswp2_trip/opt/rose-app-rivers-only.conf @@ -19,6 +19,7 @@ time_dim_name='time' [namelist:jules_land_frac] file='$RIVERS_ONLY_INSTALL_DIR/$RIVERS_ONLY_DRIVE_TASK.drive_rivers-only.nc' +l_use_land_fraction=.false. land_frac_name='land_fraction' [namelist:jules_latlon] @@ -45,6 +46,12 @@ lsm_id=3 [namelist:jules_output] nprofiles=2 +[namelist:jules_output_profile(2)] +nvars=3 +output_type='S','S','S' +var='rivers_outflow_rp','outflow_per_river','inland_outflow_rp' +var_name='','','' + [!!namelist:jules_pftparm] !!a_wl_io=0.65,0.65,0.005,0.005,0.10 !!a_ws_io=10.00,10.00,1.00,1.00,10.00 diff --git a/src/initialisation/standalone/ancillaries/init_rivers_process_data_mod.F90 b/src/initialisation/standalone/ancillaries/init_rivers_process_data_mod.F90 index fc270c4e..8e774bf8 100644 --- a/src/initialisation/standalone/ancillaries/init_rivers_process_data_mod.F90 +++ b/src/initialisation/standalone/ancillaries/init_rivers_process_data_mod.F90 @@ -950,8 +950,6 @@ SUBROUTINE remap_ancil_control( nx_rivers, ny_rivers, rivers_dx, l_shift_x, & USE jules_rivers_props_mod, ONLY: nvars, var -USE coastal, ONLY: l_use_land_fraction - IMPLICIT NONE !------------------------------------------------------------------------------ @@ -2474,7 +2472,7 @@ SUBROUTINE set_river_point_values( rivers_x1_input, & frac_chck(:) = ( ( 1.0 - rivers%land_fraction_rp(:) ) > EPSILON(1.0) ) IF ( ANY ( frac_chck(:) ) ) THEN WRITE(jules_message,*) COUNT ( frac_chck(:) ), & - " coastal points have been detected/" + " coastal points have been detected." CALL log_info(RoutineName, jules_message) END IF ELSE From 27a474d93d62251f76c045cc13b4f4af5d5cdbfe Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Mon, 13 Apr 2026 10:15:15 +0100 Subject: [PATCH 12/36] Fix user guide build-and-deploy failures --- doc/source/namelists/model_grid.nml.rst | 2 +- doc/source/namelists/oasis_rivers.nml.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/source/namelists/model_grid.nml.rst b/doc/source/namelists/model_grid.nml.rst index db385bee..ab6d134b 100644 --- a/doc/source/namelists/model_grid.nml.rst +++ b/doc/source/namelists/model_grid.nml.rst @@ -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. 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). +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. diff --git a/doc/source/namelists/oasis_rivers.nml.rst b/doc/source/namelists/oasis_rivers.nml.rst index bb4201a1..56b9ab20 100644 --- a/doc/source/namelists/oasis_rivers.nml.rst +++ b/doc/source/namelists/oasis_rivers.nml.rst @@ -49,7 +49,7 @@ This file contains a single namelists called :nml:lst:`OASIS_RIVERS`, which indi 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. + 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 From a8a00771679d53070f0af36a5eb8441d7dbc33e7 Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Mon, 13 Apr 2026 10:23:35 +0100 Subject: [PATCH 13/36] Removed micro gram change that I made to get upgrade to work --- rose-meta/jules-standalone/HEAD/rose-meta.conf | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rose-meta/jules-standalone/HEAD/rose-meta.conf b/rose-meta/jules-standalone/HEAD/rose-meta.conf index e921af67..35adee70 100644 --- a/rose-meta/jules-standalone/HEAD/rose-meta.conf +++ b/rose-meta/jules-standalone/HEAD/rose-meta.conf @@ -3302,7 +3302,7 @@ url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES [namelist:jules_pftparm=aef_io] compulsory=true -description=Acetone emission factor per PFT (ugC g-1 h-1) +description=Acetone emission factor per PFT (µgC g-1 h-1) fail-if=len(this) != namelist:jules_surface_types=npft length=: ns=namelist/JULES Science Settings/jules_pftparm/Other parameters @@ -3918,7 +3918,7 @@ url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES [namelist:jules_pftparm=ief_io] compulsory=true -description=Isoprene emission factor per PFT (ugC g-1 h-1) +description=Isoprene emission factor per PFT (µgC g-1 h-1) fail-if=len(this) != namelist:jules_surface_types=npft length=: ns=namelist/JULES Science Settings/jules_pftparm/Other parameters @@ -3996,7 +3996,7 @@ url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES [namelist:jules_pftparm=mef_io] compulsory=true -description=Methanol emission factor per PFT (ugC g-1 h-1) +description=Methanol emission factor per PFT (µgC g-1 h-1) fail-if=len(this) != namelist:jules_surface_types=npft length=: ns=namelist/JULES Science Settings/jules_pftparm/Other parameters @@ -4249,7 +4249,7 @@ url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES [namelist:jules_pftparm=tef_io] compulsory=true -description=(Mono-)Terpene emission factor per PFT (ugC g-1 h-1) +description=(Mono-)Terpene emission factor per PFT (µgC g-1 h-1) fail-if=len(this) != namelist:jules_surface_types=npft length=: ns=namelist/JULES Science Settings/jules_pftparm/Other parameters From 8ef347921fa4d79978540467fa49eb360acc483f Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Wed, 15 Apr 2026 13:49:24 +0100 Subject: [PATCH 14/36] Remove rose-meta.conf.orig that somehow got added by accident --- .../jules-standalone/HEAD/rose-meta.conf.orig | 8473 ----------------- 1 file changed, 8473 deletions(-) delete mode 100644 rose-meta/jules-standalone/HEAD/rose-meta.conf.orig diff --git a/rose-meta/jules-standalone/HEAD/rose-meta.conf.orig b/rose-meta/jules-standalone/HEAD/rose-meta.conf.orig deleted file mode 100644 index 870c3d39..00000000 --- a/rose-meta/jules-standalone/HEAD/rose-meta.conf.orig +++ /dev/null @@ -1,8473 +0,0 @@ -# Please see jules:wiki:SharingJULESmetadata - -import=jules-shared/jules-hydrology/HEAD - =jules-shared/jules-model-environment/HEAD - =jules-shared/jules-nvegparm/HEAD - =jules-shared/jules-pftparm/HEAD - =jules-shared/jules-radiation/HEAD - =jules-shared/jules-snow/HEAD - =jules-shared/jules-soil/HEAD - =jules-shared/jules-surface/HEAD - =jules-shared/jules-surface-types/HEAD - =jules-shared/jules-urban/HEAD - =jules-shared/jules-vegetation/HEAD - -[command] -ns=Execution command -sort-key=00 - -[command=default] -description=If serial build was used, this cannot be parallel -sort-key=1 -title=Method to use to invoke JULES -value-titles=auto-detect,serial,parallel,profile -values=rose-run jules.exe,jules.exe,rose mpi-launch jules.exe,rose mpi-launch valgrind --tool=callgrind jules.exe -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[command=rivers-only] -description=UNDER DEVELOPMENT - =Driving data timestamp issue leads to non-scientific results -sort-key=2 -title=Method to use to invoke Standalone Rivers -value-titles=auto-detect -values=rose-run river.exe -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist] -title=Namelist configuration - -[namelist:cable_pftparm] -compulsory=true -description=This namelist reads the values of parameters for each of the plant - =functional types (PFTs) if the CABLE land surface model is being - =used. These parameters are a function of PFT only. Every member - =must be given a value for every run. CABLE uses the same parameters - =for veg and non-veg surface types, unlike JULES, and therefore its - =arrays are of dimension (npft + nnvg). -ns=namelist/CABLE Science Settings/cable_pftparm -title=CABLE PFT Parameters -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#namelist-CABLE_PFTPARM -widget[rose-config-edit]=cylc8_compat.PageArrayTable - -[namelist:cable_pftparm=a1gs_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::a1gs_io - -[namelist:cable_pftparm=alpha_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::alpha_io - -[namelist:cable_pftparm=canst1_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::canst1_io - -[namelist:cable_pftparm=cfrd_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::cfrd_io - -[namelist:cable_pftparm=clitt_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::clitt_io - -[namelist:cable_pftparm=conkc0_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::conkc0_io - -[namelist:cable_pftparm=conko0_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::conko0_io - -[namelist:cable_pftparm=convex_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::convex_io - -[namelist:cable_pftparm=cplant1_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::cplant1_io - -[namelist:cable_pftparm=cplant2_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::cplant2_io - -[namelist:cable_pftparm=cplant3_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::cplant3_io - -[namelist:cable_pftparm=csoil1_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::csoil1_io - -[namelist:cable_pftparm=csoil2_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::csoil2_io - -[namelist:cable_pftparm=d0gs_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::d0gs_io - -[namelist:cable_pftparm=ejmax_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::ejmax_io - -[namelist:cable_pftparm=ekc_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::ekc_io - -[namelist:cable_pftparm=eko_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::eko_io - -[namelist:cable_pftparm=extkn_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::extkn_io - -[namelist:cable_pftparm=frac4_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::frac4_io - -[namelist:cable_pftparm=froot1_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::froot1_io - -[namelist:cable_pftparm=froot2_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::froot2_io - -[namelist:cable_pftparm=froot3_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::froot3_io - -[namelist:cable_pftparm=froot4_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::froot4_io - -[namelist:cable_pftparm=froot5_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::froot5_io - -[namelist:cable_pftparm=froot6_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::froot6_io - -[namelist:cable_pftparm=g0_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::g0_io - -[namelist:cable_pftparm=g1_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::g1_io - -[namelist:cable_pftparm=gswmin_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::gswmin_io - -[namelist:cable_pftparm=hc_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::hc_io - -[namelist:cable_pftparm=lai_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::lai_io - -[namelist:cable_pftparm=length_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::length_io - -[namelist:cable_pftparm=ratecp1_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::ratecp1_io - -[namelist:cable_pftparm=ratecp2_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::ratecp2_io - -[namelist:cable_pftparm=ratecp3_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::ratecp3_io - -[namelist:cable_pftparm=ratecs1_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::ratecs1_io - -[namelist:cable_pftparm=ratecs2_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::ratecs2_io - -[namelist:cable_pftparm=refl1_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::refl1_io - -[namelist:cable_pftparm=refl2_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::refl2_io - -[namelist:cable_pftparm=refl3_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::refl3_io - -[namelist:cable_pftparm=rootbeta_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::rootbeta_io - -[namelist:cable_pftparm=rp20_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::rp20_io - -[namelist:cable_pftparm=rpcoef_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::rpcoef_io - -[namelist:cable_pftparm=rs20_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::rs20_io - -[namelist:cable_pftparm=shelrb_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::shelrb_io - -[namelist:cable_pftparm=taul1_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::taul1_io - -[namelist:cable_pftparm=taul2_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::taul2_io - -[namelist:cable_pftparm=taul3_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::taul3_io - -[namelist:cable_pftparm=tmaxvj_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::tmaxvj_io - -[namelist:cable_pftparm=tminvj_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::tminvj_io - -[namelist:cable_pftparm=vbeta_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::vbeta_io - -[namelist:cable_pftparm=vcmax_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::vcmax_io - -[namelist:cable_pftparm=vegcf_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::vegcf_io - -[namelist:cable_pftparm=wai_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::wai_io - -[namelist:cable_pftparm=width_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::width_io - -[namelist:cable_pftparm=xalbnir_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::xalbnir_io - -[namelist:cable_pftparm=xfang_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::xfang_io - -[namelist:cable_pftparm=zr_io] -compulsory=true -fail-if=len(this) != (namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_pftparm.nml.html#CABLE_PFTPARM::zr_io - -[namelist:cable_progs] -compulsory=true -description=Configuration of spatially varying soil properties -ns=namelist/Ancillary data/Cable prognostics -sort-key=17 -url=https://metoffice.github.io/jules/latest/namelists/cable_prognostics.nml.html#namelist-CABLE_PROGS -widget[rose-config-edit]=pages.PageWithVariableTable --nvar nvars var use_file var_name const_val - -[namelist:cable_progs=const_val] -compulsory=true -description=Constant value for all points (used if use_file = .false.) -fail-if=len(this) != namelist:cable_progs=nvars -length=: -sort-key=9 -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_prognostics.nml.html#CABLE_PROGS::const_val - -[namelist:cable_progs=file] -compulsory=true -description=File (or file name template) to read CABLE prognostic initial values from -sort-key=3 -trigger=namelist:cable_progs=tpl_name: '%vv' in this; -type=character -url=https://metoffice.github.io/jules/latest/namelists/cable_prognostics.nml.html#CABLE_PROGS::file - -[namelist:cable_progs=nvars] -compulsory=true -description=Number of soil properties that will be given -range=9:11 -sort-key=4 -trigger=namelist:cable_progs=var: this > 0; - = namelist:cable_progs=use_file: this > 0; - = namelist:cable_progs=var_name: this > 0; - = namelist:cable_progs=const_val: this > 0; - = namelist:cable_progs=tpl_name: this > 0; -type=integer -url=https://metoffice.github.io/jules/latest/namelists/cable_prognostics.nml.html#CABLE_PROGS::nvars - -[namelist:cable_progs=tpl_name] -compulsory=true -description=String to substitute into the file name template (used if use_file = .true.) -fail-if=len(this) != namelist:cable_progs=nvars -length=: -sort-key=7 -type=character -url=https://metoffice.github.io/jules/latest/namelists/cable_prognostics.nml.html#CABLE_PROGS::tpl_name - -[namelist:cable_progs=use_file] -compulsory=true -description=Read variable from file -fail-if=len(this) != namelist:cable_progs=nvars -length=: -sort-key=6 -trigger=namelist:cable_progs=file: any(this == '.true.'); - = namelist:cable_progs=var_name: any(this == '.true.'); - = namelist:cable_progs=const_val: not all(this == '.true.'); -type=logical -url=https://metoffice.github.io/jules/latest/namelists/cable_prognostics.nml.html#CABLE_PROGS::use_file - -[namelist:cable_progs=var] -compulsory=true -description=Name of the prognostic variable, as recognised by CABLE -fail-if=len(this) != namelist:cable_progs=nvars -length=: -sort-key=5 -url=https://metoffice.github.io/jules/latest/namelists/cable_prognostics.nml.html#CABLE_PROGS::var -values='SoilTemp_CABLE','SoilMoisture_CABLE','FrozenSoilFrac_CABLE','SnowDepth_CABLE', - ='SnowMass_CABLE','SnowDensity_CABLE','SnowTemp_CABLE','SnowAge_CABLE', - ='OneLyrSnowDensity_CABLE','ThreeLayerSnowFlag_CABLE' - -[namelist:cable_progs=var_name] -compulsory=true -description=Name in file (used if use_file = .true.) -fail-if=len(this) != namelist:cable_progs=nvars -length=: -sort-key=7 -type=character -url=https://metoffice.github.io/jules/latest/namelists/cable_prognostics.nml.html#CABLE_PROGS::var_name - -[namelist:cable_soilparm] -compulsory=true -description=This namelist reads the values of parameters for each of the soil - =types if the CABLE land surface model is being used. These - =parameters are a function of surface type only. All parameters must - =be defined for any configuration. The number of soil types is stored - =in the n_soiltypes parameter and for the current version of CABLE - =is set to 9. -ns=namelist/CABLE Science Settings/cable_soilparm -title=CABLE Soil Parameters -url=https://metoffice.github.io/jules/latest/namelists/cable_soilparm.nml.html#namelist-CABLE_SOILPARM -widget[rose-config-edit]=cylc8_compat.PageArrayTable - -[namelist:cable_soilparm=bch_io] -compulsory=true -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_soilparm.nml.html#CABLE_SOILPARM::bch_io - -[namelist:cable_soilparm=clay_io] -compulsory=true -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_soilparm.nml.html#CABLE_SOILPARM::clay_io - -[namelist:cable_soilparm=css_io] -compulsory=true -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_soilparm.nml.html#CABLE_SOILPARM::css_io - -[namelist:cable_soilparm=hyds_io] -compulsory=true -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_soilparm.nml.html#CABLE_SOILPARM::hyds_io - -[namelist:cable_soilparm=rhosoil_io] -compulsory=true -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_soilparm.nml.html#CABLE_SOILPARM::rhosoil_io - -[namelist:cable_soilparm=sand_io] -compulsory=true -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_soilparm.nml.html#CABLE_SOILPARM::sand_io - -[namelist:cable_soilparm=sfc_io] -compulsory=true -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_soilparm.nml.html#CABLE_SOILPARM::sfc_io - -[namelist:cable_soilparm=silt_io] -compulsory=true -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_soilparm.nml.html#CABLE_SOILPARM::silt_io - -[namelist:cable_soilparm=ssat_io] -compulsory=true -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_soilparm.nml.html#CABLE_SOILPARM::ssat_io - -[namelist:cable_soilparm=sucs_io] -compulsory=true -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_soilparm.nml.html#CABLE_SOILPARM::sucs_io - -[namelist:cable_soilparm=swilt_io] -compulsory=true -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/cable_soilparm.nml.html#CABLE_SOILPARM::swilt_io - -[namelist:cable_surface_types] -compulsory=true -ns=namelist/CABLE Surface Types/cable_surface_types -sort-key=01 -title=CABLE Surface Types -url=https://metoffice.github.io/jules/latest/namelists/cable_surface_types.nml.html#namelist-CABLE_SURFACE_TYPES - -[namelist:cable_surface_types=barren_cable] -compulsory=true -description=Pseudo level of barren soil surface type -fail-if=any(this > namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); # Pseudo level must be less than or equal to npft_cable+nnvg_cable - =any(this <= namelist:cable_surface_types=npft_cable and this != -1); # PFTs must be grouped together first with non-vegetated tiles following -length=: -type=integer -url=https://metoffice.github.io/jules/latest/namelists/cable_surface_types.nml.html#CABLE_SURFACE_TYPES::barren_cable - -[namelist:cable_surface_types=ice_cable] -compulsory=true -description=Pseudo level of ice_cable surface type -fail-if=any(this > namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); # Pseudo level must be less than or equal to npft_cable+nnvg_cable - =any(this <= namelist:cable_surface_types=npft_cable and this != -1); # PFTs must be grouped together first with non-vegetated tiles following -length=: -type=integer -url=https://metoffice.github.io/jules/latest/namelists/cable_surface_types.nml.html#CABLE_SURFACE_TYPES::ice_cable - -[namelist:cable_surface_types=lakes_cable] -compulsory=true -description=Pseudo level of lakes_cable surface type -fail-if=any(this > namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); # Pseudo level must be less than or equal to npft_cable+nnvg_cable - =any(this <= namelist:cable_surface_types=npft_cable and this != -1); # PFTs must be grouped together first with non-vegetated tiles following -length=: -type=integer -url=https://metoffice.github.io/jules/latest/namelists/cable_surface_types.nml.html#CABLE_SURFACE_TYPES::lakes_cable - -[namelist:cable_surface_types=nnvg_cable] -compulsory=true -description=Number of non-plant surface types to be modelled -range=1: -sort-key=c -type=integer -url=https://metoffice.github.io/jules/latest/namelists/cable_surface_types.nml.html#CABLE_SURFACE_TYPES::nnvg_cable - -[namelist:cable_surface_types=npft_cable] -compulsory=true -description=Number of plant functional types to be modelled -range=0: -sort-key=a -type=integer -url=https://metoffice.github.io/jules/latest/namelists/cable_surface_types.nml.html#CABLE_SURFACE_TYPES::npft_cable - -[namelist:cable_surface_types=urban_cable] -compulsory=true -description=Pseudo level of urban_cable surface type -fail-if=any(this > namelist:cable_surface_types=npft_cable + namelist:cable_surface_types=nnvg_cable); # Pseudo level must be less than or equal to npft_cable+nnvg_cable - =any(this <= namelist:cable_surface_types=npft_cable and this != -1); # PFTs must be grouped together first with non-vegetated tiles following -length=: -type=integer -url=https://metoffice.github.io/jules/latest/namelists/cable_surface_types.nml.html#CABLE_SURFACE_TYPES::urban_cable - -[namelist:fire_switches] -compulsory=true -description=Switches for controlling activation of the fire module -ns=namelist/JULES Science Settings/fire_switches -sort-key=16 -title=Fire options -url=https://metoffice.github.io/jules/latest/namelists/fire.nml.html#namelist-FIRE_SWITCHES - -[namelist:fire_switches=canadian_flag] -compulsory=true -description=Switch for Canadian Fire Weather Index (FWI) -sort-key=04 -trigger=namelist:fire_switches=canadian_hemi_opt: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/fire.nml.html#FIRE_SWITCHES::canadian_flag - -[namelist:fire_switches=canadian_hemi_opt] -compulsory=true -description=If TRUE, apply 6-month offset to S-hemisphere month-dependent parameters -sort-key=05 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/fire.nml.html#FIRE_SWITCHES::canadian_hemi_opt - -[namelist:fire_switches=l_fire] -compulsory=true -description=Switch to enable the fire module -sort-key=01 -trigger=namelist:fire_switches=mcarthur_flag: .true.; - =namelist:fire_switches=mcarthur_opt: .true.; - =namelist:fire_switches=canadian_flag: .true.; - =namelist:fire_switches=nesterov_flag: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/fire.nml.html#FIRE_SWITCHES::l_fire - -[namelist:fire_switches=mcarthur_flag] -compulsory=true -description=Switch for McArthur Forest Fire Danger Index (FFDI) -sort-key=02 -trigger=namelist:fire_switches=mcarthur_opt: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/fire.nml.html#FIRE_SWITCHES::mcarthur_flag - -[namelist:fire_switches=mcarthur_opt] -compulsory=true -description=Method for soil moisture deficit in McArthur FFDI -sort-key=03 -url=https://metoffice.github.io/jules/latest/namelists/fire.nml.html#FIRE_SWITCHES::mcarthur_opt -value-titles=Model value,Fixed at 120 mm -values=1,2 -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:fire_switches=nesterov_flag] -compulsory=true -description=Switch for Nesterov Index -sort-key=06 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/fire.nml.html#FIRE_SWITCHES::nesterov_flag - -[namelist:imogen_anlg_vals_list] -compulsory=true -ns=namelist/IMOGEN/GCM Analogue configuration -sort-key=1 -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#namelist-IMOGEN_ANLG_VALS_LIST - -[namelist:imogen_anlg_vals_list=diff_frac_const_imogen] -compulsory=true -description=Fraction of downward shortwave radiation assumed to be diffuse for IMOGEN -range=0:1 -type=real -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_ANLG_VALS_LIST::diff_frac_const_imogen -warn-if=this == 0; #There will be no diffuse downward SW radiation - -[namelist:imogen_anlg_vals_list=f_ocean] -compulsory=true -description=Fractional coverage of the ocean -type=real -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_ANLG_VALS_LIST::f_ocean - -[namelist:imogen_anlg_vals_list=file_base_anom] -compulsory=true -description=Directory containing prescribed anomalies -type=character -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_ANLG_VALS_LIST::file_base_anom - -[namelist:imogen_anlg_vals_list=file_clim] -compulsory=true -description=Directory containing initialising climatology -type=character -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_ANLG_VALS_LIST::file_clim - -[namelist:imogen_anlg_vals_list=file_patt] -compulsory=true -description=Directory containing the GCM patterns -type=character -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_ANLG_VALS_LIST::file_patt - -[namelist:imogen_anlg_vals_list=kappa_o] -compulsory=true -description=Ocean eddy diffusivity (W m-1 K-1) -type=real -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_ANLG_VALS_LIST::kappa_o - -[namelist:imogen_anlg_vals_list=lambda_l] -compulsory=true -description=Inverse of climate sensitivity over land (W m-2 K-1) -type=real -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_ANLG_VALS_LIST::lambda_l - -[namelist:imogen_anlg_vals_list=lambda_o] -compulsory=true -description=Inverse of climate sensitivity over ocean (W m-2 K-1) -type=real -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_ANLG_VALS_LIST::lambda_o - -[namelist:imogen_anlg_vals_list=mu] -compulsory=true -description=Ratio of land to ocean temperature anomalies -type=real -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_ANLG_VALS_LIST::mu - -[namelist:imogen_anlg_vals_list=q2co2] -compulsory=true -description=Radiative forcing due to doubling CO2 (W m-2) -type=real -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_ANLG_VALS_LIST::q2co2 - -[namelist:imogen_anlg_vals_list=t_ocean_init] -compulsory=true -description=Initial ocean temperature (K) -type=real -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_ANLG_VALS_LIST::t_ocean_init - -[namelist:imogen_onoff_switch] -compulsory=true -ns=namelist/IMOGEN -sort-key=1 -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#namelist-IMOGEN_RUN_LIST - -[namelist:imogen_onoff_switch=l_daily_metdata_climatol] -compulsory=true -description=Use daily climatology (default is monthly) -sort-key=1 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_ONOFF_SWITCH::l_daily_metdata_climatol - -[namelist:imogen_onoff_switch=l_imogen] -compulsory=true -description=Use IMOGEN to generate meteorological forcing data -fail-if=this == '.true.' and '01-01 00:00:00' not in namelist:jules_time=main_run_start; # IMOGEN runs must start at 00:00:00 on 1st Jan for some year - = this == '.true.' and (namelist:jules_input_grid=grid_is_1d == '.true.' or namelist:jules_input_grid=nx != 96 or namelist:jules_input_grid=ny != 56); # IMOGEN requires a 2D grid of size 96 x 56 -sort-key=0 -trigger=namelist:jules_drive=l_daily_disagg: .false.; - = namelist:jules_drive=data_start: .false.; - = namelist:jules_drive=data_end: .false.; - = namelist:jules_drive=data_period: .false.; - = namelist:jules_drive=read_list: .false.; - = namelist:jules_drive=file: .false.; - = namelist:jules_drive=nvars: .false.; - = namelist:jules_drive=l_perturb_driving: .false.; - = namelist:imogen_run_list: .true.; - = namelist:imogen_anlg_vals_list: .true.; - = namelist:imogen_onoff_switch=l_daily_metdata_climatol: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_ONOFF_SWITCH::l_imogen - -[namelist:imogen_run_list] -compulsory=true -ns=namelist/IMOGEN/Run options -sort-key=1 -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#namelist-IMOGEN_RUN_LIST - -[namelist:imogen_run_list=c_emissions] -compulsory=true -description=Calculate CO2 concentration based on anthropogenic emissions - = (with or without land and ocean feedbacks) -sort-key=1g -trigger=namelist:imogen_run_list=land_feed_co2: .true.; - =namelist:imogen_run_list=ocean_feed: .true.; - =namelist:imogen_run_list=file_scen_emits: .true.; - =namelist:imogen_run_list=nyr_emiss: .true.; - =namelist:imogen_run_list=file_scen_co2_ppmv: .false.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_RUN_LIST::c_emissions - -[namelist:imogen_run_list=ch4_init_ppbv] -compulsory=true -description=Initial CH4 concentration (ppbv) -sort-key=4b -type=real -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_RUN_LIST::ch4_init_ppbv - -[namelist:imogen_run_list=ch4_ppbv_ref] -compulsory=true -description=Atmospheric CH4 concentration at reference year (ppbv) -sort-key=4c -type=real -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_RUN_LIST::ch4_ppbv_ref - -[namelist:imogen_run_list=change_metdata_method] -compulsory=true -description=Choice of method used to change meteorological data over time -fail-if=this == 2 and namelist:imogen_run_list=land_feed_co2 == '.true.'; - =this == 2 and namelist:imogen_run_list=ocean_feed == '.true.'; - =this == 2 and namelist:imogen_run_list=land_feed_ch4 == '.true.'; - =this == 2 and namelist:imogen_run_list=c_emissions == '.true.'; - =this == 2 and namelist:imogen_run_list=include_non_co2_radf == '.true.'; - =this == 3 and namelist:imogen_run_list=land_feed_co2 == '.true.'; - =this == 3 and namelist:imogen_run_list=ocean_feed == '.true.'; - =this == 3 and namelist:imogen_run_list=land_feed_ch4 == '.true.'; - =this == 3 and namelist:imogen_run_list=c_emissions == '.true.'; - =this == 3 and namelist:imogen_run_list=include_non_co2_radf == '.true.'; -sort-key=1f -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_RUN_LIST::change_metdata_method -value-titles=Analogue model and patterns,Prescribed anomalies,Global temperature change applied to patterns -values=1,2,3 -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:imogen_run_list=co2_init_ppmv] -compulsory=true -description=Initial CO2 concentration (ppmv) -sort-key=3a -type=real -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_RUN_LIST::co2_init_ppmv - -[namelist:imogen_run_list=dump_file] -compulsory=true -description=Name of the dump file to initialise from -sort-key=5b -type=character -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_RUN_LIST::dump_file - -[namelist:imogen_run_list=fch4_ref] -compulsory=true -description=Reference global CH4 flux from natural land to atmosphere (Tg CH4/yr) -sort-key=4d -type=real -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_RUN_LIST::fch4_ref - -[namelist:imogen_run_list=file_ch4_n2o] -compulsory=true -description=File containing ch4 and n2o concentration - =required for radiative forcing calculations -sort-key=4g -type=character -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_RUN_LIST::file_ch4_n2o - -[namelist:imogen_run_list=file_non_co2_radf] -compulsory=true -description=File containing non-CO2 values -sort-key=6b -type=character -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_RUN_LIST::file_non_co2_radf - -[namelist:imogen_run_list=file_scen_co2_ppmv] -compulsory=true -description=File containing CO2 values -type=character -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_RUN_LIST::file_scen_co2_ppmv - -[namelist:imogen_run_list=file_scen_emits] -compulsory=true -description=File containing CO2 emissions -sort-key=3c -type=character -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_RUN_LIST::file_scen_emits - -[namelist:imogen_run_list=include_co2] -compulsory=true -description=Include adjustments to CO2 values -sort-key=1e -trigger=namelist:imogen_run_list=c_emissions: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_RUN_LIST::include_co2 - -[namelist:imogen_run_list=include_non_co2_radf] -compulsory=true -description=Include adjustments to non-CO2 radiative forcing -sort-key=6a -trigger=namelist:imogen_run_list=file_non_co2_radf: .true.; - =namelist:imogen_run_list=nyr_non_co2: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_RUN_LIST::include_non_co2_radf - -[namelist:imogen_run_list=initial_co2_ch4_year] -compulsory=true -description=Initial year for the ocean CO2 accumulation -sort-key=2d -type=integer -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_RUN_LIST::initial_co2_ch4_year - -[namelist:imogen_run_list=initialise_from_dump] -compulsory=true -description=Use the given dump file to initialise IMOGEN prognostics -sort-key=5a -trigger=namelist:imogen_run_list=dump_file: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_RUN_LIST::initialise_from_dump - -[namelist:imogen_run_list=l_change_metdata] -compulsory=true -description=Allow driving met data to change over time -sort-key=1e -trigger=namelist:imogen_run_list=change_metdata_method: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_RUN_LIST::l_change_metdata - -[namelist:imogen_run_list=land_feed_ch4] -compulsory=true -description=Include land CH4 feedbacks on atmospheric CH4 -sort-key=4a -trigger=namelist:imogen_run_list=nyr_ch4_n2o: .true.; - =namelist:imogen_run_list=yr_fch4_ref: .true.; - =namelist:imogen_run_list=file_ch4_n2o: .true.; - =namelist:imogen_run_list=fch4_ref: .true.; - =namelist:imogen_run_list=tau_ch4_ref: .true.; - =namelist:imogen_run_list=ch4_ppbv_ref: .true.; - =namelist:imogen_run_list=ch4_init_ppbv: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_RUN_LIST::land_feed_ch4 - -[namelist:imogen_run_list=land_feed_co2] -compulsory=true -description=Include land CO2 feedbacks on atmospheric CO2 -sort-key=2c -type=logical -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_RUN_LIST::land_feed_co2 - -[namelist:imogen_run_list=nyr_ch4_n2o] -compulsory=true -description=Number of years of CH4 and N2O data in file -range=0: -sort-key=4h -type=integer -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_RUN_LIST::nyr_ch4_n2o - -[namelist:imogen_run_list=nyr_emiss] -compulsory=true -description=Number of years of emission data in file -range=0: -sort-key=1f -type=integer -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_RUN_LIST::nyr_emiss - -[namelist:imogen_run_list=nyr_non_co2] -compulsory=true -description=Number of years for which non-CO2 forcing is prescribed -range=0: -type=integer -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_RUN_LIST::nyr_non_co2 - -[namelist:imogen_run_list=ocean_feed] -compulsory=true -description=Include ocean feedbacks on atmospheric CO2 -sort-key=2c -trigger=namelist:imogen_run_list=initial_co2_ch4_year: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_RUN_LIST::ocean_feed - -[namelist:imogen_run_list=tau_ch4_ref] -compulsory=true -description=Decay rate of atmospheric CH4 at reference year (years) -sort-key=4e -type=real -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_RUN_LIST::tau_ch4_ref - -[namelist:imogen_run_list=yr_fch4_ref] -compulsory=true -description=Reference year for CH4 emissions scaling -range=0: -sort-key=4f -type=integer -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html#IMOGEN_RUN_LIST::yr_fch4_ref - -[namelist:jules_agric] -compulsory=true -ns=namelist/Ancillary data/Agricultural fraction -sort-key=19 -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#namelist-JULES_AGRIC - -[namelist:jules_agric=agric_name] -description=Name of the variable containing the agricultural fraction data -sort-key=5 -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_AGRIC::agric_name - -[namelist:jules_agric=biocrop_name] -description=The name of the variable containing the biocrop fraction data. -sort-key=5 -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_AGRIC::biocrop_name - -[namelist:jules_agric=file] -description=Name of the file to read agricultural fraction data from -sort-key=4 -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_AGRIC::file - -[namelist:jules_agric=file_biocrop] -description=Name of the file to read biocrop fraction data from -sort-key=4 -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_AGRIC::file_biocrop - -[namelist:jules_agric=file_harvest_doy] -compulsory=true -description=Name of file containing harvest_doy -sort-key=2 -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_AGRIC::file_harvest_doy - -[namelist:jules_agric=file_past] -description=Name of the file to read pasture fraction data from -sort-key=4 -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_AGRIC::file_past - -[namelist:jules_agric=frac_agr] -description=Agricultural fraction for the single location -sort-key=3 -type=real -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_AGRIC::frac_agr - -[namelist:jules_agric=frac_biocrop] -description=Biocrop fraction for the single location -sort-key=3 -type=real -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_AGRIC::frac_biocrop - -[namelist:jules_agric=frac_past] -description=Pasture fraction for the single location -sort-key=3 -type=real -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_AGRIC::frac_past - -[namelist:jules_agric=harvest_doy_name] -compulsory=true -description=Name of variable containing harvest_doy in FILE -sort-key=3 -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_AGRIC::harvest_doy_name - -[namelist:jules_agric=past_name] -description=Name of the variable containing the pasture fraction data -sort-key=5 -type=character -# Entry does not exist in documentation -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_AGRIC::past_name - -[namelist:jules_agric=read_from_dump] -compulsory=true -description=Read agricultural fraction from the dump file -sort-key=1 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_AGRIC::read_from_dump - -[namelist:jules_agric=read_harvest_doy_from_dump] -compulsory=true -description=Read harvest day-of-year from the dump file -sort-key=1 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_AGRIC::read_harvest_doy_from_dump - -[namelist:jules_agric=zero_agric] -compulsory=true -description=Set agricultural fraction at all points to zero -sort-key=2 -trigger=namelist:jules_agric=frac_agr: .false.; - = namelist:jules_agric=file: .false.; - = namelist:jules_agric=agric_name: .false.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_AGRIC::zero_agric - -[namelist:jules_agric=zero_biocrop] -compulsory=true -description=Set biocrop fraction at all points to zero if True (default). Otherwise set fractions with frac_biocrop from file_biocrop. -sort-key=2 -trigger=namelist:jules_agric=frac_biocrop: .false.; - = namelist:jules_agric=file_biocrop: .false.; - = namelist:jules_agric=biocrop_name: .false.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_AGRIC::zero_biocrop - -[namelist:jules_agric=zero_past] -compulsory=true -description=Set pasture fraction at all points to zero -sort-key=2 -trigger=namelist:jules_agric=frac_past: .false.; - = namelist:jules_agric=file_past: .false.; - = namelist:jules_agric=past_name: .false.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_AGRIC::zero_past - -[namelist:jules_co2] -compulsory=true -description=Configuration of co2 concentration -ns=namelist/Ancillary data/CO2 concentration -sort-key=22 -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#namelist-JULES_CO2 - -[namelist:jules_co2=co2_mmr] -description=Concentration of atmospheric CO2 as a mass mixing ratio -sort-key=2 -type=real -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_CO2::file - -[namelist:jules_co2=read_from_dump] -compulsory=true -description=Read CO2 concentration from the dump file -sort-key=1 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_CO2::read_from_dump - -[namelist:jules_crop_props] -compulsory=true -description=Configuration of spatially varying crop properties -ns=namelist/Ancillary data/Crop properties -sort-key=20 -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#namelist-JULES_CROP_PROPS -widget[rose-config-edit]=pages.PageWithVariableTable --nvar nvars var use_file var_name tpl_name const_val - -[namelist:jules_crop_props=const_val] -compulsory=true -description=Constant value for all points (used if use_file = .false.) -fail-if=len(this) != namelist:jules_crop_props=nvars -length=: -sort-key=8 -type=real -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_CROP_PROPS::const_val - -[namelist:jules_crop_props=file] -compulsory=true -description=If read_list = TRUE, file to read list of file names - =If read_list = FALSE, file or file name template - =from which to read crop properties. -sort-key=2 -trigger=namelist:jules_crop_props=tpl_name: '%vv' in this; - =namelist:jules_crop_props=read_list: '%vv' not in this; -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_CROP_PROPS::file - -[namelist:jules_crop_props=nvars] -compulsory=true -description=Number of crop properties that will be given -range=2:3 -sort-key=3 -trigger=namelist:jules_crop_props=var: this > 0; - = namelist:jules_crop_props=use_file: this > 0; -type=integer -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_CROP_PROPS::nvars - -[namelist:jules_crop_props=read_from_dump] -compulsory=true -description=Read spatially varying crop properties from the dump file -sort-key=1 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_CROP_PROPS::read_from_dump - -[namelist:jules_crop_props=read_list] -compulsory=true -description=Use list of file names; one per line for each of nvars. -fail-if=this == '.true.' and '%vv' in namelist:jules_crop_props=file; # Cannot use variable name templating while reading a list of files. -sort-key=2a -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_CROP_PROPS::read_list - -[namelist:jules_crop_props=tpl_name] -compulsory=true -description=String to substitute into the file name template (used if use_file = .true.) -fail-if=len(this) != namelist:jules_crop_props=nvars -length=: -sort-key=7 -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_CROP_PROPS::tpl_name - -[namelist:jules_crop_props=use_file] -compulsory=true -description=Read variable from file -fail-if=len(this) != namelist:jules_crop_props=nvars -length=: -sort-key=5 -trigger=namelist:jules_crop_props=file: any(this == '.true.'); - = namelist:jules_crop_props=var_name: any(this == '.true.'); - = namelist:jules_crop_props=const_val: not all(this == '.true.'); -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_CROP_PROPS::use_file - -[namelist:jules_crop_props=var] -compulsory=true -description=Names of the crop variable, as recognised by JULES -fail-if=len(this) != namelist:jules_crop_props=nvars -length=: -sort-key=4 -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_CROP_PROPS::var -values='cropsowdate','cropttrep','cropttveg','croplatestharvdate' - -[namelist:jules_crop_props=var_name] -compulsory=true -description=Name in file (used if use_file = .true.) -fail-if=len(this) != namelist:jules_crop_props=nvars -length=: -sort-key=6 -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_CROP_PROPS::var_name - -[namelist:jules_cropparm] -compulsory=true -description=Click on names for more details - = -ns=namelist/JULES Science Settings/jules_cropparm -sort-key=10 -title=Crop parameters -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#namelist-JULES_CROPPARM -widget[rose-config-edit]=cylc8_compat.PageArrayTable - -[namelist:jules_cropparm=allo1_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=ncpft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#JULES_CROPPARM::allo1_io - -[namelist:jules_cropparm=allo2_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=ncpft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#JULES_CROPPARM::allo2_io - -[namelist:jules_cropparm=alpha1_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=ncpft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#JULES_CROPPARM::alpha1_io - -[namelist:jules_cropparm=alpha2_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=ncpft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#JULES_CROPPARM::alpha2_io - -[namelist:jules_cropparm=alpha3_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=ncpft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#JULES_CROPPARM::alpha3_io - -[namelist:jules_cropparm=beta1_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=ncpft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#JULES_CROPPARM::beta1_io - -[namelist:jules_cropparm=beta2_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=ncpft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#JULES_CROPPARM::beta2_io - -[namelist:jules_cropparm=beta3_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=ncpft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#JULES_CROPPARM::beta3_io - -[namelist:jules_cropparm=cfrac_l_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=ncpft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#JULES_CROPPARM::cfrac_l_io - -[namelist:jules_cropparm=cfrac_r_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=ncpft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#JULES_CROPPARM::cfrac_r_io - -[namelist:jules_cropparm=cfrac_s_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=ncpft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#JULES_CROPPARM::cfrac_s_io - -[namelist:jules_cropparm=crit_pp_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=ncpft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#JULES_CROPPARM::crit_pp_io - -[namelist:jules_cropparm=delta_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=ncpft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#JULES_CROPPARM::delta_io - -[namelist:jules_cropparm=gamma_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=ncpft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#JULES_CROPPARM::gamma_io - -[namelist:jules_cropparm=initial_c_dvi_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=ncpft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#JULES_CROPPARM::initial_c_dvi_io - -[namelist:jules_cropparm=initial_carbon_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=ncpft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#JULES_CROPPARM::initial_carbon_io - -[namelist:jules_cropparm=mu_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=ncpft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#JULES_CROPPARM::mu_io - -[namelist:jules_cropparm=nu_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=ncpft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#JULES_CROPPARM::nu_io - -[namelist:jules_cropparm=pp_sens_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=ncpft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#JULES_CROPPARM::pp_sens_io - -[namelist:jules_cropparm=remob_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=ncpft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#JULES_CROPPARM::remob_io - -[namelist:jules_cropparm=rt_dir_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=ncpft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#JULES_CROPPARM::rt_dir_io - -[namelist:jules_cropparm=sen_dvi_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=ncpft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#JULES_CROPPARM::sen_dvi_io - -[namelist:jules_cropparm=t_bse_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=ncpft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#JULES_CROPPARM::t_bse_io - -[namelist:jules_cropparm=t_max_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=ncpft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#JULES_CROPPARM::t_max_io - -[namelist:jules_cropparm=t_mort_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=ncpft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#JULES_CROPPARM::t_mort_io - -[namelist:jules_cropparm=t_opt_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=ncpft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#JULES_CROPPARM::t_opt_io - -[namelist:jules_cropparm=tt_emr_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=ncpft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#JULES_CROPPARM::tt_emr_io - -[namelist:jules_cropparm=yield_frac_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=ncpft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/crop_params.nml.html#JULES_CROPPARM::yield_frac_io - -[namelist:jules_deposition] -compulsory=true -description=Configuration of atmospheric deposition -ns=namelist/JULES Science Settings/jules_deposition -title=Deposition -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#namelist-JULES_DEPOSITION - -[namelist:jules_deposition=dep_h2_soil_scheme] -compulsory=true -description=Scheme for H2 soil deposition -fail-if=( this == 2 and namelist:jules_model_environment=l_jules_parent == 1 ) ; # The Paulot et al. H2 scheme is not yet fully implemented for UM-coupled JULES applications (when JULES deposition called from UKCA): only Conrad & Seiler scheme available, dep_h2_soil_scheme = 1 -sort-key=5f -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION::dep_h2_soil_scheme -value-titles=Conrad & Seiler H2 deposition scheme,Paulot et al. H2 deposition scheme -values=1,2 - -[namelist:jules_deposition=dry_dep_model] -compulsory=true -description=Dry deposition model -sort-key=2 -trigger=namelist:jules_deposition_species=dd_ice_coeff_io: 2; - =namelist:jules_deposition_species=dep_species_name_io: 1,2; - =namelist:jules_deposition_species=dep_species_rmm_io: 2; - =namelist:jules_deposition_species=diffusion_coeff_io: 2; - =namelist:jules_deposition_species=diffusion_corr_io: 2; - =namelist:jules_deposition_species=r_tundra_io: 2; - =namelist:jules_deposition_species=rsurf_std_io: 2; - =namelist:jules_deposition_species_specific=ch4_mml_io: 2; - =namelist:jules_deposition_species_specific=ch4_scaling_io: 2; - =namelist:jules_deposition_species_specific=ch4_up_flux_io: 2; - =namelist:jules_deposition_species_specific=ch4dd_tundra_io: 2; - =namelist:jules_deposition_species_specific=cuticle_o3_io: 2; - =namelist:jules_deposition_species_specific=h2dd_c_io: 2; - =namelist:jules_deposition_species_specific=h2dd_m_io: 2; - =namelist:jules_deposition_species_specific=h2dd_q_io: 2; - =namelist:jules_deposition_species_specific=r_wet_soil_o3_io: 2; -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION::dry_dep_model -value-titles=JULES with restricted UKCA deposition,JULES with flexible UKCA deposition -values=1,2 -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_deposition=dzl_const] -compulsory=true -description=Constant separation for boundary layer levels (m) -range=0: -sort-key=6 -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION::dzl_const - -[namelist:jules_deposition=l_deposition] -compulsory=true -description=Switch to enable JULES-based atmospheric dry deposition -fail-if=(this == '.true.' and namelist:jules_surface=l_aggregate == ".true.") ; # Deposition does not work with aggregated tile -sort-key=1 -trigger=namelist:jules_deposition=dep_h2_soil_scheme: .true.; - =namelist:jules_deposition=dry_dep_model: .true.; - =namelist:jules_deposition=dzl_const: .true.; - =namelist:jules_deposition=l_deposition_flux: .true.; - =namelist:jules_deposition=l_deposition_gc_corr: .true.; - =namelist:jules_deposition=l_ukca_ddep_lev1: .true.; - =namelist:jules_deposition=l_ukca_ddepo3_ocean: .true.; - =namelist:jules_deposition=l_ukca_dry_dep_so2wet: .true.; - =namelist:jules_deposition=l_ukca_emsdrvn_ch4: .true.; - =namelist:jules_deposition=ndry_dep_species: .true.; - =namelist:jules_deposition=tundra_s_limit: .true.; - =namelist:jules_deposition_species: .true.; - =namelist:jules_deposition_species_specific: .true.; - =namelist:jules_temp_fixes=l_fix_drydep_so2_water: .true.; - =namelist:jules_temp_fixes=l_fix_improve_drydep: .true.; - =namelist:jules_temp_fixes=l_fix_ukca_h2dd_x: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION::l_deposition - -[namelist:jules_deposition=l_deposition_flux] -compulsory=true -description=Switch to enable calculation of deposition fluxes -sort-key=4a -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION::l_deposition_flux - -[namelist:jules_deposition=l_deposition_from_ukca] -compulsory=true -description=Switch to call JULES-based deposition routines from ukca_chemistry_ctl -fail-if=( this == '.false.' and namelist:jules_model_environment=l_jules_parent == 1 ) ; # For UM_JULES applications, only the call to the deposition routines from the UKCA is currently available - =( this == '.true.' and namelist:jules_model_environment=l_jules_parent == 0 ) ; # Deposition switch cannot be true in JULES standalone as JULES-based deposition routines called from UKCA -sort-key=5a -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION::l_deposition_from_ukca - -[namelist:jules_deposition=l_deposition_gc_corr] -compulsory=true -description=Switch to correct stomatal conductance for bare soil evaporation -fail-if=( this == '.true.' and namelist:jules_model_environment=l_jules_parent == 1 ) ; # For UM_JULES applications, stomatal conductance corrected for bare soil evaporation is not available in the UKCA -sort-key=4b -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION::l_deposition_gc_corr - -[namelist:jules_deposition=l_ukca_ddep_lev1] -compulsory=true -description=Apply dry deposition losses only from the lowest level (true) or all levels (false) in the atmospheric boundary layer -sort-key=5b -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION::l_ukca_ddep_lev1 - -[namelist:jules_deposition=l_ukca_ddepo3_ocean] -compulsory=true -description=Use a mechanistic calculation for ocean ozone deposition -fail-if=( this == '.true.' and namelist:jules_model_environment=l_jules_parent == 0 ) ; # Deposition switch not available in JULES standalone as requires >75% open water fraction -sort-key=5c -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION::l_ukca_ddepo3 - -[namelist:jules_deposition=l_ukca_dry_dep_so2wet] -compulsory=true -description=Accounting for surface wetness in the dry deposition for SO2 -fail-if=( this == '.true.' and namelist:jules_model_environment=l_jules_parent == 0 ) ; # Deposition switch not fully implemented in JULES standalone -sort-key=5d -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION::l_ukca_dry_dep_so2wet - -[namelist:jules_deposition=l_ukca_emsdrvn_ch4] -compulsory=true -description=CH4 emission driven UKCA -sort-key=5e -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION::l_ukca_emsdrvn_ch4 - -[namelist:jules_deposition=ndry_dep_species] -compulsory=true -description=Number of species for dry deposition -range=1:200 -sort-key=3 -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION::ndry_dep_species - -[namelist:jules_deposition=tundra_s_limit] -compulsory=true -description=sine of latitude of southern limit of tundra -range=-1:1 -sort-key=7 -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION::tundra_s_limit - -[namelist:jules_deposition_species] -compulsory=true -description=Deposition parameters that depend on species -duplicate=true -ns=namelist/JULES Science Settings/jules_deposition/jules_deposition_species -title=Deposition Species -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#namelist-JULES_DEPOSITION_SPECIES - -[namelist:jules_deposition_species=dd_ice_coeff_io] -compulsory=true -description=Coefficients for quadratic dependency of dry deposition to ice -fail-if=any(this == -1073741824.0) ; # Invalid parameter value(s) -length=3 -sort-key=6 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION_SPECIES::dd_ice_coeff_io - -[namelist:jules_deposition_species=dep_species_name_io] -compulsory=true -description=Name of chemical species to be deposited -fail-if=(this == "'unset'") ; # Invalid name for deposited species -sort-key=01 -trigger=namelist:jules_deposition_species=dd_ice_coeff_io: this == "'SO2'" or this == "'HNO3'" or this == "'HONO2'" or this == "'ISON'" or this == "'HCl'" or this == "'HOCl'" or this == "'HBr'" or this == "'HOBr'" ; - =namelist:jules_deposition_species=diffusion_corr_io: this == "'NO2'" or this == "'O3'" or this == "'SO2'" or this == "'NH3'" or this == "'PAN'" or this == "'MPAN'" or this == "'PPAN'" or this == "'ONITU'" ; - =namelist:jules_deposition_species=r_tundra_io: this == "'NO2'" or this == "'O3'" or this == "'CO'" or this == "'H2'" or this == "'PAN'" or this == "'MPAN'" or this == "'PPAN'" or this == "'ONITU'" ; -type=character -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION_SPECIES::dep_species_name_io - -[namelist:jules_deposition_species=dep_species_rmm_io] -compulsory=true -description=Relative molecular mass (g mol-1), used in calculation of quasi-laminar resistance (Rb) -range=0: -sort-key=02a -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION_SPECIES::dep_species_rmm_io - -[namelist:jules_deposition_species=diffusion_coeff_io] -compulsory=true -description=Diffusion coefficient (m2 s-1), used in calculation of quasi-laminar resistance (Rb) -range=-1,0: -sort-key=02b -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION_SPECIES::diffusion_coeff_io - -[namelist:jules_deposition_species=diffusion_corr_io] -compulsory=true -description=Diffusion correction for stomatal conductance -range=0: -sort-key=04 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION_SPECIES::diffusion_corr_io - -[namelist:jules_deposition_species=r_tundra_io] -compulsory=true -description=Surface resistance used in tundra region (s m-1) -range=0:1.0e+30 -sort-key=05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION_SPECIES::r_tundra_io - -[namelist:jules_deposition_species=rsurf_std_io] -compulsory=true -description=Standard values of surface resistance (s m-1) -fail-if=len(this) != (namelist:jules_surface_types=npft)+(namelist:jules_surface_types=nnvg) -length=: -range=0:1.0e+30 -sort-key=03 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION_SPECIES::rsurf_std_io - -[namelist:jules_deposition_species_specific] -compulsory=true -description=Deposition parameters that depend on species -ns=namelist/JULES Science Settings/jules_deposition/jules_deposition_species_specific -title=Deposition Species Specific -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#namelist-JULES_DEPOSITION_SPECIES - -[namelist:jules_deposition_species_specific=ch4_mml_io] -compulsory=true -description=Factor to convert methane flux to dry dep velocity -range=0: -sort-key=02b -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION_SPECIES::ch4_mml_io - -[namelist:jules_deposition_species_specific=ch4_scaling_io] -compulsory=true -description=Scaling applied to CH4 soil uptake -range=0: -sort-key=02a -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION_SPECIES::ch4_scaling_io - -[namelist:jules_deposition_species_specific=ch4_up_flux_io] -compulsory=true -description=Uptake of methane to different surface types -fail-if=len(this) != (namelist:jules_surface_types=npft)+(namelist:jules_surface_types=nnvg) -length=: -range=0: -sort-key=02c -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION_SPECIES::ch4_up_flux_io - -[namelist:jules_deposition_species_specific=ch4dd_tundra_io] -compulsory=true -description=Coefficients of cubic fit for CH4 loss to tundra -fail-if=any(this == -1073741824.0) ; # Invalid parameter value(s) -length=4 -sort-key=02d -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION_SPECIES::ch4dd_tundra_io - -[namelist:jules_deposition_species_specific=cuticle_o3_io] -compulsory=true -description=Constant in calculation of cuticular resistance for ozone (s m-1) -range=0:1.0e+30 -sort-key=1a -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION_SPECIES::cuticle_o3_io - -[namelist:jules_deposition_species_specific=h2dd_c_io] -compulsory=true -description=Constant in quadratic function for hydrogen deposition -fail-if=len(this) != (namelist:jules_surface_types=npft)+(namelist:jules_surface_types=nnvg) - =any(this == -1073741824.0) ; # Invalid parameter value(s) -length=: -sort-key=03a -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION_SPECIES::h2dd_c_io - -[namelist:jules_deposition_species_specific=h2dd_m_io] -compulsory=true -description=Coefficient of first order term in quadratic function for hydrogen deposition -fail-if=len(this) != (namelist:jules_surface_types=npft)+(namelist:jules_surface_types=nnvg) - =any(this == -1073741824.0) ; # Invalid parameter value(s) -length=: -sort-key=03b -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION_SPECIES::h2dd_m_io - -[namelist:jules_deposition_species_specific=h2dd_q_io] -compulsory=true -description=Coefficient of second order term in quadratic function for hydrogen deposition -fail-if=len(this) != (namelist:jules_surface_types=npft)+(namelist:jules_surface_types=nnvg) - =any(this == -1073741824.0) ; # Invalid parameter value(s) -length=: -sort-key=03c -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION_SPECIES::h2dd_q_io - -[namelist:jules_deposition_species_specific=r_wet_soil_o3_io] -compulsory=true -description=Wet soil surface resistance for ozone (s m-1) -range=0:1.0e+30 -sort-key=01b -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_deposition.nml.html#JULES_DEPOSITION_SPECIES::r_wet_soil_o3_io - -[namelist:jules_drive] -compulsory=true -description=Configuration of meteorological forcing data -ns=namelist/Driving data -sort-key=07 -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#namelist-JULES_DRIVE -widget[rose-config-edit]=pages.PageWithVariableTable --nvar nvars var var_name tpl_name interp - -[namelist:jules_drive=bl_height] -compulsory=true -description=Height of boundary layer (m) -sort-key=15 -type=real - -[namelist:jules_drive=data_end] -compulsory=true -description=End time of the last timestep of data -pattern=\d{4}-\d{2}-\d{2}\s{1}\d{2}:\d{2}:\d{2} -sort-key=19 -type=character -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::data_end - -[namelist:jules_drive=data_period] -compulsory=true -description=Period of the data - = -2 => Annual, -1 => Monthly, > 1 => Period in seconds -range=-2,-1,1: -sort-key=20 -type=integer -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::data_period - -[namelist:jules_drive=data_start] -compulsory=true -description=Start time of the first timestep of data -pattern=\d{4}-\d{2}-\d{2}\s{1}\d{2}:\d{2}:\d{2} -sort-key=18 -type=character -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::data_start - -[namelist:jules_drive=diff_frac_const] -compulsory=true -description=Fraction of downward shortwave radiation assumed to be diffuse -range=0:1 -sort-key=31 -type=real -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::diff_frac_const - -[namelist:jules_drive=dur_conv_rain] -compulsory=true -description=Duration of a convective rainfall event in seconds -range=0: -sort-key=07 -type=real -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::dur_conv_rain - -[namelist:jules_drive=dur_conv_snow] -compulsory=true -description=Duration of a convective snowfall event in seconds -range=0: -sort-key=09 -type=real -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::dur_conv_snow - -[namelist:jules_drive=dur_ls_rain] -compulsory=true -description=Duration of a large-scale rainfall event in seconds -range=0: -sort-key=08 -type=real -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::dur_ls_rain - -[namelist:jules_drive=dur_ls_snow] -compulsory=true -description=Duration of a large-scale snowfall event in seconds -range=0: -sort-key=10 -type=real -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::dur_ls_snow - -[namelist:jules_drive=file] -compulsory=true -description=If read_list = TRUE, file to read list of data file names and times from - =If read_list = FALSE, file or file name template for data files -sort-key=23 -type=character -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::file - -[namelist:jules_drive=interp] -compulsory=true -description=Method of time interpolation for each variable in var -fail-if=len(this) != namelist:jules_drive=nvars -length=: -sort-key=28 -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::interp -values='b','c','f','i','nb','nc','nf' - -[namelist:jules_drive=l_daily_disagg] -compulsory=true -description=Use daily disaggregator -fail-if=this == '.true.' and namelist:jules_drive=data_period != 86400; # Daily disaggregator requires daily data - = this == '.true.' and '00:00:00' not in namelist:jules_drive=data_start; # Daily disaggregator requires data start time of 00:00:00 - = this == '.true.' and '00:00:00' not in namelist:jules_time=main_run_start; # Daily disaggregator requires run start time of 00:00:00 - = this == '.true.' and '00:00:00' not in namelist:jules_spinup=spinup_start; # Daily disaggregator requires spinup start time of 00:00:00 - = this == '.true.' and not any(namelist:jules_drive=var == "'lw_down'"); # Daily disaggregator requires that lw_down and sw_down are present in var - = this == '.true.' and not any(namelist:jules_drive=var == "'dt_range'"); # Daily disaggregator requires that dt_range is present in var -sort-key=02 -trigger=namelist:jules_drive=l_disagg_const_rh: .true.; - = namelist:jules_drive=dur_conv_rain: .true.; - = namelist:jules_drive=dur_ls_rain: .true.; - = namelist:jules_drive=dur_conv_snow: .true.; - = namelist:jules_drive=dur_ls_snow: .true.; - = namelist:jules_drive=precip_disagg_method: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::l_daily_disagg - -[namelist:jules_drive=l_disagg_const_rh] -compulsory=true -description=Keep relative humidity constant over the day -sort-key=06 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::l_disagg_const_rh - -[namelist:jules_drive=l_perturb_driving] -compulsory=true -description=Apply perturbation to driving data -sort-key=02 -trigger=namelist:jules_drive=temperature_abs_perturbation: .true.; - = namelist:jules_drive=precip_rel_perturbation: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::l_perturb_driving - -[namelist:jules_drive=nfiles] -compulsory=true -description=Number of files to read names and start times for -range=0: -sort-key=22 -type=integer -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::nfiles - -[namelist:jules_drive=nvars] -compulsory=true -description=Number of forcing variables that will be provided -fail-if=this == 2 and not namelist:jules_model_environment=lsm_id == 3; # Only standalone Rivers is allowed to have two driving variables. -range=2,7:13 -sort-key=24 -trigger=namelist:jules_drive=var: this > 0; - = namelist:jules_drive=var_name: this > 0; - = namelist:jules_drive=tpl_name: this > 0; - = namelist:jules_drive=interp: this > 0; -type=integer -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::nfiles - -[namelist:jules_drive=precip_disagg_method] -compulsory=true -description=Disaggregation method for precipitation -sort-key=12 -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::precip_disagg_method -value-titles=No disaggregation,IMOGEN method,IMOGEN method with no upper limit,Random wet and dry timesteps -values=1,2,3,4 -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_drive=precip_rel_perturbation] -compulsory=true -description=Relative perturbation for precipitation variables (a multiplicative factor). -fail-if=this < 0.0 -range=0: -sort-key=04 -type=real -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::precip_rel_perturbation - -[namelist:jules_drive=read_list] -compulsory=true -description=Use list of file names with start times -sort-key=21 -trigger=namelist:jules_drive=nfiles: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::read_list - -[namelist:jules_drive=t_for_con_rain] -compulsory=true -description=Temperature (K) at or above which rainfall is assumed to be convective -range=0: -sort-key=30 -type=real -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::t_for_con_rain - -[namelist:jules_drive=t_for_snow] -compulsory=true -description=Temperature (K) at or below which precipitation is assumed to be snowfall -range=0: -sort-key=29 -type=real -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::t_for_snow - -[namelist:jules_drive=temperature_abs_perturbation] -compulsory=true -description=Absolute perturbation amount to add to temperature. Can be positive or negative. -range=0: -sort-key=03 -type=real -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::temperature_abs_perturbation - -[namelist:jules_drive=tpl_name] -compulsory=true -description=String to substitute into the file name template (used if use_file = .true.) -fail-if=len(this) != namelist:jules_drive=nvars -length=: -sort-key=27 -type=character -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::tpl_name - -[namelist:jules_drive=var] -compulsory=true -description=Forcing variable names as recognised by JULES -fail-if=len(this) != namelist:jules_drive=nvars; - = not any(this == "'pstar'") and not namelist:jules_model_environment=lsm_id == 3; # pstar is required - = not any(this == "'q'") and not namelist:jules_model_environment=lsm_id == 3; # q is required - = not any(this == "'t'") and not namelist:jules_model_environment=lsm_id == 3; # t is required - = any(this == "'rad_net'") and not any(this == "'sw_down'") and not namelist:jules_model_environment=lsm_id == 3; # If rad_net is given, sw_down must be given - = any(this == "'lw_net'") and not any(this == "'sw_net'") and not namelist:jules_model_environment=lsm_id == 3; # If lw_net is given, sw_net must be given - = any(this == "'lw_down'") and (not any(this == "'sw_down'") and not any(this == "'sw_net'")) and not namelist:jules_model_environment=lsm_id == 3; # If lw_down is given, sw_down or sw_net must be given - = any(this == "'tot_rain'") and not any(this == "'tot_snow'") and not namelist:jules_model_environment=lsm_id == 3; # If tot_rain is given, tot_snow must be given - = any(this == "'ls_rain'") and namelist:jules_surface=l_point_data == '.true.' and not namelist:jules_model_environment=lsm_id == 3; # If l_point_data is TRUE, precip or tot_rain/tot_snow must be used - = any(this == "'ls_rain'") and not any(this == "'con_rain'") and not namelist:jules_model_environment=lsm_id == 3; # If ls_rain is given, con_rain must be given - = any(this == "'ls_snow'") and not any(this == "'con_snow'") and not namelist:jules_model_environment=lsm_id == 3; # If ls_snow is given, con_snow must be given - = any(this == "'u'") and not any(this == "'v'") and not namelist:jules_model_environment=lsm_id == 3; # If u is given, v must be given - = any(this == "'sub_surf_roff'") and not namelist:jules_model_environment=lsm_id == 3; # sub_surf_roff is only allowed for driving standalone Rivers - = any(this == "'surf_roff'") and not namelist:jules_model_environment=lsm_id == 3; # surf_roff is only allowed for driving standalone Rivers -length=: -sort-key=25 -trigger=namelist:jules_drive=t_for_snow: any(this == "'precip'"); - = namelist:jules_drive=t_for_con_rain: any(this == "'precip'") or any(this == "'tot_rain'"); - = namelist:jules_drive=diff_frac_const: not any(this == "'diff_rad'"); -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::var -values='con_rain','con_snow','diff_rad','dt_range','ls_rain','ls_snow','lw_down','lw_net','precip','pstar','q','rad_net','sw_down','sw_net','t','tot_rain','tot_snow','u','v','wind','sub_surf_roff','surf_roff' - -[namelist:jules_drive=var_name] -compulsory=true -description=Name of the variable in file for each variable in var -fail-if=len(this) != namelist:jules_drive=nvars -length=: -sort-key=26 -type=character -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::var_name - -[namelist:jules_drive=z1_tq_file] -compulsory=true -description=File to read spatially varying z1_tq from -sort-key=16 -type=character -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::z1_tq_file - -[namelist:jules_drive=z1_tq_in] -compulsory=true -description=Height (m) at which the temperature and humidity data are valid for every point -sort-key=15 -type=real -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::z1_tq_in - -[namelist:jules_drive=z1_tq_var_name] -compulsory=true -description=Name of the variable containing the data for z1_tq -sort-key=17 -type=character -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::z1_tq_var_name - -[namelist:jules_drive=z1_tq_vary] -compulsory=true -description=Use spatially varying z1_tq -sort-key=14 -trigger=namelist:jules_drive=z1_tq_in: .false.; - = namelist:jules_drive=z1_tq_file: .true.; - = namelist:jules_drive=z1_tq_var_name: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::z1_tq_vary - -[namelist:jules_drive=z1_uv_in] -compulsory=true -description=Height (m) at which the wind data are valid for every point -sort-key=13 -type=real -url=https://metoffice.github.io/jules/latest/namelists/drive.nml.html#JULES_DRIVE::z1_uv_in - -[namelist:jules_flake] -compulsory=true -description=Configuration of the FLake model, only required if l_flake_model=true -ns=namelist/Ancillary data/FLake -sort-key=20 -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#namelist-JULES_FLAKE - -[namelist:jules_flake=const_val] -compulsory=true -description=Constant value for all points (used if use_file = .false.) -fail-if=len(this) != namelist:jules_flake=nvars -length=: -sort-key=4 -type=real -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_FLAKE::const_val - -[namelist:jules_flake=file] -compulsory=true -description=If read_list = TRUE, file to read list of file names - =If read_list = FALSE, file or file name template - =from which to read FLake properties. -sort-key=5 -trigger=namelist:jules_flake=tpl_name: '%vv' in this; - =namelist:jules_flake=read_list: '%vv' not in this; -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_FLAKE::file - -[namelist:jules_flake=nvars] -compulsory=true -range=0: -sort-key=1 -trigger=namelist:jules_flake=var: this > 0; - = namelist:jules_flake=use_file: this > 0; -type=integer -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_FLAKE::nvars - -[namelist:jules_flake=read_from_dump] -compulsory=true -sort-key=2 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_FLAKE::read_from_dump - -[namelist:jules_flake=read_list] -compulsory=true -description=Use list of file names; one per line for each of nvars. -fail-if=this == '.true.' and '%vv' in namelist:jules_flake=file; # Cannot use variable name templating while reading a list of files. -sort-key=5a -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_FLAKE::read_list - -[namelist:jules_flake=tpl_name] -compulsory=true -description=String to substitute into the file name template (used if use_file = .true.) -fail-if=len(this) != namelist:jules_flake=nvars -length=: -sort-key=8 -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_FLAKE::tpl_name - -[namelist:jules_flake=use_file] -compulsory=true -description=Read variable from file -fail-if=len(this) != namelist:jules_flake=nvars -length=: -sort-key=3 -trigger=namelist:jules_flake=file: any(this == '.true.'); - = namelist:jules_flake=var_name: any(this == '.true.'); - = namelist:jules_flake=const_val: not all(this == '.true.'); -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_FLAKE::use_file - -[namelist:jules_flake=var] -compulsory=true -description=Names of the FLake variables, as recognised by JULES -fail-if=len(this) != namelist:jules_flake=nvars -length=: -sort-key=6 -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_FLAKE::var -values='lake_depth' - -[namelist:jules_flake=var_name] -compulsory=true -description=Name in file (used if use_file = .true.) -fail-if=len(this) != namelist:jules_flake=nvars -length=: -sort-key=7 -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_FLAKE::var_name - -[namelist:jules_frac] -compulsory=true -description=Configuration of the surface type fractional coverage -ns=namelist/Ancillary data/Fractions -sort-key=16 -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#namelist-JULES_FRAC - -[namelist:jules_frac=file] -compulsory=true -description=Name of the file to read surface type fractional coverage data -sort-key=2 -type=character -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_FRAC::file - -[namelist:jules_frac=frac_name] -description=Name of the variable containing the surface type fractional coverage data -sort-key=3 -type=character -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_SURF_HGT::frac_name - -[namelist:jules_frac=read_from_dump] -compulsory=true -description=Read surface type fractional coverage from the dump file -sort-key=1 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_FRAC::read_from_dump - -#[namelist:jules_hydrology] has moved to jules-shared/jules-hydrology -[namelist:jules_hydrology=b_pdm] -compulsory=true -description=Shape factor for the pdf -sort-key=Panel-G04a -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_hydrology.nml.html#JULES_HYDROLOGY::b_pdm - -[namelist:jules_hydrology=dz_pdm] -compulsory=true -description=Depth of soil considered by PDM (m) -sort-key=Panel-G04a -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_hydrology.nml.html#JULES_HYDROLOGY::dz_pdm - -[namelist:jules_hydrology=l_limit_gsoil] -compulsory=true -description=Limit soil conductance above critical soil moisture. -sort-key=Panel-G05 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_hydrology.nml.html#JULES_HYDROLOGY::l_limit_gsoil - -[namelist:jules_hydrology=l_pdm] -compulsory=true -description=Use PDM scheme -sort-key=Panel-G04 -trigger=namelist:jules_hydrology=b_pdm: .true.; - = namelist:jules_hydrology=dz_pdm: .true.; - = namelist:jules_hydrology=l_spdmvar: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_hydrology.nml.html#JULES_HYDROLOGY::l_pdm - -[namelist:jules_hydrology=l_spdmvar] -compulsory=true -description=Use a linear function of topographic slope to calculate S0/Smax within the PDM scheme -fail-if=this == '.true.' and namelist:jules_hydrology=l_pdm == '.false.'; # clarify that l_spdmvar=T can only be used with l_pdm=T -sort-key=Panel-G04b -trigger=namelist:jules_hydrology=slope_pdm_max: .true.; - =namelist:jules_hydrology=s_pdm: .false.; - =namelist:jules_pdm: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_hydrology.nml.html#JULES_HYDROLOGY::l_spdmvar - -[namelist:jules_hydrology=l_top] -compulsory=true -description=Use TOPMODEL scheme -fail-if=this == '.true.' and namelist:jules_hydrology=l_pdm == '.true.'; # Can't have TOPMODEL and PDM together -sort-key=Panel-G03 -trigger=namelist:jules_hydrology=zw_max: .true.; - = namelist:jules_hydrology=ti_max: .true.; - = namelist:jules_hydrology=ti_wetl: .true.; - = namelist:jules_hydrology=nfita: .true.; - = namelist:jules_hydrology=l_wetland_unfrozen: .true.; - = namelist:jules_soil_biogeochem=ch4_substrate: .true.; - = namelist:jules_soil_biogeochem=l_ch4_tlayered: .true.; - = namelist:jules_soil_biogeochem=l_ch4_interactive: .true.; - = namelist:jules_top: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_hydrology.nml.html#JULES_HYDROLOGY::l_top - -[namelist:jules_hydrology=l_wetland_unfrozen] -compulsory=true -description=Use unfrozen wetland TOPMODEL scheme -sort-key=Panel-G03a -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_hydrology.nml.html#JULES_HYDROLOGY::l_wetland_unfrozen - -[namelist:jules_hydrology=nfita] -compulsory=true -description=Number of values tried in the fitting of exponential wetland/ - =saturation fraction functions with water table depth. -sort-key=Panel-G03b -type=integer -url=https://metoffice.github.io/jules/latest/namelists/jules_hydrology.nml.html#JULES_HYDROLOGY::nfita - -[namelist:jules_hydrology=s_pdm] -compulsory=true -description=Minimum storage below which there is no surface saturation - =considered by PDM (fraction of maximum storage, as S0/Smax) -sort-key=Panel-G04b1 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_hydrology.nml.html#JULES_HYDROLOGY::s_pdm - -[namelist:jules_hydrology=slope_pdm_max] -compulsory=true -description=Maximum slope (degrees) that will produce a S0/Smax value of zero - =in the linear function of topographic slope to calculate S0/Smax - =within the PDM scheme. -sort-key=Panel-G04b1 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_hydrology.nml.html#JULES_HYDROLOGY::slope_pdm_max - -[namelist:jules_hydrology=ti_max] -compulsory=true -description=Maximum possible value of the topographic index -sort-key=Panel-G03b -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_hydrology.nml.html#JULES_HYDROLOGY::ti_max - -[namelist:jules_hydrology=ti_wetl] -compulsory=true -description=Calibration parameter used in calculation of the wetland fraction -sort-key=Panel-G03b -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_hydrology.nml.html#JULES_HYDROLOGY::ti_wetl - -[namelist:jules_hydrology=zw_max] -compulsory=true -description=Maximum allowed depth to the water table (m) -sort-key=Panel-G03b -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_hydrology.nml.html#JULES_HYDROLOGY::zw_max - -[namelist:jules_initial] -compulsory=true -ns=namelist/Initial conditions -sort-key=10 -url=https://metoffice.github.io/jules/latest/namelists/initial_conditions.nml.html#namelist-JULES_INITIAL -widget[rose-config-edit]=pages.PageWithVariableTable --nvar nvars var use_file var_name tpl_name const_val - -[namelist:jules_initial=const_val] -compulsory=true -description=Constant value for all points (used if use_file = .false.) -fail-if=len(this) != namelist:jules_initial=nvars -length=: -sort-key=10 -type=real -url=https://metoffice.github.io/jules/latest/namelists/initial_conditions.nml.html#JULES_INITIAL::const_val - -[namelist:jules_initial=dump_file] -compulsory=true -description=Given file is a JULES dump file -sort-key=01 -trigger=namelist:jules_frac=read_from_dump : .true.; - = namelist:jules_vegetation_props=read_from_dump : .true.; - = namelist:jules_soil_props=read_from_dump : .true.; - = namelist:jules_top=read_from_dump : .true.; - = namelist:jules_agric=read_from_dump : .true.; - = namelist:jules_crop_props=read_from_dump : .true.; - = namelist:jules_irrig_props=read_from_dump : .true.; - = namelist:jules_co2=read_from_dump : .true.; - = namelist:jules_water_resources_props=read_from_dump : .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/initial_conditions.nml.html#JULES_INITIAL::dump_file - -[namelist:jules_initial=file] -compulsory=true -description=File to read initial conditions from -sort-key=04 -trigger=namelist:jules_initial=tpl_name: '%vv' in this; -type=character -url=https://metoffice.github.io/jules/latest/namelists/initial_conditions.nml.html#JULES_INITIAL::file - -[namelist:jules_initial=l_broadcast_soilt] -compulsory=true -description=Switch to broadcast non-soil tiled initial condition to all soil tiles (including ancils if read from the dump file) -sort-key=03 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/initial_conditions.nml.html#JULES_INITIAL::l_broadcast_soilt - -[namelist:jules_initial=nvars] -compulsory=true -description=Number of initial condition variables provided - = If dump_file = TRUE, 0 indicates all variables should be read from dump -fail-if=this == 0 and namelist:jules_initial=dump_file == '.false.'; # nvars == 0 can only be used with a dump file -range=0,6:32 -sort-key=05 -trigger=namelist:jules_initial=var: this > 0; - = namelist:jules_initial=use_file: this > 0; - = namelist:jules_initial=var_name: this > 0; - = namelist:jules_initial=tpl_name: this > 0; - = namelist:jules_initial=const_val: this > 0; -type=integer -url=https://metoffice.github.io/jules/latest/namelists/initial_conditions.nml.html#JULES_INITIAL::file - -[namelist:jules_initial=total_snow] -compulsory=true -description=Use simplified initialisation of snow variables -sort-key=02 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/initial_conditions.nml.html#JULES_INITIAL::total_snow - -[namelist:jules_initial=tpl_name] -compulsory=true -description=String to substitute into the file name template (used if use_file = .true.) -fail-if=len(this) != namelist:jules_initial=nvars -length=: -sort-key=09 -type=character -url=https://metoffice.github.io/jules/latest/namelists/initial_conditions.nml.html#JULES_INITIAL::tpl_name - -[namelist:jules_initial=use_file] -compulsory=true -description=Read variable from file -fail-if=len(this) != namelist:jules_initial=nvars -length=: -sort-key=07 -trigger=namelist:jules_initial=var_name: any(this == '.true.'); - = namelist:jules_initial=const_val: not all(this == '.true.'); -type=logical -url=https://metoffice.github.io/jules/latest/namelists/initial_conditions.nml.html#JULES_INITIAL::use_file - -[namelist:jules_initial=var] -compulsory=true -description=Name of initial condition variable, as recognised by JULES -fail-if=len(this) != namelist:jules_initial=nvars; - = not any(this == "'canopy'"); # canopy must be given - = not any(this == "'cs'"); # cs must be given - = not any(this == "'snow_tile'"); # snow_tile must be given - = namelist:jules_prescribed=n_datasets == 0 and not any(this == "'sthuf'"); # sthuf must be given here if not prescribed FIXME: is there a way to check all namelist:jules_prescribed_dataset=var to see if one is 'sthuf'? - = not any(this == "'t_soil'"); # t_soil must be given - = not any(this == "'tstar_tile'"); # tstar_tile must be given - = namelist:jules_vegetation=can_rad_mod == 1 and not any(this == "'gs'"); # gs must be given if can_rad_mod=1 - = namelist:jules_vegetation=photo_acclim_model > 1 and not any(this == "'t_growth_gb'"); # t_growth_gb must be given if photo_acclim_model == 2 or 3 - = namelist:jules_vegetation=l_phenol == '.true.' and not any(this == "'lai'"); # lai must be given if l_phenol = TRUE - = namelist:jules_vegetation=l_triffid == '.true.' and not any(this == "'canht'"); # canht must be given if l_triffid = TRUE - = namelist:jules_vegetation=l_veg_compete == '.true.' and not any(this == "'frac'"); # frac must be given if l_veg_compete = TRUE - = namelist:jules_vegetation=l_landuse == '.true.' and not any(this == "'frac_agr_prev'"); # must be given if l_landuse = TRUE - = namelist:jules_vegetation=l_landuse == '.true.' and not any(this == "'wood_prod_fast'"); # must be given if l_landuse = TRUE - = namelist:jules_vegetation=l_landuse == '.true.' and not any(this == "'wood_prod_med'"); # must be given if l_landuse = TRUE - = namelist:jules_vegetation=l_landuse == '.true.' and not any(this == "'wood_prod_slow'"); # must be given if l_landuse = TRUE - = namelist:jules_vegetation=l_nitrogen == '.true.' and not any(this == "'ns'"); # must be given if l_nitrogen = TRUE - = namelist:jules_vegetation=l_nitrogen == '.true.' and not any(this == "'n_inorg'"); # must be given if l_nitrogen = TRUE - = namelist:jules_surface_types=ncpft > 0 and not any(this == "'cropdvi'"); # cropdvi must be given if ncpft > 0 - = namelist:jules_surface_types=ncpft > 0 and not any(this == "'croprootc'"); # croprootc must be given if ncpft > 0 - = namelist:jules_surface_types=ncpft > 0 and not any(this == "'cropharvc'"); # cropharvc must be given if ncpft > 0 - = namelist:jules_surface_types=ncpft > 0 and not any(this == "'cropreservec'"); # cropreservec must be given if ncpft > 0 - = namelist:jules_surface_types=ncpft > 0 and namelist:jules_vegetation=l_phenol == '.false.' and not any(this == "'croplai'"); # croplai must be given if ncpft > 0 but l_phenol = FALSE - = namelist:jules_surface_types=ncpft > 0 and namelist:jules_vegetation=l_triffid == '.false.' and not any(this == "'cropcanht'"); # cropcanht must be given if ncpft > 0 but l_triffid = FALSE - = namelist:jules_hydrology=l_top == '.true.' and not any(this == "'sthzw'"); # sthzw must be given if l_top = TRUE - = namelist:jules_hydrology=l_top == '.true.' and not any(this == "'zw'"); # zw must be given if l_top = TRUE - = namelist:jules_radiation=l_snow_albedo == '.true.' and not any(this == "'rgrain'"); # rgrain must be given if l_snow_albedo = TRUE - = namelist:jules_initial=total_snow == '.false.' and not any(this == "'rho_snow'"); # rho_snow must be given if total_snow = FALSE - = namelist:jules_initial=total_snow == '.false.' and not any(this == "'snow_depth'"); # snow_depth must be given if total_snow = FALSE - = namelist:jules_initial=total_snow == '.false.' and namelist:jules_vegetation=can_model == 4 and not any(this == "'snow_grnd'"); # snow_grnd must be given if total_snow = FALSE and can_model = 4 - = namelist:jules_initial=total_snow == '.false.' and namelist:jules_snow=nsmax > 0 and not any(this == "'nsnow'"); # nsnow must be given if total_snow = FALSE and nsmax > 0 - = namelist:jules_initial=total_snow == '.false.' and namelist:jules_snow=nsmax > 0 and not any(this == "'snow_ds'"); # snow_ds must be given if total_snow = FALSE and nsmax > 0 - = namelist:jules_initial=total_snow == '.false.' and namelist:jules_snow=nsmax > 0 and not any(this == "'snow_ice'"); # snow_ice must be given if total_snow = FALSE and nsmax > 0 - = namelist:jules_initial=total_snow == '.false.' and namelist:jules_snow=nsmax > 0 and not any(this == "'snow_liq'"); # snow_liq must be given if total_snow = FALSE and nsmax > 0 - = 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=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=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 -values='canht','canopy','cropcanht','cropdvi','cropharvc','croplai', - ='cropreservec','croprootc','cs','frac','frac_agr_prev','frac_past_prev', - ='frac_biocrop_prev','gs','lai','n_inorg','nsnow','ns','rfm_bflowin_rp', - ='rfm_flowin_rp','rfm_substore_rp','rfm_surfstore_rp','rgrain','rgrainl', - ='rho_snow','rivers_sto_rp','rivers_outflow_rp','snow_depth','snow_ds', - ='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','inland_outflow_rp' - -[namelist:jules_initial=var_name] -compulsory=true -description=Name in file (used if use_file = .true.) -fail-if=len(this) != namelist:jules_initial=nvars -length=: -sort-key=08 -type=character -url=https://metoffice.github.io/jules/latest/namelists/initial_conditions.nml.html#JULES_INITIAL::var_name - -[namelist:jules_input_grid] -compulsory=true -ns=namelist/Grid configuration/Input grid -sort-key=11 -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#namelist-JULES_INPUT_GRID - -[namelist:jules_input_grid=bedrock_dim_name] -description=Dimension name used when variables have an additional dimension of size ns_deep -sort-key=18 -type=character -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_INPUT_GRID::bedrock_dim_name - -[namelist:jules_input_grid=bl_level_dim_name] -description=Dimension name used when variables have an additional dimension of size bl_levels -sort-key=20 -type=character - -[namelist:jules_input_grid=cpft_dim_name] -description=Dimension name used when variables have an additional dimension of size ncpft -sort-key=10 -type=character -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_INPUT_GRID::cpft_dim_name - -[namelist:jules_input_grid=grid_dim_name] -description=Name of the single grid dimension -sort-key=02 -type=character -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_INPUT_GRID::grid_dim_name - -[namelist:jules_input_grid=grid_is_1d] -compulsory=true -description=Input is on a 1d grid -sort-key=01 -trigger=namelist:jules_input_grid=grid_dim_name: .true.; - = namelist:jules_input_grid=npoints: .true.; - = namelist:jules_input_grid=x_dim_name: .false.; - = namelist:jules_input_grid=y_dim_name: .false.; - = namelist:jules_input_grid=nx: .false.; - = namelist:jules_input_grid=ny: .false.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_INPUT_GRID::grid_is_1d - -[namelist:jules_input_grid=npoints] -compulsory=true -description=Size of the single grid dimension -range=1: -sort-key=03 -type=integer -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_INPUT_GRID::npoints - -[namelist:jules_input_grid=nvg_dim_name] -description=Dimension name used when variables have an additional dimension of size nnvg -sort-key=11 -type=character -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_INPUT_GRID::nvg_dim_name - -[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.' -range=1: -sort-key=06 -type=integer -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_INPUT_GRID::nx - -[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.' -range=1: -sort-key=07 -type=integer -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_INPUT_GRID::ny - -[namelist:jules_input_grid=pft_dim_name] -description=Dimension name used when variables have an additional dimension of size npft -sort-key=09 -type=character -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_INPUT_GRID::pft_dim_name - -[namelist:jules_input_grid=sclayer_dim_name] -description=Dimension name used when variables have an additional dimension of size dim_cs1 -sort-key=16 -type=character -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_INPUT_GRID::sclayer_dim_name - -[namelist:jules_input_grid=scpool_dim_name] -description=Dimension name used when variables have an additional dimension of size dim_cs1 -sort-key=17 -type=character -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_INPUT_GRID::scpool_dim_name - -[namelist:jules_input_grid=snow_dim_name] -description=Dimension name used when variables have an additional dimension of size nsmax -sort-key=15 -type=character -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_INPUT_GRID::snow_dim_name - -[namelist:jules_input_grid=soil_dim_name] -description=Dimension name used when variables have an additional dimension of size sm_levels -sort-key=14 -type=character -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_INPUT_GRID::soil_dim_name - -[namelist:jules_input_grid=tile_dim_name] -description=Dimension name used when variables have an additional dimension of size ntiles -sort-key=13 -type=character -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_INPUT_GRID::tile_dim_name - -[namelist:jules_input_grid=time_dim_name] -description=Name of the time dimension in input files containing time-varying data -sort-key=08 -type=character -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_INPUT_GRID::time_dim_name - -[namelist:jules_input_grid=tracer_dim_name] -description=Dimension name used when variables have an additional dimension of size ndry_dep_species -sort-key=19 -type=character - -[namelist:jules_input_grid=type_dim_name] -description=Dimension name used when variables have an additional dimension of size ntype -sort-key=12 -type=character -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_INPUT_GRID::type_dim_name - -[namelist:jules_input_grid=x_dim_name] -description=Name of the x dimension -sort-key=04 -type=character -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_INPUT_GRID::x_dim_name - -[namelist:jules_input_grid=y_dim_name] -description=Name of the y dimension -sort-key=05 -type=character -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_INPUT_GRID::y_dim_name - -[namelist:jules_irrig] -compulsory=true -description=Configuration of irrigation demand code -ns=namelist/JULES Science Settings/jules_irrig -sort-key=21 -title=Irrigation options -url=https://metoffice.github.io/jules/latest/namelists/jules_irrig.nml.html#namelist-JULES_IRRIG - -[namelist:jules_irrig=frac_irrig_all_tiles] -compulsory=true -description=Irrigate all tiles - =NOT AVAILABLE TO UM -fail-if=namelist:jules_irrig=set_irrfrac_on_irrtiles == '.true.' and this == '.true.'; # cannot set both frac_irrig_all_tiles and set_irrfrac_on_irrtiles to TRUE -sort-key=f -trigger=namelist:jules_irrig=nirrtile: .false.; - = namelist:jules_irrig=irrigtiles: .false.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_irrig.nml.html#JULES_IRRIG::frac_irrig_all_tiles - -[namelist:jules_irrig=irr_crop] -compulsory=true -description=Switch for how the irrigation model determines when to irrigate. - =0 is the only option available in the UM -sort-key=c -url=https://metoffice.github.io/jules/latest/namelists/jules_irrig.nml.html#JULES_IRRIG::irr_crop -values=0,1,2 - -[namelist:jules_irrig=irrigtiles] -compulsory=true -description=indices of tiles to be irrigated -fail-if=len(this) != namelist:jules_irrig=nirrtile -length=: -range=1: -sort-key=e -type=integer -url=https://metoffice.github.io/jules/latest/namelists/jules_irrig.nml.html#JULES_IRRIG::irrigtiles - -[namelist:jules_irrig=l_irrig_dmd] -compulsory=true -description=Use irrigation demand model -fail-if=namelist:jules_soil=l_holdwater == '.true.' and this == '.true.'; # Irrigation can't be used with l_holdwater = TRUE - =namelist:jules_water_resources=l_water_irrigation == '.true.' and this == '.false.'; # Irrigation in water resources code requires l_irrig_dmd = TRUE -sort-key=a -trigger=namelist:jules_irrig=irr_crop: .true.; - =namelist:jules_irrig=l_irrig_limit: .true.; - =namelist:jules_irrig=frac_irrig_all_tiles: .true.; - =namelist:jules_irrig=set_irrfrac_on_irrtiles: .true.; - =namelist:jules_irrig=nstep_irrig: .true.; - =namelist:jules_irrig_props: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_irrig.nml.html#JULES_IRRIG::l_irrig_dmd - -[namelist:jules_irrig=l_irrig_limit] -compulsory=true -description=Limit irrigation supply - =NOT AVAILABLE TO UM -fail-if=namelist:jules_rivers=l_rivers == '.false.' and this == '.true.'; # l_rivers must TRUE if l_irrig_limit = TRUE - =namelist:jules_rivers=i_river_vn != 3 and this == '.true.'; # i_river_vn must be 3 (trip) if l_irrig_limit = TRUE - =namelist:jules_hydrology=l_top == '.false.' and this == '.true.'; # l_top must TRUE if l_irrig_limit = TRUE - =namelist:jules_water_resources=l_water_irrigation == '.true.' and this == '.true.'; # l_irrig_limit must be F if l_water_irrigation=T - =this == '.true.' and namelist:jules_model_environment=l_jules_parent == 1; # Irrigation limitation is not tested in the UM yet. -sort-key=b -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_irrig.nml.html#JULES_IRRIG::l_irrig_limit - -[namelist:jules_irrig=nirrtile] -compulsory=true -description=Number of tile to be irrigated -range=0: -sort-key=d -type=integer -url=https://metoffice.github.io/jules/latest/namelists/jules_irrig.nml.html#JULES_IRRIG::nirrtile - -[namelist:jules_irrig=nstep_irrig] -compulsory=true -description=Number of model timesteps per irrigation update step -range=1: -sort-key=h -type=integer -url=https://metoffice.github.io/jules/latest/namelists/jules_irrig.nml.html#JULES_IRRIG::nstep_irrig - -[namelist:jules_irrig=set_irrfrac_on_irrtiles] -compulsory=true -description=Irrigate only irrigated tiles - =NOT AVAILABLE TO UM -fail-if=namelist:jules_irrig=frac_irrig_all_tiles == '.true.' and this == '.true.'; # cannot set both frac_irrig_all_tiles and set_irrfrac_on_irrtiles to TRUE -sort-key=g -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_irrig.nml.html#JULES_IRRIG::set_irrfrac_on_irrtiles - -[namelist:jules_irrig_props] -compulsory=true -description=Configuration of irrigation properties -ns=namelist/Ancillary data/Irrigation properties -sort-key=23 -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#namelist-JULES_IRRIG_PROPS - -[namelist:jules_irrig_props=const_frac_irr] -compulsory=true -description=Constant value of irrigation fraction to be applied to gridbox -sort-key=e -type=real -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_IRRIG_PROPS::const_frac_irr - -[namelist:jules_irrig_props=const_irrfrac_irrtiles] -compulsory=true -description=Constant value of irrigation fraction to be applied to irrigated tiles -sort-key=m -type=real -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_IRRIG_PROPS::const_irrfrac_irrtiles - -[namelist:jules_irrig_props=irrig_frac_file] -compulsory=true -description=Path to file containing irrigation fraction -sort-key=c -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_IRRIG_PROPS::irrig_frac_file - -[namelist:jules_irrig_props=read_file] -compulsory=true -description=Read irrigation fraction from file -sort-key=b -trigger=namelist:jules_irrig_props=irrig_frac_file: .true.; - = namelist:jules_irrig_props=var_name: .true.; - = namelist:jules_irrig_props=const_frac_irr: .false.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_IRRIG_PROPS::read_file - -[namelist:jules_irrig_props=read_from_dump] -compulsory=true -description=Read irrigation demand ancillary data from the dump file -sort-key=a -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_IRRIG_PROPS::read_from_dump - -[namelist:jules_irrig_props=var_name] -compulsory=true -description=Name of irrigation fraction variable in file -sort-key=d -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_IRRIG_PROPS::var_name - -[namelist:jules_land_frac] -compulsory=true -description=When the input grid is a single point, that single point is assumed to be 100% land -ns=namelist/Grid configuration/Land fraction -sort-key=13 -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#namelist-JULES_LAND_FRAC - -[namelist:jules_land_frac=file] -description=File to read land fraction data from -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 -type=character -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_LAND_FRAC::land_frac_name - -[namelist:jules_latlon] -compulsory=true -ns=namelist/Grid configuration/Latitude and longitude -sort-key=12 -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#namelist-JULES_LATLON -widget[rose-config-edit]=pages.PageWithVariableTable --nvar nvars var use_file var_name tpl_name const_val - -[namelist:jules_latlon=const_val] -compulsory=true -description=Constant value for all points (used if use_file = .false.) -fail-if=len(this) != namelist:jules_latlon=nvars -length=: -sort-key=8 -type=real -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_LATLON::const_val - -[namelist:jules_latlon=file] -description=File to read variables from -sort-key=3 -trigger=namelist:jules_latlon=tpl_name: '%vv' in this; -type=character -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_LATLON::file - -[namelist:jules_latlon=l_coord_latlon] -compulsory=true -description=Switch indicating if model grid is defined by latitude and longitude coordinates -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_latlon.nml.html#JULES_LATLON::l_coord_latlon - -[namelist:jules_latlon=nvars] -compulsory=true -description=Number of variables that will be given -range=2:3 -sort-key=2 -trigger=namelist:jules_latlon=var: this > 0; - = namelist:jules_latlon=use_file: this > 0; -type=integer -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_LATLON::nvars - -[namelist:jules_latlon=read_from_dump] -compulsory=true -description=Read spatially-varying properties from the dump file -sort-key=1 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_LATLON::read_from_dump - -[namelist:jules_latlon=tpl_name] -compulsory=true -description=String to substitute into the file name template (used if use_file = .true.) -fail-if=len(this) != namelist:jules_latlon=nvars -length=: -sort-key=7 -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_LATLON::tpl_name - -[namelist:jules_latlon=use_file] -compulsory=true -description=Read variable from file -fail-if=len(this) != namelist:jules_latlon=nvars -length=: -sort-key=5 -trigger=namelist:jules_latlon=file: any(this == '.true.'); - = namelist:jules_latlon=var_name: any(this == '.true.'); - = namelist:jules_latlon=const_val: not all(this == '.true.'); -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_LATLON::use_file - -[namelist:jules_latlon=var] -compulsory=true -description=Names of the variables, as recognised by JULES -fail-if=len(this) != namelist:jules_latlon=nvars -length=: -sort-key=4 -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_LATLON::var -values='grid_area','latitude','longitude' - -[namelist:jules_latlon=var_name] -compulsory=true -description=Name in file (used if use_file = .true.) -fail-if=len(this) != namelist:jules_latlon=nvars -length=: -sort-key=6 -type=character -<<<<<<< HEAD -url=http://jules-lsm.github.io/latest/namelists/ancillaries.nml.html#JULES_LATLON::var_name - -[namelist:jules_model_environment] -compulsory=true -description=Not all JULES options are available in all environments in which JULES is run e.g. standalone, - =UM, (LIS, MONC, CABLE). The model environment is specified here so that options that are - =unavailable can be made inaccessible via the meta data and thus will not appear in the gui. -ns=namelist/JULES Science Settings/jules_model_environment -sort-key=01 -title=Model environment interface -url=http://jules-lsm.github.io/latest/namelists/model_environment.nml.html#namelist-JULES_MODEL_ENVIRONMENT - -[namelist:jules_model_environment=l_jules_parent] -compulsory=true -description=Switch to identify the environment in which JULES is being run. - =No science code is associated with this switch, only what science options are available. -fail-if=this == 1; # This should be 0 to indicate JULES standalone. - =this == 2 and namelist:jules_model_environment=lsm_id != 3; # The OASIS coupler can only be used with Rivers-only (OASIS-Rivers). -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_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_riv_overbank: 0; - =namelist:jules_rivers=trip_globe_shape: 1; - =namelist:jules_soil=l_bedrock: 0; - =namelist:jules_soil=l_tile_soil: 0; - =namelist:jules_soil_biogeochem=l_label_frac_cs: 0; - =namelist:jules_surface=l_vary_z0m_soil: 1; - =namelist:jules_surface=formdrag: 1; - =namelist:jules_surface=i_modiscopt: 1; - =namelist:jules_surface=srf_ex_cnv_gust: 1; - =namelist:jules_surface_types=ncpft: 0; - =namelist:jules_surface_types=tile_map_ids: 1; - =namelist:jules_urban=l_urban_empirical: 0; - =namelist:jules_vegetation=l_ag_expand: 0; - =namelist:jules_vegetation=l_trif_biocrop: 0; - =namelist:jules_vegetation=l_croprotate: 0; - =namelist:jules_vegetation=l_gleaf_fix: 0; - =namelist:jules_vegetation=l_nrun_mid_trif: 1; - =namelist:jules_vegetation=l_o3_damage: 0; - =namelist:jules_vegetation=l_prescsow: 0; - =namelist:jules_vegetation=l_trif_init_accum: 1; - =namelist:jules_vegetation=l_use_pft_psi: 0; - =namelist:jules_vegetation=l_sugar: 0; - =namelist:jules_vegetation=l_red: 0; - =namelist:jules_water_resources=l_water_resources: 0; - =namelist:jules_water_resources=l_water_environment: -1; - =namelist:jules_water_resources=l_water_transfers: -1; - =namelist:oasis_rivers: 2; - =namelist:jules_rivers_props: 0,2; - =namelist:jules_rivers_props=rivers_regrid: 0; - =namelist:urban_properties: 0; -url=http://jules-lsm.github.io/latest/namelists/model_environment.nml.html#JULES_MODEL_ENVIRONMENT::l_jules_parent -value-titles=Standalone,OASIS -values=0,2 - -[namelist:jules_model_environment=lsm_id] -compulsory=true -description=Switch for controlling the flavour of land surface model used - =(JULES / CABLE / Standalone Rivers ) -fail-if=this == 2 and namelist:jules_model_environment=l_jules_parent == 1; # CABLE (JAC) cannot currently be used with the UM. - =this == 3 and namelist:jules_model_environment=l_jules_parent == 1; # Standalone Rivers is a standalone executable and is not coupled to the UM directly. -trigger=namelist:jules_pftparm: 1; - =namelist:jules_pftparm=a_wl_io: 1; - =namelist:jules_pftparm=a_ws_io: 1; - =namelist:jules_pftparm=act_jmax_io: 1; - =namelist:jules_pftparm=act_vcmax_io: 1; - =namelist:jules_pftparm=aef_io: 1; - =namelist:jules_pftparm=albsnc_max_io: 1; - =namelist:jules_pftparm=albsnc_min_io: 1; - =namelist:jules_pftparm=albsnf_max_io: 1; - =namelist:jules_pftparm=albsnf_maxl_io: 1; - =namelist:jules_pftparm=albsnf_maxu_io: 1; - =namelist:jules_pftparm=alnir_io: 1; - =namelist:jules_pftparm=alnirl_io: 1; - =namelist:jules_pftparm=alniru_io: 1; - =namelist:jules_pftparm=alpar_io: 1; - =namelist:jules_pftparm=alparl_io: 1; - =namelist:jules_pftparm=alparu_io: 1; - =namelist:jules_pftparm=alpha_elec_io: 1; - =namelist:jules_pftparm=alpha_io: 1; - =namelist:jules_pftparm=avg_ba_io: 1; - =namelist:jules_pftparm=b_wl_io: 1; - =namelist:jules_pftparm=c3_io: 1; - =namelist:jules_pftparm=can_struct_a_io: 1; - =namelist:jules_pftparm=catch0_io: 1; - =namelist:jules_pftparm=ccleaf_max_io: 1; - =namelist:jules_pftparm=ccleaf_min_io: 1; - =namelist:jules_pftparm=ccwood_max_io: 1; - =namelist:jules_pftparm=ccwood_min_io: 1; - =namelist:jules_pftparm=ci_st_io: 1; - =namelist:jules_pftparm=dcatch_dlai_io: 1; - =namelist:jules_pftparm=deact_jmax_io: 1; - =namelist:jules_pftparm=deact_vcmax_io: 1; - =namelist:jules_pftparm=dfp_dcuo_io: 1; - =namelist:jules_pftparm=dgl_dm_io: 1; - =namelist:jules_pftparm=dgl_dt_io: 1; - =namelist:jules_pftparm=dqcrit_io: 1; - =namelist:jules_pftparm=ds_jmax_io: 1; - =namelist:jules_pftparm=ds_vcmax_io: 1; - =namelist:jules_pftparm=dz0v_dh_io: 1; - =namelist:jules_pftparm=z0v_io: 1; - =namelist:jules_pftparm=emis_pft_io: 1; - =namelist:jules_pftparm=eta_sl_io: 1; - =namelist:jules_pftparm=f0_io: 1; - =namelist:jules_pftparm=fd_io: 1; - =namelist:jules_pftparm=fef_bc_io: 1; - =namelist:jules_pftparm=fef_ch4_io: 1; - =namelist:jules_pftparm=fef_co2_io: 1; - =namelist:jules_pftparm=fef_co_io: 1; - =namelist:jules_pftparm=fef_nox_io: 1; - =namelist:jules_pftparm=fef_oc_io: 1; - =namelist:jules_pftparm=fef_so2_io: 1; - =namelist:jules_pftparm=fef_c2h4_io: 1; - =namelist:jules_pftparm=fef_c2h6_io: 1; - =namelist:jules_pftparm=fef_c3h8_io: 1; - =namelist:jules_pftparm=fef_hcho_io: 1; - =namelist:jules_pftparm=fef_mecho_io: 1; - =namelist:jules_pftparm=fef_nh3_io: 1; - =namelist:jules_pftparm=fef_dms_io: 1; - =namelist:jules_pftparm=fire_mort_io: 1; - =namelist:jules_pftparm=fl_o3_ct_io: 1; - =namelist:jules_pftparm=fsmc_of_io: 1; - =namelist:jules_pftparm=fsmc_p0_io: 1; - =namelist:jules_pftparm=g1_stomata_io: 1; - =namelist:jules_pftparm=g_leaf_0_io: 1; - =namelist:jules_pftparm=glmin_io: 1; - =namelist:jules_pftparm=gpp_st_io: 1; - =namelist:jules_pftparm=gsoil_f_io: 1; - =namelist:jules_pftparm=hw_sw_io: 1; - =namelist:jules_pftparm=ief_io: 1; - =namelist:jules_pftparm=infil_f_io: 1; - =namelist:jules_pftparm=jv25_ratio_io: 1; - =namelist:jules_pftparm=kext_io: 1; - =namelist:jules_pftparm=kn_io: 1; - =namelist:jules_pftparm=knl_io: 1; - =namelist:jules_pftparm=kpar_io: 1; - =namelist:jules_pftparm=lai_alb_lim_io: 1; - =namelist:jules_pftparm=lma_io: 1; - =namelist:jules_pftparm=mef_io: 1; - =namelist:jules_pftparm=neff_io: 1; - =namelist:jules_pftparm=nl0_io: 1; - =namelist:jules_pftparm=nmass_io: 1; - =namelist:jules_pftparm=nr_io: 1; - =namelist:jules_pftparm=nr_nl_io: 1; - =namelist:jules_pftparm=ns_nl_io: 1; - =namelist:jules_pftparm=nsw_io: 1; - =namelist:jules_pftparm=omega_io: 1; - =namelist:jules_pftparm=omegal_io: 1; - =namelist:jules_pftparm=omegau_io: 1; - =namelist:jules_pftparm=omnir_io: 1; - =namelist:jules_pftparm=omnirl_io: 1; - =namelist:jules_pftparm=omniru_io: 1; - =namelist:jules_pftparm=orient_io: 1; - =namelist:jules_pftparm=psi_close_io: 1; - =namelist:jules_pftparm=psi_open_io: 1; - =namelist:jules_pftparm=q10_leaf_io: 1; - =namelist:jules_pftparm=r_grow_io: 1; - =namelist:jules_pftparm=rootd_ft_io: 1; - =namelist:jules_pftparm=sigl_io: 1; - =namelist:jules_pftparm=sug_g0_io: 1; - =namelist:jules_pftparm=sug_grec_io: 1; - =namelist:jules_pftparm=sug_yg_io: 1; - =namelist:jules_pftparm=tef_io: 1; - =namelist:jules_pftparm=tleaf_of_io: 1; - =namelist:jules_pftparm=tlow_io: 1; - =namelist:jules_pftparm=tupp_io: 1; - =namelist:jules_pftparm=vint_io: 1; - =namelist:jules_pftparm=vsl_io: 1; - =namelist:jules_pftparm=z0hm_classic_pft_io: 1; - =namelist:jules_pftparm=z0hm_pft_io: 1; - =namelist:jules_pftparm=canht_ft_io: 1; - =namelist:jules_pftparm=fsmc_mod_io: 1; - =namelist:jules_pftparm=lai_io: 1; - =namelist:jules_nvegparm: 1; - =namelist:jules_nvegparm=albsnc_nvg_io: 1; - =namelist:jules_nvegparm=albsnf_nvg_io: 1; - =namelist:jules_nvegparm=albsnf_nvgl_io: 1; - =namelist:jules_nvegparm=albsnf_nvgu_io: 1; - =namelist:jules_nvegparm=catch_nvg_io: 1; - =namelist:jules_nvegparm=ch_nvg_io: 1; - =namelist:jules_nvegparm=emis_nvg_io: 1; - =namelist:jules_nvegparm=gs_nvg_io: 1; - =namelist:jules_nvegparm=infil_nvg_io: 1; - =namelist:jules_nvegparm=vf_nvg_io: 1; - =namelist:jules_nvegparm=z0_nvg_io: 1; - =namelist:jules_nvegparm=z0hm_classic_nvg_io: 1; - =namelist:jules_nvegparm=z0hm_nvg_io: 1; - =namelist:cable_progs: 2; - =namelist:cable_progs=const_val: 2; - =namelist:cable_progs=file: 2; - =namelist:cable_progs=nvars: 2; - =namelist:cable_progs=use_file: 2; - =namelist:cable_progs=var: 2; - =namelist:cable_progs=var_name: 2; - =namelist:cable_surface_types: 2; - =namelist:cable_surface_types=barren_cable: 2; - =namelist:cable_surface_types=ice_cable: 2; - =namelist:cable_surface_types=lakes_cable: 2; - =namelist:cable_surface_types=nnvg_cable: 2; - =namelist:cable_surface_types=npft_cable: 2; - =namelist:cable_surface_types=urban_cable: 2; - =namelist:cable_pftparm: 2; - =namelist:cable_pftparm=canst1_io: 2; - =namelist:cable_pftparm=length_io: 2; - =namelist:cable_pftparm=width_io: 2; - =namelist:cable_pftparm=vcmax_io: 2; - =namelist:cable_pftparm=ejmax_io: 2; - =namelist:cable_pftparm=hc_io: 2; - =namelist:cable_pftparm=xfang_io: 2; - =namelist:cable_pftparm=rp20_io: 2; - =namelist:cable_pftparm=rpcoef_io: 2; - =namelist:cable_pftparm=rs20_io: 2; - =namelist:cable_pftparm=wai_io: 2; - =namelist:cable_pftparm=rootbeta_io: 2; - =namelist:cable_pftparm=shelrb_io: 2; - =namelist:cable_pftparm=vegcf_io: 2; - =namelist:cable_pftparm=frac4_io: 2; - =namelist:cable_pftparm=xalbnir_io: 2; - =namelist:cable_pftparm=extkn_io: 2; - =namelist:cable_pftparm=tminvj_io: 2; - =namelist:cable_pftparm=tmaxvj_io: 2; - =namelist:cable_pftparm=vbeta_io: 2; - =namelist:cable_pftparm=a1gs_io: 2; - =namelist:cable_pftparm=d0gs_io: 2; - =namelist:cable_pftparm=alpha_io: 2; - =namelist:cable_pftparm=convex_io: 2; - =namelist:cable_pftparm=cfrd_io: 2; - =namelist:cable_pftparm=gswmin_io: 2; - =namelist:cable_pftparm=conkc0_io: 2; - =namelist:cable_pftparm=conko0_io: 2; - =namelist:cable_pftparm=ekc_io: 2; - =namelist:cable_pftparm=eko_io: 2; - =namelist:cable_pftparm=g0_io: 2; - =namelist:cable_pftparm=g1_io: 2; - =namelist:cable_pftparm=clitt_io: 2; - =namelist:cable_pftparm=froot1_io: 2; - =namelist:cable_pftparm=froot2_io: 2; - =namelist:cable_pftparm=froot3_io: 2; - =namelist:cable_pftparm=froot4_io: 2; - =namelist:cable_pftparm=froot5_io: 2; - =namelist:cable_pftparm=froot6_io: 2; - =namelist:cable_pftparm=cplant1_io: 2; - =namelist:cable_pftparm=cplant2_io: 2; - =namelist:cable_pftparm=cplant3_io: 2; - =namelist:cable_pftparm=csoil1_io: 2; - =namelist:cable_pftparm=csoil2_io: 2; - =namelist:cable_pftparm=ratecp1_io: 2; - =namelist:cable_pftparm=ratecp2_io: 2; - =namelist:cable_pftparm=ratecp3_io: 2; - =namelist:cable_pftparm=ratecs1_io: 2; - =namelist:cable_pftparm=ratecs2_io: 2; - =namelist:cable_pftparm=refl1_io: 2; - =namelist:cable_pftparm=refl2_io: 2; - =namelist:cable_pftparm=refl3_io: 2; - =namelist:cable_pftparm=taul1_io: 2; - =namelist:cable_pftparm=taul2_io: 2; - =namelist:cable_pftparm=taul3_io: 2; - =namelist:cable_pftparm=zr_io: 2; - =namelist:cable_pftparm=lai_io: 2; - =namelist:cable_soilparm: 2; - =namelist:cable_soilparm=silt_io: 2; - =namelist:cable_soilparm=clay_io: 2; - =namelist:cable_soilparm=sand_io: 2; - =namelist:cable_soilparm=swilt_io: 2; - =namelist:cable_soilparm=sfc_io: 2; - =namelist:cable_soilparm=ssat_io: 2; - =namelist:cable_soilparm=bch_io: 2; - =namelist:cable_soilparm=hyds_io: 2; - =namelist:cable_soilparm=sucs_io: 2; - =namelist:cable_soilparm=rhosoil_io: 2; - =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=http://jules-lsm.github.io/latest/namelists/model_environment.nml.html#JULES_MODEL_ENVIRONMENT::lsm_id -value-titles='jules','cable','rivers-only' -values=1,2,3 -======= -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_LATLON::var_name ->>>>>>> origin/main - -[namelist:jules_model_grid] -compulsory=true -ns=namelist/Grid configuration/Model grid -sort-key=14 -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#namelist-JULES_MODEL_GRID - -[namelist:jules_model_grid=force_1d_grid] -compulsory=true -description=Force 1D model grid -sort-key=2 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_MODEL_GRID::force_1d_grid - -[namelist:jules_model_grid=l_bounds] -compulsory=true -description=Subgrid selection method -sort-key=4 -trigger=namelist:jules_model_grid=x_bounds: .true.; - = namelist:jules_model_grid=y_bounds: .true.; - = namelist:jules_model_grid=npoints: .false.; - = namelist:jules_model_grid=points_file: .false.; -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_MODEL_GRID::l_bounds -value-titles=Coordinate bounds,Points list -values=.true.,.false. -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_model_grid=land_only] -compulsory=true -description=Model land points only -sort-key=1 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_MODEL_GRID::land_only - -[namelist:jules_model_grid=npoints] -compulsory=true -description=Number of points in the points file -range=1: -sort-key=7 -type=integer -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_MODEL_GRID::npoints - -[namelist:jules_model_grid=points_file] -compulsory=true -description=Name of the file containing the latitude and longitude of each point -sort-key=8 -type=character -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_MODEL_GRID::points_file - -[namelist:jules_model_grid=use_subgrid] -compulsory=true -description=Model only a subgrid of the input grid -sort-key=3 -trigger=namelist:jules_model_grid=l_bounds: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_MODEL_GRID::use_subgrid - -[namelist:jules_model_grid=x_bounds] -compulsory=true -description=Lower and upper bounds (in that order) for x coordinate -fail-if=this(1) > this(2); # Lower bound must be smaller than upper bound -length=2 -sort-key=6 -type=real -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_MODEL_GRID::x_bounds - -[namelist:jules_model_grid=y_bounds] -compulsory=true -description=Lower and upper bounds (in that order) for y coordinate -fail-if=this(1) > this(2); # Lower bound must be smaller than upper bound -length=2 -sort-key=5 -type=real -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_MODEL_GRID::y_bounds - -[namelist:jules_nlsizes] -compulsory=true -ns=namelist/Grid configuration/BL levels -sort-key=11 - -[namelist:jules_nlsizes=bl_levels] -compulsory=true -description=Number of boundary layer levels -range=1: -sort-key=1 -type=integer - -#[namelist:jules_nvegparm] has moved to jules-shared/jules-nvegparm -[namelist:jules_nvegparm=z0hm_classic_nvg_io] -compulsory=true -description=Ratio of the roughness length for heat to the roughness length for momentum for the CLASSIC aerosol scheme only -fail-if=len(this) != namelist:jules_surface_types=nnvg -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/nveg_params.nml.html#JULES_NVEGPARM::z0hm_classic_nvg_io - -[namelist:jules_output] -compulsory=true -ns=namelist/Output -sort-key=11 -url=https://metoffice.github.io/jules/latest/namelists/output.nml.html#namelist-JULES_OUTPUT - -[namelist:jules_output=dump_period] -compulsory=true -description=Model dumps period -range=1: -sort-key=04 -type=integer - -[namelist:jules_output=dump_period_unit] -compulsory=true -description=Model dumps period unit, calendar year or second of calendar day - =If 'Y', dump period in number of calendar years - =If 'T', dump period in number of seconds into a calendar day -sort-key=05 -values='Y','T' - -[namelist:jules_output=nprofiles] -compulsory=true -description=Number of output profiles -range=0: -sort-key=03 -type=integer -url=https://metoffice.github.io/jules/latest/namelists/output.nml.html#JULES_OUTPUT::nprofiles - -[namelist:jules_output=output_dir] -compulsory=true -description=Directory for output files -sort-key=01 -type=character -url=https://metoffice.github.io/jules/latest/namelists/output.nml.html#JULES_OUTPUT::output_dir - -[namelist:jules_output=run_id] -compulsory=true -description=Identifier for the run -sort-key=02 -type=character -url=https://metoffice.github.io/jules/latest/namelists/output.nml.html#JULES_OUTPUT::run_id - -[namelist:jules_output_profile] -duplicate=true -ns=namelist/Output/Profiles -sort-key=12 -url=https://metoffice.github.io/jules/latest/namelists/output.nml.html#namelist-JULES_OUTPUT_PROFILE -widget[rose-config-edit]=pages.PageWithVariableTable --nvar nvars var var_name output_type - -[namelist:jules_output_profile=file_period] -compulsory=true -description=Period of output files -sort-key=02 -url=https://metoffice.github.io/jules/latest/namelists/output.nml.html#JULES_OUTPUT_PROFILE::file_period -value-titles=Annual files,Monthly files,Daily files,Single file -values=-2,-1,-3,0 -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_output_profile=l_land_frac] -compulsory=true -description=Output gridbox land fraction to output profile -sort-key=01b -type=logical -url=https://metoffice.github.io/jules/latest/namelists/output.nml.html#JULES_OUTPUT_PROFILE::l_land_frac; # Not added to docs yet - -[namelist:jules_output_profile=nvars] -compulsory=true -description=Number of variables to output -range=1: -sort-key=10 -trigger=namelist:jules_output_profile=var: this > 0; -type=integer -url=https://metoffice.github.io/jules/latest/namelists/output.nml.html#JULES_OUTPUT_PROFILE::nvars - -[namelist:jules_output_profile=output_end] -description=Time to stop collecting data for output -pattern=\d{4}-\d{2}-\d{2}\s{1}\d{2}:\d{2}:\d{2} -sort-key=06 -type=character -url=https://metoffice.github.io/jules/latest/namelists/output.nml.html#JULES_OUTPUT_PROFILE::output_end - -[namelist:jules_output_profile=output_initial] -description=Output initial data -sort-key=07 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/output.nml.html#JULES_OUTPUT_PROFILE::output_initial - -[namelist:jules_output_profile=output_main_run] -compulsory=true -description=Produce output during the main run -sort-key=04 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/output.nml.html#JULES_OUTPUT_PROFILE::output_main_run - -[namelist:jules_output_profile=output_period] -description=Output period (s) - = -2 => Annual, -1 => Monthly, > 0 => Period in seconds -range=-2,-1,1: -sort-key=09 -type=integer -url=https://metoffice.github.io/jules/latest/namelists/output.nml.html#JULES_OUTPUT_PROFILE::output_period - -[namelist:jules_output_profile=output_spinup] -compulsory=true -description=Produce output during spinup -sort-key=03 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/output.nml.html#JULES_OUTPUT_PROFILE::output_spinup - -[namelist:jules_output_profile=output_start] -description=Time to start collecting data for output -pattern=\d{4}-\d{2}-\d{2}\s{1}\d{2}:\d{2}:\d{2} -sort-key=05 -type=character -url=https://metoffice.github.io/jules/latest/namelists/output.nml.html#JULES_OUTPUT_PROFILE::output_start - -[namelist:jules_output_profile=output_type] -compulsory=true -description=Type of output for each variable in var -fail-if=len(this) != namelist:jules_output_profile=nvars; -length=: -sort-key=13 -url=https://metoffice.github.io/jules/latest/namelists/output.nml.html#JULES_OUTPUT_PROFILE::output_type -values='S','M','A','N','X' - -[namelist:jules_output_profile=profile_name] -compulsory=true -description=Name of the output profile -sort-key=01 -type=character -url=https://metoffice.github.io/jules/latest/namelists/output.nml.html#JULES_OUTPUT_PROFILE::profile_name - -[namelist:jules_output_profile=sample_period] -description=Sampling period (s) -range=1: -sort-key=08 -type=integer -url=https://metoffice.github.io/jules/latest/namelists/output.nml.html#JULES_OUTPUT_PROFILE::sample_period - -[namelist:jules_output_profile=var] -compulsory=true -description=Names of variables to output, as recognised by JULES -# NOTE: Please don't change "namelist:jules_output_profile=var" to "this" as -# it breaks the "fail-if" -# 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 -url=https://metoffice.github.io/jules/latest/namelists/output.nml.html#JULES_OUTPUT_PROFILE::var - -[namelist:jules_output_profile=var_name] -compulsory=true -description=Name to give variable in output files for each variable in var -fail-if=len(this) != namelist:jules_output_profile=nvars; -length=: -sort-key=12 -type=character -url=https://metoffice.github.io/jules/latest/namelists/output.nml.html#JULES_OUTPUT_PROFILE::var_name - -[namelist:jules_overbank] -compulsory=true -ns=namelist/JULES Science Settings/jules_overbank -sort-key=14 -title=River overbank inundation options -url=https://metoffice.github.io/jules/latest/namelists/jules_rivers.nml.html#namelist-JULES_overbank - -[namelist:jules_overbank=coef_b] -compulsory=true -description=Coefficient in the QBF (=bankfull discharge) allometry. -range=0: -sort-key=f -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_rivers.nml.html#JULES_overbank::coef_b - -[namelist:jules_overbank=ent_ratio] -compulsory=true -description=Rosgen entrenchment ratio (= ratio of flood-prone width to bankfull width - = of a channel, where flood-prone width = when the channel depth is - = 2x bankfull depth) -range=0: -sort-key=g -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_rivers.nml.html#JULES_overbank::ent_ratio - -[namelist:jules_overbank=exp_c] -compulsory=true -description=Exponent in the QBF (=bankfull discharge) allometry. -range=0: -sort-key=h -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_rivers.nml.html#JULES_overbank::exp_c - -[namelist:jules_overbank=overbank_model] -compulsory=true -description=Choice of overbank inundation model -sort-key=a -trigger=namelist:jules_overbank=coef_b: 2; - = namelist:jules_overbank=ent_ratio: 2; - = namelist:jules_overbank=exp_c: 2; - = namelist:jules_overbank=riv_a: 1, 2; - = namelist:jules_overbank=riv_b: 1, 2; - = namelist:jules_overbank=riv_c: 2, 3; - = namelist:jules_overbank=riv_f: 2, 3; -url=https://metoffice.github.io/jules/latest/namelists/jules_rivers.nml.html#JULES_overbank::overbank_model -value-titles=Simple, Simple with Rosgen, Hypsometric integral -values=1,2,3 -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_overbank=riv_a] -compulsory=true -description=Coefficient in the allometry for river width -range=0: -sort-key=d -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_rivers.nml.html#JULES_overbank::riv_a - -[namelist:jules_overbank=riv_b] -compulsory=true -description=Exponent in the allometry for river width -range=0: -sort-key=e -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_rivers.nml.html#JULES_overbank::riv_b - -[namelist:jules_overbank=riv_c] -compulsory=true -description=Coefficient in the allometry for river depth -range=0: -sort-key=b -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_rivers.nml.html#JULES_overbank::riv_c - -[namelist:jules_overbank=riv_f] -compulsory=true -description=Exponent in the allometry for river depth -range=0: -sort-key=c -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_rivers.nml.html#JULES_overbank::riv_f - -[namelist:jules_pdm] -compulsory=true -description=Configuration of spatially varying PDM properties -ns=namelist/Ancillary data/PDM properties -sort-key=19 -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#namelist-JULES_PDM -widget[rose-config-edit]=pages.PageWithVariableTable --nvar nvars var use_file var_name tpl_name const_val - -[namelist:jules_pdm=const_val] -compulsory=true -description=Constant value for all points (used if use_file = .false.) -fail-if=len(this) != namelist:jules_pdm=nvars -length=: -sort-key=7 -type=real -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_PDM::const_val - -[namelist:jules_pdm=file] -compulsory=true -description=If read_list = TRUE, file to read list of file names - =If read_list = FALSE, file or file name template - =from which to read PDM properties. -sort-key=1 -trigger=namelist:jules_pdm=tpl_name: '%vv' in this; - =namelist:jules_pdm=read_list: '%vv' not in this; -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_PDM::file - -[namelist:jules_pdm=nvars] -compulsory=true -description=Number of PDM properties that will be given -range=0: -sort-key=2 -trigger=namelist:jules_pdm=var: this > 0; - = namelist:jules_pdm=use_file: this > 0; -type=integer -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_PDM::nvars - -[namelist:jules_pdm=read_list] -compulsory=true -description=Use list of file names; one per line for each of nvars. -fail-if=this == '.true.' and '%vv' in namelist:jules_pdm=file; # Cannot use variable name templating while reading a list of files. -sort-key=1a -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_PDM::read_list - -[namelist:jules_pdm=tpl_name] -compulsory=true -description=String to substitute into the file name template (used if use_file = .true.) -fail-if=len(this) != namelist:jules_pdm=nvars -length=: -sort-key=6 -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_PDM::tpl_name - -[namelist:jules_pdm=use_file] -compulsory=true -description=Read variable from file -fail-if=len(this) != namelist:jules_pdm=nvars -length=: -sort-key=4 -trigger=namelist:jules_pdm=file: any(this == '.true.'); - = namelist:jules_pdm=var_name: any(this == '.true.'); - = namelist:jules_pdm=const_val: not all(this == '.true.'); -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_PDM::use_file - -[namelist:jules_pdm=var] -compulsory=true -description=Names of the PDM variable, as recognised by JULES -fail-if=len(this) != namelist:jules_pdm=nvars -length=: -sort-key=3 -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_PDM::var -values='slope' - -[namelist:jules_pdm=var_name] -compulsory=true -description=Name in file (used if use_file = .true.) -fail-if=len(this) != namelist:jules_pdm=nvars -length=: -sort-key=5 -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_PDM::var_name - -#[namelist:jules_pftparm] has moved to jules-shared/jules-pftparm -[namelist:jules_pftparm=a_wl_io] -compulsory=true -description=Allometric coefficient relating the target woody biomass to the leaf area index (kg carbon m-2) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::a_wl_io - -[namelist:jules_pftparm=a_ws_io] -compulsory=true -description=Woody biomass as a multiple of live stem biomass -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::a_ws_io - -[namelist:jules_pftparm=act_jmax_io] -compulsory=true -description=Activation energy for temperature response of Jmax -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO20b -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::act_jmax_io - -[namelist:jules_pftparm=act_vcmax_io] -compulsory=true -description=Activation energy for temperature response of Vcmax -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO20b -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::act_vcmax_io - -[namelist:jules_pftparm=aef_io] -compulsory=true -description=Acetone emission factor per PFT (µgC g-1 h-1) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO10 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::aef_io - -[namelist:jules_pftparm=albsnc_min_io] -compulsory=true -description=Snow-covered albedo for zero LAI -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Radiation parameters -range=0:1 -sort-key=Panel-HR03 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::albsnc_min_io - -[namelist:jules_pftparm=albsnf_max_io] -compulsory=true -description=Snow-free albedo for large LAI -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Radiation parameters -range=0:1 -sort-key=Panel-HR03 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::albsnf_max_io - -[namelist:jules_pftparm=albsnf_maxl_io] -compulsory=true -description=Lower limit on albsnf_max_io -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Radiation parameters -range=0:1 -sort-key=Panel-HR03 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::albsnf_maxl_io - -[namelist:jules_pftparm=albsnf_maxu_io] -compulsory=true -description=Upper limit on albsnf_max_io -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Radiation parameters -range=0:1 -sort-key=Panel-HR03 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::albsnf_maxu_io - -[namelist:jules_pftparm=alnirl_io] -compulsory=true -description=Lower limit on alnir_io -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Radiation parameters -range=0:1 -sort-key=Panel-HR03 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::alnirl_io - -[namelist:jules_pftparm=alniru_io] -compulsory=true -description=Upper limit on alnir_io -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Radiation parameters -range=0:1 -sort-key=Panel-HR03 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::alniru_io - -[namelist:jules_pftparm=alparl_io] -compulsory=true -description=Lower limit on alpar_io -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Radiation parameters -sort-key=Panel-HR03 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::alparl_io - -[namelist:jules_pftparm=alparu_io] -compulsory=true -description=Upper limit on alpar_io -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Radiation parameters -range=0:1 -sort-key=Panel-HR03 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::alparu_io - -[namelist:jules_pftparm=alpha_elec_io] -compulsory=true -description=Quantum yield of electron transport (mol electrons/mol PAR photons) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO20 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::alpha_elec_io - -[namelist:jules_pftparm=alpha_io] -compulsory=true -description=Quantum efficiency of photosynthesis (mol CO2/mol PAR photons) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::alpha_io - -[namelist:jules_pftparm=avg_ba_io] -compulsory=true -description=Average burnt area on PFTs per fire event (fraction) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO16 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::avg_ba_io - -[namelist:jules_pftparm=b_wl_io] -compulsory=true -description=Allometric exponent relating the target woody biomass to the leaf area index -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::b_wl_io - -[namelist:jules_pftparm=c3_io] -compulsory=true -description=Flag indicating whether PFT is C3 type -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO03 -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::c3_io -value-titles=Not C3,C3 -values=0,1 - -[namelist:jules_pftparm=can_struct_a_io] -compulsory=true -description=Canopy structure factor (1.0 is structurally homogeneous). -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Radiation parameters -sort-key=Panel-HR02 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::can_struct_a_io - -[namelist:jules_pftparm=canht_ft_io] -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO01 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::canht_ft_io - -[namelist:jules_pftparm=ccleaf_max_io] -compulsory=true -description=Leaf maximum combustion completeness -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO16 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::ccleaf_max_io - -[namelist:jules_pftparm=ccleaf_min_io] -compulsory=true -description=Leaf minimum combustion completeness -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO16 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::ccleaf_min_io - -[namelist:jules_pftparm=ccwood_max_io] -compulsory=true -description=Wood maximum combustion completeness -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO16 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::ccwood_max_io - -[namelist:jules_pftparm=ccwood_min_io] -compulsory=true -description=Wood minimum combustion completeness -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO16 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::ccwood_min_io - -[namelist:jules_pftparm=ci_st_io] -compulsory=true -description=Leaf-internal CO2 concentration (Pa) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO10 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::ci_st_io - -[namelist:jules_pftparm=deact_jmax_io] -compulsory=true -description=Deactivation energy for temperature response of Jmax -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO20 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::deact_jmax_io - -[namelist:jules_pftparm=deact_vcmax_io] -compulsory=true -description=Deactivation energy for temperature response of Vcmax -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO20 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::deact_vcmax_io - -[namelist:jules_pftparm=dfp_dcuo_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO11 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::dfp_dcuo_io - -[namelist:jules_pftparm=dgl_dm_io] -compulsory=true -description=Rate of change of leaf turnover rate with moisture availability -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::dgl_dm_io - -[namelist:jules_pftparm=dgl_dt_io] -compulsory=true -description=Rate of change of leaf turnover rate with temperature (K-1) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::dgl_dt_io - -[namelist:jules_pftparm=dqcrit_io] -compulsory=true -description=Critical humidity deficit (kg H2O per kg air) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO21a -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::dqcrit_io - -[namelist:jules_pftparm=ds_jmax_io] -compulsory=true -description=Entropy factor for temperature response of Jmax -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO20a -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::ds_jmax_io - -[namelist:jules_pftparm=ds_vcmax_io] -compulsory=true -description=Entropy factor for temperature response of Vcmax -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO20a -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::ds_vcmax_io - -[namelist:jules_pftparm=dust_veg_scj_io] -compulsory=true -description=Dust emissions scaling factor for each pft type - =NOT APPLICABLE TO STANDALONE -fail-if=len(this) != namelist:jules_surface_types=npft -help=This is applied when dust_veg_emiss is non-zero and - =allows the dust emission from different plant functional - =types to be reduced/switched off. -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -range=0: -sort-key=Panel-HOX -type=real - -[namelist:jules_pftparm=dz0v_dh_io] -compulsory=true -description=Rate of change of vegetation roughness length for momentum with height -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::dz0v_dh_io - -[namelist:jules_pftparm=emis_pft_io] -compulsory=true -description=Surface emissivity -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Radiation parameters -range=0:1 -sort-key=Panel-HR04 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::emis_pft_io - -[namelist:jules_pftparm=eta_sl_io] -compulsory=true -description=Live stemwood coefficient (kg C/m/LAI) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::eta_sl_io - -[namelist:jules_pftparm=f0_io] -compulsory=true -description=CI / CA for DQ = 0 -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO21a -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::f0_io - -[namelist:jules_pftparm=fd_io] -compulsory=true -description=Scale factor for dark respiration -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::fd_io - -[namelist:jules_pftparm=fef_bc_io] -compulsory=true -description=Black carbon (BC) emission factor from natural fires (INFERNO) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -range=0: -sort-key=Panel-HO16 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::fef_bc_io - -[namelist:jules_pftparm=fef_c2h4_io] -compulsory=true -description=Ethene (C2H4) emission factor from natural fires (INFERNO) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -range=0: -sort-key=Panel-HO16 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::fef_c2h4_io - -[namelist:jules_pftparm=fef_c2h6_io] -compulsory=true -description=Ethane (C2H6) emission factor from natural fires (INFERNO) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -range=0: -sort-key=Panel-HO16 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::fef_c2h6_io - -[namelist:jules_pftparm=fef_c3h8_io] -compulsory=true -description=Propane (C3H8) emission factor from natural fires (INFERNO) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -range=0: -sort-key=Panel-HO16 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::fef_c3h8_io - -[namelist:jules_pftparm=fef_ch4_io] -compulsory=true -description=Methane (CH4) emission factor from natural fires (INFERNO) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -range=0: -sort-key=Panel-HO16 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::fef_ch4_io - -[namelist:jules_pftparm=fef_co2_io] -compulsory=true -description=Carbon dioxide (CO2) emission factor from natural fires (INFERNO) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -range=0: -sort-key=Panel-HO16 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::fef_co2_io - -[namelist:jules_pftparm=fef_co_io] -compulsory=true -description=Carbon monoxide (CO) emission factor from natural fires (INFERNO) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -range=0: -sort-key=Panel-HO16 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::fef_co_io - -[namelist:jules_pftparm=fef_dms_io] -compulsory=true -description=Dimethyl sulfide (DMS) emission factor from natural fires (INFERNO) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -range=0: -sort-key=Panel-HO16 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::fef_dms_io - -[namelist:jules_pftparm=fef_hcho_io] -compulsory=true -description=Formaldehyde (HCHO) emission factor from natural fires (INFERNO) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -range=0: -sort-key=Panel-HO16 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::fef_hcho_io - -[namelist:jules_pftparm=fef_mecho_io] -compulsory=true -description=Acetaldehyde (MeCHO) emission factor from natural fires (INFERNO) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -range=0: -sort-key=Panel-HO16 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::fef_mecho_io - -[namelist:jules_pftparm=fef_nh3_io] -compulsory=true -description=Ammonia (NH3) emission factor from natural fires (INFERNO) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -range=0: -sort-key=Panel-HO16 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::fef_nh3_io - -[namelist:jules_pftparm=fef_nox_io] -compulsory=true -description=Nitrogen oxides (NOx) emission factor from natural fires (INFERNO) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -range=0: -sort-key=Panel-HO16 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::fef_nox_io - -[namelist:jules_pftparm=fef_oc_io] -compulsory=true -description=Organic carbon (OC) emission factor from natural fires (INFERNO) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -range=0: -sort-key=Panel-HO16 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::fef_oc_io - -[namelist:jules_pftparm=fef_so2_io] -compulsory=true -description=Sulphur dioxide (SO2) emission factor from natural fires (INFERNO) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -range=0: -sort-key=Panel-HO16 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::fef_so2_io - -[namelist:jules_pftparm=fire_mort_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -range=0:1 -sort-key=Panel-HO16 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::fire_mort_io - -[namelist:jules_pftparm=fl_o3_ct_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO11 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::fl_o3_ct_io - -[namelist:jules_pftparm=fsmc_mod_io] -compulsory=true -description=Switch for method of weighting the contribution that different soil layers make to the soil moisture - =availability factor fsmc -fail-if=len(this) != namelist:jules_surface_types=npft; - =namelist:jules_soil_biogeochem=l_layeredc == '.true.' and namelist:jules_soil_biogeochem=soil_bgc_model == '2' and any(this == 1); # fsmc_mod=1 cannot be used with layered 4-pool soil C model -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO05 -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::fsmc_mod_io -value-titles=weight water stress in layers by root fraction, use average root zone properties -values=0,1 - -[namelist:jules_pftparm=fsmc_of_io] -compulsory=true -description=Moisture availability below which leaves are dropped -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::fsmc_of_io - -[namelist:jules_pftparm=g1_stomata_io] -compulsory=true -description=Parameter g1 of the Medlyn et al. (2011) model of stomatal conductance. -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO21b -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::g1_stomata_io - -[namelist:jules_pftparm=g_leaf_0_io] -compulsory=true -description=Minimum turnover rate for leaves (/360days) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::g_leaf_0_io - -[namelist:jules_pftparm=glmin_io] -compulsory=true -description=Minimum leaf conductance for H2O (m s-1) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::glmin_io - -[namelist:jules_pftparm=gpp_st_io] -compulsory=true -description=Gross primary production (GPP) at standard conditions (kgC m-2 s-1 ) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO10 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::gpp_st_io - -[namelist:jules_pftparm=gsoil_f_io] -compulsory=true -description=Soil evaporation enhancement factor -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::gsoil_f_io - -[namelist:jules_pftparm=hw_sw_io] -compulsory=true -description=Ratio of N in heartwood:stemwood with trait physiology. -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO07 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::hw_sw_io - -[namelist:jules_pftparm=ief_io] -compulsory=true -description=Isoprene emission factor per PFT (µgC g-1 h-1) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO10 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::ief_io - -[namelist:jules_pftparm=infil_f_io] -compulsory=true -description=Infiltration enhancement factor -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::infil_f_io - -[namelist:jules_pftparm=jv25_ratio_io] -compulsory=true -description=Ratio of Jmax to Vcmax at 25 degC. -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO20 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::jv25_ratio_io - -[namelist:jules_pftparm=kn_io] -compulsory=true -description=Decay of nitrogen through the canopy for canopy radiation models 4-5 -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::kn_io - -[namelist:jules_pftparm=kpar_io] -compulsory=true -description=PAR Extinction coefficient (m2 leaf / m2 ground) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::kpar_io - -[namelist:jules_pftparm=lai_alb_lim_io] -compulsory=true -description=Minimum LAI for plant canopies in the absence of snow. -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Radiation parameters -sort-key=Panel-HR02 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::lai_alb_lim_io - -[namelist:jules_pftparm=lai_io] -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO02 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::lai_io - -[namelist:jules_pftparm=lma_io] -compulsory=true -description=Leaf mass per unit area (kgLeaf m-2) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO07 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::lma_io - -[namelist:jules_pftparm=mef_io] -compulsory=true -description=Methanol emission factor per PFT (µgC g-1 h-1) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO10 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::mef_io - -[namelist:jules_pftparm=neff_io] -compulsory=true -description=Scale factor relating Vcmax with leaf nitrogen concentration -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::neff_io - -[namelist:jules_pftparm=nl0_io] -compulsory=true -description=Top leaf nitrogen concentration (kg N/kg C) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::nl0_io - -[namelist:jules_pftparm=nmass_io] -compulsory=true -description=Top leaf nitrogen content per unit mass (kgN kgLeaf-1) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO07 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::nmass_io - -[namelist:jules_pftparm=nr_io] -compulsory=true -description=Root nitrogen concentration with trait physiology -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO07 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::nr_io - -[namelist:jules_pftparm=nr_nl_io] -compulsory=true -description=Ratio of root nitrogen concentration to leaf nitrogen concentration -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::nr_nl_io - -[namelist:jules_pftparm=ns_nl_io] -compulsory=true -description=Ratio of stem nitrogen concentration to leaf nitrogen concentration -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::ns_nl_io - -[namelist:jules_pftparm=nsw_io] -compulsory=true -description=Stemwood nitrogen concentration with trait physiology. -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO07 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::nsw_io - -[namelist:jules_pftparm=omegal_io] -compulsory=true -description=Lower limit on omega_io -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Radiation parameters -range=0:1 -sort-key=Panel-HR03 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::omegal_io - -[namelist:jules_pftparm=omegau_io] -compulsory=true -description=Upper limit on omega_io(kgLeaf m-2) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Radiation parameters -range=0:1 -sort-key=Panel-HR03 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::omegau_io - -[namelist:jules_pftparm=omnirl_io] -compulsory=true -description=Lower limit on omnir_io -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Radiation parameters -range=0:1 -sort-key=Panel-HR03 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::omnirl_io - -[namelist:jules_pftparm=omniru_io] -compulsory=true -description=Upper limit on omnir_io -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Radiation parameters -range=0:1 -sort-key=Panel-HR03 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::omniru_io - -[namelist:jules_pftparm=orient_io] -compulsory=true -description=Flag indicating leaf angle distribution -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Radiation parameters -sort-key=Panel-HR01 -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::orient_io -value-titles=Spherical,Horizontal -values=0,1 - -[namelist:jules_pftparm=psi_close_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO19 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::psi_close_io - -[namelist:jules_pftparm=psi_open_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO19 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::psi_open_io - -[namelist:jules_pftparm=q10_leaf_io] -compulsory=true -description=Q10 factor for plant respiration -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::q10_leaf_io - -[namelist:jules_pftparm=r_grow_io] -compulsory=true -description=Growth respiration fraction -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::r_grow_io - -[namelist:jules_pftparm=rootd_ft_io] -compulsory=true -description=Root depth (m) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::rootd_ft_io - -[namelist:jules_pftparm=sigl_io] -compulsory=true -description=Specific density of leaf carbon (kg C/m2 leaf) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::sigl_io - -[namelist:jules_pftparm=sox_a_io] -compulsory=true -description=The shape parameter in the xylem vulnerability curve -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO21c -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::sox_a_io - -[namelist:jules_pftparm=sox_p50_io] -compulsory=true -description=Xylem water potential at which xylem hydraulic conductance is half its maximum value. (MPa) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO21c -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::sox_p50_io - -[namelist:jules_pftparm=sox_rp_min_io] -compulsory=true -description=Plant minimum hydraulic resistance. (m2 s MPa/mol) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO21c -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::sox_rp_min_io - -[namelist:jules_pftparm=sug_g0_io] -compulsory=true -description=Specific structural carbon production rate (kgC m-2 s-1) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO22 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::sug_g0_io - -[namelist:jules_pftparm=sug_grec_io] -compulsory=true -description=Specific structural carbon recycling rate (kgC m-2 s-1) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO22 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::sug_grec_io - -[namelist:jules_pftparm=sug_yg_io] -compulsory=true -description=Growth yield for SUGAR model -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO22 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::sug_yg_io - -[namelist:jules_pftparm=tef_io] -compulsory=true -description=(Mono-)Terpene emission factor per PFT (µgC g-1 h-1) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO10 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::tef_io - -[namelist:jules_pftparm=tleaf_of_io] -compulsory=true -description=Temperature below which leaves are dropped (K) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::tleaf_of_io - -[namelist:jules_pftparm=tlow_io] -compulsory=true -description=Lower temperature for photosynthesis (deg C) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::tlow_io - -[namelist:jules_pftparm=tupp_io] -compulsory=true -description=Upper temperature for photosynthesis (deg C) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::tupp_io - -[namelist:jules_pftparm=vint_io] -compulsory=true -description=Intercept in VCMAX and NAREA -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO07 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::vint_io - -[namelist:jules_pftparm=vsl_io] -compulsory=true -description=Slope in VCMAX and NAREA -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HO07 -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::vsl_io - -[namelist:jules_pftparm=z0hm_classic_pft_io] -compulsory=true -description=Ratio of the roughness length for heat to the roughness length for momentum for the CLASSIC aerosol - =scheme only - =NOT APPLICABLE TO STANDALONE -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -ns=namelist/JULES Science Settings/jules_pftparm/Other parameters -sort-key=Panel-HOX -type=real -url=https://metoffice.github.io/jules/latest/namelists/pft_params.nml.html#JULES_PFTPARM::z0hm_classic_pft_io - -[namelist:jules_prescribed] -compulsory=true -ns=namelist/Prescribed data -sort-key=09 -url=https://metoffice.github.io/jules/latest/namelists/prescribed_data.nml.html#namelist-JULES_PRESCRIBED - -[namelist:jules_prescribed=n_datasets] -compulsory=true -range=0: -sort-key=1 -type=integer -url=https://metoffice.github.io/jules/latest/namelists/prescribed_data.nml.html#JULES_PRESCRIBED::n_datasets - -[namelist:jules_prescribed_dataset] -duplicate=true -ns=namelist/Prescribed data/Datasets -url=https://metoffice.github.io/jules/latest/namelists/prescribed_data.nml.html#namelist-JULES_PRESCRIBED_DATASET -widget[rose-config-edit]=pages.PageWithVariableTable --nvar nvars var var_name tpl_name interp - -[namelist:jules_prescribed_dataset=data_end] -compulsory=true -description=End time of the last timestep of data -pattern=\d{4}-\d{2}-\d{2}\s{1}\d{2}:\d{2}:\d{2} -sort-key=02 -type=character -url=https://metoffice.github.io/jules/latest/namelists/prescribed_data.nml.html#JULES_PRESCRIBED_DATASET::data_end - -[namelist:jules_prescribed_dataset=data_period] -compulsory=true -description=Period of the data - = -2 => Annual, -1 => Monthly, > 1 => Period in seconds -range=-2,-1,1: -sort-key=03 -type=integer -url=https://metoffice.github.io/jules/latest/namelists/prescribed_data.nml.html#JULES_PRESCRIBED_DATASET::data_period - -[namelist:jules_prescribed_dataset=data_start] -compulsory=true -description=Start time of the first timestep of data -pattern=\d{4}-\d{2}-\d{2}\s{1}\d{2}:\d{2}:\d{2} -sort-key=01 -type=character -url=https://metoffice.github.io/jules/latest/namelists/prescribed_data.nml.html#JULES_PRESCRIBED_DATASET::data_start - -[namelist:jules_prescribed_dataset=file] -compulsory=true -description=If read_list = TRUE, file to read list of data file names and times from - =If read_list = FALSE, file or file name template for data files -sort-key=07 -type=character -url=https://metoffice.github.io/jules/latest/namelists/prescribed_data.nml.html#JULES_PRESCRIBED_DATASET::file - -[namelist:jules_prescribed_dataset=interp] -compulsory=true -description=Method of time interpolation -fail-if=len(this) != namelist:jules_prescribed_dataset=nvars -length=: -sort-key=12 -url=https://metoffice.github.io/jules/latest/namelists/prescribed_data.nml.html#JULES_PRESCRIBED_DATASET::interp -values='b','c','f','i','nb','nc','nf' - -[namelist:jules_prescribed_dataset=is_climatology] -compulsory=true -description=Data is to be used as a climatology - = Exactly one year of data must be specified -sort-key=04 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/prescribed_data.nml.html#JULES_PRESCRIBED_DATASET::is_climatology - -[namelist:jules_prescribed_dataset=nfiles] -compulsory=true -description=Number of files to read names and start times for -range=0: -sort-key=06 -type=integer -url=https://metoffice.github.io/jules/latest/namelists/prescribed_data.nml.html#JULES_PRESCRIBED_DATASET::nfiles - -[namelist:jules_prescribed_dataset=nvars] -compulsory=true -description=Number of variables that the dataset will provide -range=1: -sort-key=08 -trigger=namelist:jules_prescribed_dataset=var: this > 0; - = namelist:jules_prescribed_dataset=var_name: this > 0; - = namelist:jules_prescribed_dataset=tpl_name: this > 0; - = namelist:jules_prescribed_dataset=interp: this > 0; -type=integer -url=https://metoffice.github.io/jules/latest/namelists/prescribed_data.nml.html#JULES_PRESCRIBED_DATASET::nfiles - -[namelist:jules_prescribed_dataset=prescribed_levels] -description=indices of levels to be prescribed (only implemented for sthuf at the moment) -fail-if=len(this) > namelist:jules_soil=sm_levels; -length=: -sort-key=11 -type=integer -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_PRESCRIBED_DATASET::prescribed_levels - -[namelist:jules_prescribed_dataset=read_list] -compulsory=true -description=Use list of file names with start times -sort-key=05 -trigger=namelist:jules_prescribed_dataset=nfiles: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/prescribed_data.nml.html#JULES_PRESCRIBED_DATASET::read_list - -[namelist:jules_prescribed_dataset=tpl_name] -compulsory=true -description=String to substitute into the file name template -fail-if=len(this) != namelist:jules_prescribed_dataset=nvars -length=: -sort-key=11 -type=character -url=https://metoffice.github.io/jules/latest/namelists/prescribed_data.nml.html#JULES_PRESCRIBED_DATASET::tpl_name - -[namelist:jules_prescribed_dataset=var] -compulsory=true -description=Variable name as recognised by JULES -fail-if=len(this) != namelist:jules_prescribed_dataset=nvars -length=: -sort-key=09 -trigger=namelist:jules_prescribed_dataset=prescribed_levels: this == "'sthuf'"; -type=character -url=https://metoffice.github.io/jules/latest/namelists/prescribed_data.nml.html#JULES_PRESCRIBED_DATASET::var - -[namelist:jules_prescribed_dataset=var_name] -compulsory=true -description=Name of the variable in file -fail-if=len(this) != namelist:jules_prescribed_dataset=nvars; -length=: -sort-key=10 -type=character -url=https://metoffice.github.io/jules/latest/namelists/prescribed_data.nml.html#JULES_PRESCRIBED_DATASET::var_name - -[namelist:jules_prnt_control] -ns=namelist/IO System Settings/jules_prnt_control -title=Print Manager Control -url=https://metoffice.github.io/jules/latest/namelists/jules_prnt_control.nml.html#namelist-JULES_PRNT_CONTROL - -[namelist:jules_prnt_control=prnt_writers] -compulsory=true -description=Selects which tasks in a parallel job will write informative output. -url=https://metoffice.github.io/jules/latest/namelists/jules_prnt_control.nml.html#JULES_PRNT_CONTROL::jules_prnt_control=prnt_writers -value-titles=All tasks write output, - =Only the first task (Task 0) writes output -values=1,2 - -#[namelist:jules_radiation] has moved to jules-shared/jules-radiation -[namelist:jules_radiation=l_cosz] -compulsory=true -description=Calculate solar zenith angle in standalone. - =STANDALONE ONLY: This is not applicable to UM as the solar zenith - =angle is implicitly calculated by the UM. To create an equivalent - =standalone app it must be .true. -sort-key=Panel-BS01 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_radiation.nml.html#JULES_RADIATION::l_cosz - -[namelist:jules_radiation=l_dolr_land_black] -compulsory=true -description=If true, - =do not use the surface emissivity in adjusting the OLR at land points - =HAS NO EFFECT IN STANDALONE -sort-key=Panel-BX01 -type=logical - -[namelist:jules_radiation=l_embedded_snow] -compulsory=true -description=Use embedded canopy snow albedo scheme. -fail-if=this == '.true.' and namelist:jules_radiation=l_spec_albedo != '.true.'; # If l_embedded_snow = T then l_spec_albedo must also be T - =this == '.true.' and namelist:jules_radiation=l_snow_albedo == '.true.'; # Embedded canopy snow albedo model is exclusive of l_snow_albedo. -sort-key=Panel-B02a -trigger=namelist:jules_snow=can_clump: .true.; - =namelist:jules_snow=n_lai_exposed: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_radiation.nml.html#JULES_RADIATION::l_embedded_snow - -[namelist:jules_radiation=l_mask_snow_orog] -compulsory=true -description=Include orographic masking of snow. -sort-key=Panel-B06 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_radiation.nml.html#JULES_RADIATION::l_mask_snow_orog - -[namelist:jules_radiation=l_sea_alb_var_chl] -fail-if=this == '.true.' and namelist:jules_model_environment=l_jules_parent == 0; # This is not currently available to standalone. - -[namelist:jules_radiation=l_snow_albedo] -compulsory=true -description=Include prognostic snow albedos. -fail-if=this == '.true.' and namelist:jules_radiation=l_spec_albedo == '.false.' # Prognostic snow albedo can only be used when l_spec_albedo=T -sort-key=Panel-B02 -# Only available when namelist:jules_radiation=l_spec_albedo is true, however it is not trigger-ignored as the trigger cascade results in albsnc not being available when namelist:jules_radiation=l_spec_albedo is false. -trigger=namelist:jules_snow=r0: .true.; - =namelist:jules_snow=rmax: .true.; - =namelist:jules_snow=snow_ggr: .true.; - =namelist:jules_snow=amax: .true.; - =namelist:jules_snow=dtland: .false.; - =namelist:jules_snow=kland_numerator: .false.; - =namelist:jules_pftparm=albsnc_max_io: .false.; - =namelist:jules_pftparm=albsnc_min_io: .false.; - =namelist:jules_nvegparm=albsnc_nvg_io: .false.; - =namelist:jules_radiation=l_embedded_snow: .false.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_radiation.nml.html#JULES_RADIATION::l_snow_albedo - -[namelist:jules_radiation=l_spec_albedo] -compulsory=true -description=Include spectral land-surface albedos -sort-key=Panel-B02 -trigger=namelist:jules_radiation=l_spec_alb_bs: .true.; - =namelist:jules_radiation=l_niso_direct: .true.; - =namelist:jules_pftparm=albsnf_max_io: .false.; - =namelist:jules_radiation=l_embedded_snow: .true.; -# =namelist:jules_radiation=l_snow_albedo: .true.; # Remove l_snow_albedo as triggers albsnc to be ignored too. So will need to rely on fail-if and code checks. -# Removed triggers for alpar_io, alnir_io, omega_io & omnir_io as these actually appear to be required unless can_rad_mod=1 and l_spec_albedo=F. -# =namelist:jules_pftparm=alpar_io: .true.; -# =namelist:jules_pftparm=alnir_io: .true.; -# =namelist:jules_pftparm=omega_io: .true.; -# =namelist:jules_pftparm=omnir_io: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_radiation.nml.html#JULES_RADIATION::l_spec_albedo - -[namelist:jules_radiation=l_spec_sea_alb] -compulsory=true -description=Use spectrally varying open sea albedos -sort-key=Panel-B05c -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_radiation.nml.html#JULES_RADIATION::l_spec_sea_alb - -[namelist:jules_radiation=wght_alb] -compulsory=true -description=Weights for disaggregation of SW flux in the standard order VIS direct, VIS diffuse, NIR direct, NIR diffuse -length=4 -sort-key=Panel-BR01 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_surface.nml.html#JULES_RADIATION::wght_alb - -[namelist:jules_red] -compulsory=true -description=All parameters in this section are required to use the Robust Ecosystem Demography - = calculation. - = - =Click on names for more details - = -ns=namelist/JULES Science Settings/jules_red -sort-key=10 -title=RED PFT parameters -url=https://metoffice.github.io/jules/latest/namelists/red_params.nml.html#namelist-JULES_RED - -[namelist:jules_red=alpha_recrt] -compulsory=true -description=The fraction of PFT carbon assimilate devoted to reproduction -fail-if=len(this) != (namelist:jules_surface_types=npft) -length=: -sort-key=PANEL-I02da -type=real -url=https://metoffice.github.io/jules/latest/namelists/red_params.nml.html#JULES_RED::alpha_recrt - -[namelist:jules_red=crwn_area0] -compulsory=true -description=The lowest PFT crown area, value corresponds to the mass0 class (m2) -fail-if=len(this) != (namelist:jules_surface_types=npft) -length=: -sort-key=PANEL-I02db -type=real -url=https://metoffice.github.io/jules/latest/namelists/red_params.nml.html#JULES_RED::crwn_area0 - -[namelist:jules_red=dom_order] -compulsory=true -description=The value that describes the competitive hierarchy of PFTs competition in - =JULES-RED, the higher the value the more dominant. -fail-if=len(this) != (namelist:jules_surface_types=npft) -length=: -sort-key=PANEL-I02dc -type=integer -url=https://metoffice.github.io/jules/latest/namelists/red_params.nml.html#JULES_RED::dom_order - -[namelist:jules_red=height0] -compulsory=true -description=The lowest PFT height, value corresponds to the mass0 class (m) -fail-if=len(this) != (namelist:jules_surface_types=npft) -length=: -sort-key=PANEL-I02dd -type=real -url=https://metoffice.github.io/jules/latest/namelists/red_params.nml.html#JULES_RED::height0 - -[namelist:jules_red=lai_bal0] -compulsory=true -description=The lowest PFT balanced LAI, which corresponds to the mass0 class (m2/m2) -fail-if=len(this) != (namelist:jules_surface_types=npft) -length=: -sort-key=PANEL-I02de -type=real -url=https://metoffice.github.io/jules/latest/namelists/red_params.nml.html#JULES_RED::lai_bal0 - -[namelist:jules_red=mass0] -compulsory=true -description=The lowest PFT mass class (kg C) -fail-if=len(this) != (namelist:jules_surface_types=npft) -length=: -sort-key=PANEL-I02df -type=real -url=https://metoffice.github.io/jules/latest/namelists/red_params.nml.html#JULES_RED::mass0 - -[namelist:jules_red=massi] -compulsory=true -description=The highest PFT mass class (kg C) -fail-if=len(this) != (namelist:jules_surface_types=npft) -length=: -sort-key=PANEL-I02dg -type=real -url=https://metoffice.github.io/jules/latest/namelists/red_params.nml.html#JULES_RED::massi - -[namelist:jules_red=mclass] -compulsory=true -description=Number of mass classes for each PFT -fail-if=len(this) != (namelist:jules_surface_types=npft) -length=: -sort-key=PANEL-I02dh -type=integer -url=https://metoffice.github.io/jules/latest/namelists/red_params.nml.html#JULES_RED::mclass - -[namelist:jules_red=mort_base] -compulsory=true -description=The baseline PFT mortality rate (/360 days) -fail-if=len(this) != (namelist:jules_surface_types=npft) -length=: -sort-key=PANEL-I02di -type=real -url=https://metoffice.github.io/jules/latest/namelists/red_params.nml.html#JULES_RED::mort_base - -[namelist:jules_red=phi_a] -compulsory=true -description=The allometric/power scaling of PFT mass to PFT height -fail-if=len(this) != (namelist:jules_surface_types=npft) -length=: -sort-key=PANEL-I02dj -type=real -url=https://metoffice.github.io/jules/latest/namelists/red_params.nml.html#JULES_RED::phi_a - -[namelist:jules_red=phi_g] -compulsory=true -description=The allometric/power scaling of PFT mass to PFT mass growth rate -fail-if=len(this) != (namelist:jules_surface_types=npft) -length=: -sort-key=PANEL-I02dk -type=real -url=https://metoffice.github.io/jules/latest/namelists/red_params.nml.html#JULES_RED::phi_g - -[namelist:jules_red=phi_h] -compulsory=true -description=The allometric/power scaling of PFT mass to PFT height -fail-if=len(this) != (namelist:jules_surface_types=npft) -length=: -sort-key=PANEL-I02dl -type=real -url=https://metoffice.github.io/jules/latest/namelists/red_params.nml.html#JULES_RED::phi_h - -[namelist:jules_red=phi_l] -compulsory=true -description=The allometric/power scaling of PFT mass to PFT leaf area index -fail-if=len(this) != (namelist:jules_surface_types=npft) -length=: -sort-key=PANEL-I02dm -type=real -url=https://metoffice.github.io/jules/latest/namelists/red_params.nml.html#JULES_RED::phi_l - -[namelist:jules_rivers] -compulsory=true -ns=namelist/JULES Science Settings/jules_rivers -sort-key=06 -title=River routing options -url=https://metoffice.github.io/jules/latest/namelists/jules_rivers.nml.html#namelist-JULES_RIVERS - -[namelist:jules_rivers=a_thresh] -compulsory=true -description=The threshold drainage area (specified in number of cells) - = draining to a gridbox above which the gridbox is - = considered to be a river point -sort-key=j -type=integer -url=https://metoffice.github.io/jules/latest/namelists/jules_rivers.nml.html#JULES_RIVERS::a_thresh - -[namelist:jules_rivers=cbland] -compulsory=true -description=The subsurface land wave speed (kinematic wave speed for subsurface flow in a land grid box on the river routing grid, m s-1) -range=this>0 -sort-key=f -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_rivers.nml.html#JULES_RIVERS::cbland - -[namelist:jules_rivers=cbriver] -compulsory=true -description=The subsurface river wave speed (kinematic wave speed for subsurface flow in a river grid box on the river routing grid, m s-1) -range=this>0 -sort-key=g -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_rivers.nml.html#JULES_RIVERS::cbriver - -[namelist:jules_rivers=cland] -compulsory=true -description=The land wave speed (kinematic wave speed for surface flow in a land grid box on the river routing grid, m s-1) -range=this>0 -sort-key=d -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_rivers.nml.html#JULES_RIVERS::cland - -[namelist:jules_rivers=criver] -compulsory=true -description=The river wave speed (kinematic wave speed for surface flow in a river grid box on the river routing grid, m s-1) -range=this>0 -sort-key=e -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_rivers.nml.html#JULES_RIVERS::criver - -[namelist:jules_rivers=i_river_vn] -compulsory=true -description=Routing algorithm to use -fail-if=this == 1 and namelist:jules_model_environment=l_jules_parent == 0; # UM_TRIP is not compatible with standalone. - =(this !=1 and this !=2) and namelist:jules_model_environment=l_jules_parent == 1; # UM_TRIP and RFM are the only options compatible with the UM. -sort-key=b -trigger=namelist:jules_rivers=cland: 2; - = namelist:jules_rivers=criver: 2; - = namelist:jules_rivers=cbland: 2; - = namelist:jules_rivers=cbriver: 2; - = namelist:jules_rivers=retl: 2; - = namelist:jules_rivers=retr: 2; - = namelist:jules_rivers=a_thresh: 2; - = namelist:jules_rivers=runoff_factor: 2; - = namelist:jules_rivers=rivers_speed: 1,3; - = namelist:jules_rivers=rivers_meander: 1,3; - = namelist:jules_rivers_props=l_use_area: 2; - = namelist:jules_rivers=lake_water_conserve_method: 1; - = namelist:jules_rivers=trip_globe_shape: 1; -url=https://metoffice.github.io/jules/latest/namelists/jules_rivers.nml.html#JULES_RIVERS::i_river_vn -value-titles=RFM,TRIP -values=2,3 -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_rivers=l_riv_overbank] -compulsory=true -description=Enable overbank inundation -fail-if=this == '.true.' and namelist:jules_model_environment=l_jules_parent != 0; # Overbank inundation is not available to the UM or OASIS. -sort-key=n -trigger=namelist:jules_overbank=overbank_model: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_rivers.nml.html#JULES_RIVERS::l_riv_overbank - -[namelist:jules_rivers=l_rivers] -compulsory=true -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_riv_overbank: .true.; - = namelist:jules_overbank: .true.; - = namelist:jules_rivers_props: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_rivers.nml.html#JULES_RIVERS::l_rivers - -[namelist:jules_rivers=lake_water_conserve_method] -compulsory=true -description=Selects different fields for use in water conservation of lake evaporation -fail-if=this > 0 and namelist:jules_rivers=i_river_vn > 1; # lake_water_conserve_method is not compatible with standalone rivers -url=https://metoffice.github.io/jules/latest/namelists/jules_rivers.nml.html#JULES_RIVERS::lake_water_conserve_method -value-titles=Use fqw_surft,Use elake_surft -values=1,2 - -[namelist:jules_rivers=nstep_rivers] -compulsory=true -description=Number of model timesteps per routing timestep -range=1: -sort-key=c -type=integer -url=https://metoffice.github.io/jules/latest/namelists/jules_rivers.nml.html#JULES_RIVERS::nstep_rivers - -[namelist:jules_rivers=retl] -compulsory=true -description=The (resolution dependent) land return flow fraction -range=-1:1 -sort-key=h -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_rivers.nml.html#JULES_RIVERS::retl - -[namelist:jules_rivers=retr] -compulsory=true -description=The (resolution dependent) river return flow fraction -range=-1:1 -sort-key=i -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_rivers.nml.html#JULES_RIVERS::retr - -[namelist:jules_rivers=rivers_meander] -compulsory=true -description=Ratio of the actual to calculated river lengths in a river routing gridbox -range=this>0 -sort-key=m -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_rivers.nml.html#JULES_RIVERS::rivers_meander - -[namelist:jules_rivers=rivers_speed] -compulsory=true -description=The effective river velocity (m/s) -range=this>0 -sort-key=l -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_rivers.nml.html#JULES_RIVERS::rivers_speed - -[namelist:jules_rivers=runoff_factor] -compulsory=true -description=A runoff volume factor (recommended setting=1) -range=this>0 -sort-key=k -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_rivers.nml.html#JULES_RIVERS::runoff_factor - -[namelist:jules_rivers=trip_globe_shape] -compulsory=true -description=The shape of the Earth in the TRIP river routing scheme -sort-key=j -url=https://metoffice.github.io/jules/latest/namelists/jules_rivers.nml.html#JULES_RIVERS::trip_globe_shape -value-titles=Spherical,Ellipsoidal -values=1,2 - -[namelist:jules_rivers_props] -compulsory=true -description=Configuration of spatially varying rivers properties including inundation -ns=namelist/Ancillary data/Rivers properties -sort-key=24 -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#namelist-JULES_RIVERS_PROPS -widget[rose-config-edit]=pages.PageWithVariableTable --nvar nvars var use_file is_climatology var_name tpl_name const_val - -[namelist:jules_rivers_props=const_val] -compulsory=true -description=Constant value for all points (used if use_file = .false.) -fail-if=len(this) != namelist:jules_rivers_props=nvars -length=: -sort-key=7 -type=real -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_RIVERS_PROPS::const_val - -[namelist:jules_rivers_props=coordinate_file] -compulsory=true -description=File from which to read river routing coordinates (if templating is used or reading a list of files) -fail-if='%vv' in this; # Coordinate file cannot contain variable name template. -sort-key=17b -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_RIVERS_PROPS::coordinate_file - -[namelist:jules_rivers_props=file] -compulsory=true -description=If read_list = TRUE, file to read list of file names - =If read_list = FALSE, file or file name template - =from which to read river routing & overbank indunation properties. -fail-if='%vv' in this and namelist:jules_rivers_props=coordinate_file == "''"; # If variable name templating is used, the file to read coordinates from must be specified. -sort-key=17 -trigger=namelist:jules_rivers_props=tpl_name: '%vv' in this; - =namelist:jules_rivers_props=read_list: '%vv' not in this; -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_RIVERS_PROPS::file - -[namelist:jules_rivers_props=is_climatology] -compulsory=true -description=Indicate whether the file specified is a 12-month climatology -length=: -sort-key=4 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_RIVERS_PROPS::is_climatology - -[namelist:jules_rivers_props=l_find_grid] -compulsory=true -description=Switch to control specification of the land and river grids -sort-key=17b -trigger=namelist:jules_rivers_props=nx_land_grid: .false.; - =namelist:jules_rivers_props=ny_land_grid: .false.; - =namelist:jules_rivers_props=x1_land_grid: .false.; - =namelist:jules_rivers_props=y1_land_grid: .false.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_RIVERS_PROPS::l_find_grid - -[namelist:jules_rivers_props=l_use_area] -compulsory=true -description=Switch to use a drainage area ancillary field to identify river points -sort-key=17c -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_RIVERS_PROPS::l_use_area - -[namelist:jules_rivers_props=land_dx] -compulsory=true -description=x coordinate spacing of 2D regular grid containing the model input grid -range=this>0 -sort-key=14 -type=real -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_RIVERS_PROPS::land_dx - -[namelist:jules_rivers_props=land_dy] -compulsory=true -description=y coordinate spacing of 2D regular containing the model input grid -range=this>0 -sort-key=15 -type=real -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_RIVERS_PROPS::land_dy - -[namelist:jules_rivers_props=nvars] -compulsory=true -description=Number of river routing properties that will be given -sort-key=18 -trigger=namelist:jules_rivers_props=var: this > 0; - = namelist:jules_rivers_props=use_file: this > 0; -type=integer -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_RIVERS_PROPS::nvars - -[namelist:jules_rivers_props=nx_land_grid] -compulsory=true -description=Size of the x dimension of the 2D regular lat/lon grid containing the model input grid -range=1: -sort-key=10 -type=integer -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_RIVERS_PROPS::nx_land_grid - -[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.' -range=2: -sort-key=07 -type=integer -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_RIVERS_PROPS::nx_rivers - -[namelist:jules_rivers_props=ny_land_grid] -compulsory=true -description=Size of the y dimension of the 2D regular lat/lon grid containing the model input grid -range=1: -sort-key=11 -type=integer -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_RIVERS_PROPS::ny_land_grid - -[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.' -range=2: -sort-key=08 -type=integer -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_RIVERS_PROPS::ny_rivers - -[namelist:jules_rivers_props=read_list] -compulsory=true -description=Use list of file names; one per line for each of nvars. -fail-if=this == '.true.' and '%vv' in namelist:jules_rivers_props=file; # Cannot use variable name templating while reading a list of files. - =this == '.true.' and namelist:jules_rivers_props=coordinate_file == "''"; # If reading a list of files, the file to read coordinates from must be specified. - =this == '.true.' and namelist:jules_rivers_props=file == "''"; # If reading a list of files, there has to be a file specified to read. -sort-key=17a -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_RIVERS_PROPS::read_list - -[namelist:jules_rivers_props=rivers_length] -compulsory=true -description=Constant size of the rivers grid (m) -sort-key=16 -type=real -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_RIVERS_PROPS::rivers_length - -[namelist:jules_rivers_props=rivers_regrid] -compulsory=true -description=Regridding is required between land and river routing grids -fail-if=this == '.true.' and namelist:jules_latlon=l_coord_latlon == '.false.'; # Regridding is only available for lat-lon grids -sort-key=09 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_RIVERS_PROPS::rivers_regrid - -[namelist:jules_rivers_props=tpl_name] -compulsory=true -description=String to substitute into the file name template (used if use_file = .true.) -fail-if=len(this) != namelist:jules_rivers_props=nvars -length=: -sort-key=6 -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_RIVERS_PROPS::tpl_name - -[namelist:jules_rivers_props=use_file] -compulsory=true -description=Read variable from file -fail-if=len(this) != namelist:jules_rivers_props=nvars -length=: -sort-key=4 -trigger=namelist:jules_rivers_props=file: any(this == '.true.'); - = namelist:jules_rivers_props=var_name: any(this == '.true.'); - = namelist:jules_rivers_props=const_val: not all(this == '.true.'); - = namelist:jules_rivers_props=is_climatology: any(this == '.true.'); -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_RIVERS_PROPS::use_file - -[namelist:jules_rivers_props=var] -compulsory=true -description=Name of the river routing variable, as recognised by JULES -fail-if=len(this) != namelist:jules_rivers_props=nvars -length=: -sort-key=3 -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_RIVERS_PROPS::var -values='area','direction','sequence','latitude_2d','longitude_2d', - ='rivers_outflow_number','logn_mean','logn_stdev','rivers_storage' - -[namelist:jules_rivers_props=var_name] -compulsory=true -description=Name in file (used if use_file = .true.) -fail-if=len(this) != namelist:jules_rivers_props=nvars -length=: -sort-key=5 -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_RIVERS_PROPS::var_name - -[namelist:jules_rivers_props=x1_land_grid] -compulsory=true -description=x coordinate of gridpoint in lower-left corner of 2D regular grid containing the model input grid -sort-key=12 -type=real -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_RIVERS_PROPS::x1_land_grid - -[namelist:jules_rivers_props=x_dim_name] -compulsory=true -description=Name of the x dimension of the river routing grid -sort-key=05 -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_RIVERS_PROPS::x_dim_name - -[namelist:jules_rivers_props=y1_land_grid] -compulsory=true -description=y coordinate of gridpoint in lower-left corner of 2D regular grid containing the model input grid -sort-key=13 -type=real -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_RIVERS_PROPS::y1_land_grid - -[namelist:jules_rivers_props=y_dim_name] -compulsory=true -description=Name of the y dimension of the river routing grid -sort-key=06 -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_RIVERS_PROPS::y_dim_name - -#[namelist:jules_snow] has moved to jules-shared/jules-snow -[namelist:jules_snow=a_snow_et] -compulsory=true -description=Constant in Parametrization of equitemperature metamorphism -ns=namelist/JULES Science Settings/jules_snow/Other parameters -sort-key=Panel-D14a -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::a_snow_et - -[namelist:jules_snow=aicemax] -compulsory=true -description=Maximum albedos (VIS and NIR) for bare ice -length=2 -ns=namelist/JULES Science Settings/jules_snow/Radiation parameters -range=0.01:0.99 -sort-key=Panel-D08 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::aicemax - -[namelist:jules_snow=amax] -compulsory=false -description=Maximum albedos (VIS and NIR) for fresh snow -length=2 -ns=namelist/JULES Science Settings/jules_snow/Radiation parameters -sort-key=Panel-D06 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::amax - -[namelist:jules_snow=b_snow_et] -compulsory=true -description=Constant in Parametrization of equitemperature metamorphism -ns=namelist/JULES Science Settings/jules_snow/Other parameters -sort-key=Panel-D14a -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::b_snow_et - -[namelist:jules_snow=c_snow_et] -compulsory=true -description=Constant in Parametrization of equitemperature metamorphism -ns=namelist/JULES Science Settings/jules_snow/Other parameters -sort-key=Panel-D14a -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::c_snow_et - -[namelist:jules_snow=dtland] -compulsory=false -description=Degrees Celsius below zero at which snow albedo equals cold deep snow albedo -ns=namelist/JULES Science Settings/jules_snow/Radiation parameters -sort-key=Panel-D07 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::dtland - -[namelist:jules_snow=dzsnow] -compulsory=true -description=Prescribed thickness of each snow layer (m) when the multilayer scheme is enabled. -fail-if=len(this) != namelist:jules_snow=nsmax; # A value must be given for each snow layer -length=: -sort-key=Panel-D01a -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::dzsnow - -[namelist:jules_snow=frac_snow_subl_melt] -compulsory=true -description=Switch for use of snow-cover fraction in the calculation of sublimation and melting -sort-key=Panel-D03 -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::frac_snow_subl_melt -value-titles=Off,On -values=0,1 -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_snow=graupel_options] -compulsory=true -description=Switch for treatment of graupel in the snow scheme -sort-key=Panel-D04 -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::graupel_options -value-titles=Include graupel as snowfall,Ignore graupel in the surface snowfall, - =Treat graupel separately -values=0,1,2 - -[namelist:jules_snow=i_snow_cond_parm] -compulsory=true -description=Identifier for parametrization of snow conductivity. -ns=namelist/JULES Science Settings/jules_snow/Other parameters -sort-key=Panel-D01d -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::i_snow_cond_parm -value-titles=Yen1981,Calonne2011 -values=0,1 - -[namelist:jules_snow=kland_numerator] -compulsory=false -description=Used in snow-ageing effect on albedo in the diagnostic albedo scheme. -ns=namelist/JULES Science Settings/jules_snow/Radiation parameters -sort-key=Panel-D07 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::kland_numerator - -[namelist:jules_snow=l_et_metamorph] -compulsory=true -description=Switch for the inclusion of equitemperature metamorphism. -ns=namelist/JULES Science Settings/jules_snow/Other parameters -sort-key=Panel-D14 -trigger=namelist:jules_snow=a_snow_et: .true.; - = namelist:jules_snow=b_snow_et: .true.; - = namelist:jules_snow=c_snow_et: .true.; - = namelist:jules_snow=rho_snow_et_crit: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::l_et_metamorph - -[namelist:jules_snow=l_snow_infilt] -compulsory=true -description=Switch to allow the infiltration of rain and canopy melting into the snowpack. -ns=namelist/JULES Science Settings/jules_snow/Other parameters -sort-key=Panel-D15 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::l_snow_infilt - -[namelist:jules_snow=l_snow_nocan_hc] -compulsory=true -description=Switch to ignore heat capacity of the canopy above the snowpack on tiles where a canopy model is not used. -ns=namelist/JULES Science Settings/jules_snow/Other parameters -sort-key=Panel-D16 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::l_snow_nocan_hc - -[namelist:jules_snow=l_snowdep_surf] -compulsory=true -description=Use equivalent canopy snow depth for surface calculations on tiles with a snow canopy -sort-key=Panel-D02 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::l_snowdep_surf - -[namelist:jules_snow=lai_alb_lim_sn] -compulsory=true -description=Minimum LAI applied to plant canopies in the presence of snow to represent stems. -fail-if=len(this) != namelist:jules_surface_types=npft; # A value must be given for each PFT -length=: -ns=namelist/JULES Science Settings/jules_snow/Radiation parameters -sort-key=Panel-D10 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::lai_alb_lim_sn - -[namelist:jules_snow=maskd] -compulsory=false -description=Used in exponent of equation weighting snow-covered and snow-free albedo, sublimation and melting. -ns=namelist/JULES Science Settings/jules_snow/Radiation parameters -sort-key=Panel-D05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::maskd - -[namelist:jules_snow=nsmax] -compulsory=true -description=Maximum number of layers in the snow pack when the mutilayer scheme is enabled. -range=0: -sort-key=Panel-D01 -trigger=namelist:jules_snow=dzsnow: this > 0; - =namelist:jules_snow=rho_snow_fresh: this > 0; - =namelist:jules_snow=snowliqcap: this > 0; - =namelist:jules_snow=i_relayer_opt: this > 0; - =namelist:jules_snow=i_grain_growth_opt: this > 0; - =namelist:jules_snow=i_snow_cond_parm: this > 0; - =namelist:jules_snow=l_snow_nocan_hc: this > 0; -type=integer -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::nsmax - -[namelist:jules_snow=r0] -compulsory=false -description=Grain size for fresh snow (um) -ns=namelist/JULES Science Settings/jules_snow/Radiation parameters -sort-key=Panel-D06 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::r0 - -[namelist:jules_snow=rho_firn_albedo] -compulsory=true -description=Threshold density for the firn albedo parameterisation to replace that for snow -ns=namelist/JULES Science Settings/jules_snow/Radiation parameters -range=0.01:1000. -sort-key=Panel-D08 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::rho_firn_albedo - -[namelist:jules_snow=rho_snow_const] -compulsory=false -description=Constant density of lying snow (kg m-3), used on canopies and for very thin snow. -ns=namelist/JULES Science Settings/jules_snow/Other parameters -sort-key=Panel-D01b -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::rho_snow_const - -[namelist:jules_snow=rho_snow_et_crit] -compulsory=true -description=Constant in Parametrization of equitemperature metamorphism -ns=namelist/JULES Science Settings/jules_snow/Other parameters -sort-key=Panel-D14a -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::rho_snow_et_crit - -[namelist:jules_snow=rmax] -compulsory=false -description=Maximum snow grain size (um) -ns=namelist/JULES Science Settings/jules_snow/Radiation parameters -sort-key=Panel-D06 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::rmax - -[namelist:jules_snow=snow_ggr] -compulsory=false -description=Snow grain area growth rates (um2 s-1) -length=3 -ns=namelist/JULES Science Settings/jules_snow/Radiation parameters -sort-key=Panel-D06 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::snow_ggr - -[namelist:jules_snow=snow_hcap] -compulsory=false -description=Thermal capacity of lying snow (J K-1 m-3) -ns=namelist/JULES Science Settings/jules_snow/Other parameters -sort-key=Panel-D12 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::snow_hcap - -[namelist:jules_snow=snow_hcon] -compulsory=false -description=Default thermal conductivity of lying snow (W m-1 K-1). -ns=namelist/JULES Science Settings/jules_snow/Other parameters -sort-key=Panel-D11 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::snow_hcon - -[namelist:jules_snow=snowinterceptfact] -compulsory=false -description=Constant in relationship between mass of intercepted snow and snowfall rate -ns=namelist/JULES Science Settings/jules_snow/Other parameters -sort-key=Panel-D05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::snowinterceptfact - -[namelist:jules_snow=snowliqcap] -compulsory=false -description=Liquid water holding capacity of lying snow, as a fraction of snow mass -ns=namelist/JULES Science Settings/jules_snow/Other parameters -sort-key=Panel-D01c -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::snowliqcap - -[namelist:jules_snow=snowloadlai] -description=Ratio of maximum canopy snow load to leaf area index (kg m-2) -ns=namelist/JULES Science Settings/jules_snow/Other parameters -sort-key=Panel-D05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::snowloadlai - -[namelist:jules_snow=snowunloadfact] -description=Constant in relationship between canopy snow unloading and canopy snow melt rate -ns=namelist/JULES Science Settings/jules_snow/Other parameters -sort-key=Panel-D05 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::snowunloadfact - -[namelist:jules_snow=unload_rate_cnst] -compulsory=true -description=Constant term in background unloading rate of snow on canopies -fail-if=len(this) != namelist:jules_surface_types=npft; # A value must be given for each PFT -length=: -ns=namelist/JULES Science Settings/jules_snow/Other parameters -sort-key=Panel-D13 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_snow.nml.html#JULES_SNOW::unload_rate_cnst - -#[namelist:jules_soil] has moved to jules-shared/jules-soil -[namelist:jules_soil=confrac] -compulsory=true -description=Fraction of the gridbox assumed to be covered by convective precipitation -range=0.0:1.0 -sort-key=Panel-E10 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil.nml.html#JULES_SOIL::confrac - -[namelist:jules_soil=cs_min] -compulsory=true -description=Minimum allowed soil carbon (kg m-2) -range=0.000001: -sort-key=Panel-E07 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil.nml.html#JULES_SOIL::cs_min - -[namelist:jules_soil=dzdeep] -compulsory=true -description=Thickness of bedrock (m) -range=0.01: -sort-key=Panel-E06d -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil.nml.html#JULES_SOIL::dzdeep - -[namelist:jules_soil=dzsoil_elev] -compulsory=true -description=Depth (m) of tiled bedrock subsurfaces under elevated tiles. -fail-if=this <= 0 ; # Must have positive value -range=0.01: -sort-key=Panel-E12 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil.nml.html#JULES_SOIL::dzsoil_elev - -[namelist:jules_soil=dzsoil_io] -compulsory=true -description=Soil layer depths (m), starting with the uppermost layer -fail-if=len(this) != namelist:jules_soil=sm_levels; # Must have a value for each soil level -length=: -sort-key=Panel-E11 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil.nml.html#JULES_SOIL::dzsoil_io - -[namelist:jules_soil=hcapdeep] -compulsory=true -description=Heat capacity of bedrock (J K-1 m-3) -range=100000:8000000 -sort-key=Panel-E06b -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil.nml.html#JULES_SOIL::hcapdeep - -[namelist:jules_soil=hcondeep] -compulsory=true -description=Thermal conductivity of bedrock (W m-2 K-1) -range=0.4:12.0 -sort-key=Panel-E06c -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil.nml.html#JULES_SOIL::hcondeep - -[namelist:jules_soil=l_bedrock] -compulsory=true -description=Include bedrock below soil column with thermal diffusion; does not include hydrology - =NOT AVAILABLE TO UM -sort-key=Panel-E06 -trigger=namelist:jules_soil=ns_deep: .true.; - = namelist:jules_soil=hcapdeep: .true.; - = namelist:jules_soil=hcondeep: .true.; - = namelist:jules_soil=dzdeep: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_soil.nml.html#JULES_SOIL::l_bedrock - -[namelist:jules_soil=l_broadcast_ancils] -description=Switch to broadcast non-soil tiled ancillary data to all soil tiles (if read from ancil files) -sort-key=Panel-E14a -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_soil.nml.html#JULES_SOIL::l_broadcast_ancils - -[namelist:jules_soil=l_holdwater] -compulsory=true -description=Stops water being pushed out of the soil column when a single layer is supersaturated -sort-key=Panel-E13 -url=https://metoffice.github.io/jules/latest/namelists/jules_soil.nml.html#JULES_SOIL::l_holdwater -value-titles=Bug fixed,Original -values=.true.,.false. -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_soil=l_tile_soil] -compulsory=true -description=Switch to set the number of soil tiles to equal the number of surface tiles -fail-if=this == '.true.' and namelist:jules_model_environment=l_jules_parent == 1; # Not available in the UM -sort-key=Panel-E14 -trigger=namelist:jules_soil=l_broadcast_ancils: .true.; - =namelist:jules_initial=l_broadcast_soilt: .true. -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_soil.nml.html#JULES_SOIL::l_tile_soil - -[namelist:jules_soil=ns_deep] -compulsory=true -description=Number of bedrock layers -range=1: -sort-key=Panel-E06a -type=integer -url=https://metoffice.github.io/jules/latest/namelists/jules_soil.nml.html#JULES_SOIL::ns_deep - -[namelist:jules_soil=sm_levels] -compulsory=true -description=Number of soil layers -range=1: -sort-key=Panel-E01 -type=integer -url=https://metoffice.github.io/jules/latest/namelists/jules_soil.nml.html#JULES_SOIL::sm_levels - -[namelist:jules_soil=soilhc_method] -compulsory=true -description=Choice of soil thermal conductivity model -sort-key=Panel-E05 -url=https://metoffice.github.io/jules/latest/namelists/jules_soil.nml.html#JULES_SOIL::soilhc_method -value-titles=Cox et al (1999),Simplified Johansen (1975),Chadburn et al (2015) -values=1,2,3 -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_soil=zsmc] -compulsory=true -description=Depth of layer over which soil moisture diagnostic is averaged (m) -range=0.01: -sort-key=Panel-E08 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil.nml.html#JULES_SOIL::zsmc - -[namelist:jules_soil=zst] -compulsory=true -description=Depth of layer over which soil temperature diagnostic is averaged (m) -range=0.01: -sort-key=Panel-E09 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil.nml.html#JULES_SOIL::zst - -[namelist:jules_soil_biogeochem] -compulsory=true -ns=namelist/JULES Science Settings/jules_soil_biogeochem -sort-key=07 -title=Soil biogeochemistry options -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#namelist-JULES_SOIL_BIOGEOCHEM - -[namelist:jules_soil_biogeochem=alpha_ch4] -compulsory=true -description=Ratio between maintenance and growth respiration rates for methanogens -range=0.00001:0.1 -sort-key=8i -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::alpha_ch4 - -[namelist:jules_soil_biogeochem=bio_hum_cn] -compulsory=true -description=Bio and Hum Soil Carbon pools CN ratio -range=1:301 -sort-key=g -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::bio_hum_cn - -[namelist:jules_soil_biogeochem=ch4_cpow] -compulsory=true -description=Power of soil carbon used for anaerobic decomposition (default 1, could be 2/3 for organic soils) -range=0.01:5 -sort-key=r -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::ch4_cpow - -[namelist:jules_soil_biogeochem=ch4_substrate] -compulsory=true -description=Choose substrate for interactive methane -sort-key=o -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::ch4_substrate -value-titles=Soil carbon,NPP,Soil respiration -values=1,2,3 -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_soil_biogeochem=const_ch4_cs] -compulsory=true -description=Scale factor for soil carbon substrate CH4 emissions -range=1.0e-14:1.0e-6 -sort-key=2c -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::const_ch4_cs - -[namelist:jules_soil_biogeochem=const_ch4_npp] -compulsory=true -description=Scale factor for NPP substrate CH4 emissions -range=1.0e-5:0.01 -sort-key=2d -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::const_ch4_npp - -[namelist:jules_soil_biogeochem=const_ch4_resps] -compulsory=true -description=Scale factor for soil respiration substrate CH4 emissions -range=1.0e-5:0.01 -sort-key=2e -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::const_ch4_resps - -[namelist:jules_soil_biogeochem=cue_ch4] -compulsory=true -description=Carbon use efficiency of methanogenic growth -range=0.001:0.5 -sort-key=8f -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::cue_ch4 - -[namelist:jules_soil_biogeochem=diff_n_pft] -compulsory=true -description=Inorganic N diffusion in soil (360 days-1) -range=0.1:1500 -sort-key=b2 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::diff_n_pft - -[namelist:jules_soil_biogeochem=ev_ch4] -compulsory=true -description=Timescale over which methanogenic traits adapt to temperature change (yr) -range=0.1:10.0 -sort-key=8j -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::ev_ch4 - -[namelist:jules_soil_biogeochem=frz_ch4] -compulsory=true -description=Factor to reduce CH4 substrate production when soil is sufficiently frozen (only in microbial scheme) -range=0:1 -sort-key=8h -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::frz_ch4 - -[namelist:jules_soil_biogeochem=k2_ch4] -compulsory=true -description=Scale factor for methanogenic respiration rate (hr-1) -range=0.001:0.5 -sort-key=8b -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::k2_ch4 - -[namelist:jules_soil_biogeochem=kaps] -compulsory=true -description=Specific soil respiration rate at 25 degC and optimum soil moisture (s-1) for 1-pool model -range=1.0e-12:1.0e-4 -sort-key=e -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::kaps - -[namelist:jules_soil_biogeochem=kaps_4pool] -compulsory=true -description=Specific soil respiration rates for the four pools of the 4-pool model (s-1) -length=4 -range=1.0e-12:1.0e-4 -sort-key=f -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::kaps_4pool - -[namelist:jules_soil_biogeochem=kd_ch4] -compulsory=true -description=Scale factor for methanogenic death/turnover rate (hr-1) -range=0.000001:0.01 -sort-key=8c -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::kd_ch4 - -[namelist:jules_soil_biogeochem=l_ch4_interactive] -compulsory=true -description=Switch on interactive methane -fail-if=this == '.true.' and namelist:jules_soil_biogeochem=l_ch4_tlayered == '.false.' -sort-key=n -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::l_ch4_interactive -value-titles=Methane flux updates soil C, Methane flux does not update soil C -values=.true.,.false. -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_soil_biogeochem=l_ch4_microbe] -compulsory=true -description=Use microbial methane model - =NOT AVAILABLE TO UM -sort-key=8a -trigger=namelist:jules_soil_biogeochem=k2_ch4: .true.; - =namelist:jules_soil_biogeochem=kd_ch4: .true.; - =namelist:jules_soil_biogeochem=rho_ch4: .true.; - =namelist:jules_soil_biogeochem=q10_mic_ch4: .true.; - =namelist:jules_soil_biogeochem=cue_ch4: .true.; - =namelist:jules_soil_biogeochem=mu_ch4: .true.; - =namelist:jules_soil_biogeochem=frz_ch4: .true.; - =namelist:jules_soil_biogeochem=alpha_ch4: .true.; - =namelist:jules_soil_biogeochem=ev_ch4: .true.; - =namelist:jules_soil_biogeochem=q10_ev_ch4: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::l_ch4_microbe -warn-if=this== '.true.' and namelist:jules_soil_biogeochem=ch4_substrate != 1 # microbial model only tuned for ch4_substrate=1 - -[namelist:jules_soil_biogeochem=l_ch4_tlayered] -compulsory=true -description=Calculate methane emissions from layered soil temperature (vs 1m average) -sort-key=p -trigger=namelist:jules_soil_biogeochem=tau_ch4: .true.; -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::l_ch4_tlayered -value-titles=Use layered soil temperature, Use depth-averaged soil temperature -values=.true.,.false. -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_soil_biogeochem=l_label_frac_cs] -compulsory=true -description=Label and trace a fraction of soil carbon - =NOT AVAILABLE TO UM -sort-key=b1 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::l_label_frac_cs - -[namelist:jules_soil_biogeochem=l_layeredc] -compulsory=true -description=Use layered soil carbon model -fail-if=this == '.true.' and namelist:jules_soil_biogeochem=soil_bgc_model == 3 -sort-key=b -trigger=namelist:jules_soil_biogeochem=tau_resp: .true.; - =namelist:jules_soil_biogeochem=l_label_frac_cs: .true.; - =namelist:jules_soil_biogeochem=diff_n_pft: .true.; - =namelist:jules_soil_biogeochem=z_burn_max: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::l_layeredc - -[namelist:jules_soil_biogeochem=l_q10] -compulsory=true -description=Choose soil decomposition dependence on temperature -sort-key=c -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::l_q10 -value-titles=Q10 temperature function,Clark et al. (2011) temperature function -values=.true.,.false. -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_soil_biogeochem=l_soil_resp_lev2] -compulsory=true -description=Soil respiration calculated using temperature and moisture from layer 2 -sort-key=m -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::l_soil_resp_lev2 -value-titles=Use 2nd soil layer + total moisture content for respiration, Use top soil layer + unfrozen moisture content for respiration -values=.true.,.false. -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_soil_biogeochem=mu_ch4] -compulsory=true -description=Threshold growth rate below which methanogens die (hr-1) -range=0.000001:0.01 -sort-key=8g -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::mu_ch4 - -[namelist:jules_soil_biogeochem=n_inorg_turnover] -compulsory=true -description=Inorganic Nitrogren Turnover rate (360 days-1) -range=0.01:100 -sort-key=i -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::n_inorg_turnover - -[namelist:jules_soil_biogeochem=q10_ch4_cs] -compulsory=true -description=Q10 factor for soil carbon substrate CH4 emissions -range=0.1:10.0 -sort-key=2f -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::q10_ch4_cs - -[namelist:jules_soil_biogeochem=q10_ch4_npp] -compulsory=true -description=Q10 factor for NPP substrate CH4 emissions -range=0.1:10.0 -sort-key=2g -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::q10_ch4_npp - -[namelist:jules_soil_biogeochem=q10_ch4_resps] -compulsory=true -description=Q10 factor for soil respiration substrate CH4 emissions -range=0.1:10.0 -sort-key=2h -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::q10_ch4_resps - -[namelist:jules_soil_biogeochem=q10_ev_ch4] -compulsory=true -description=Q10 for temperature response of methanogenic traits under adaptation -range=0.1:10.0 -sort-key=8k -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::q10_ev_ch4 - -[namelist:jules_soil_biogeochem=q10_mic_ch4] -compulsory=true -description=Q10 factor for methanogens -range=0.1:10.0 -sort-key=8e -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::q10_mic_ch4 - -[namelist:jules_soil_biogeochem=q10_soil] -compulsory=true -description=Q10 factor for soil respiration -range=0.1:10.0 -sort-key=d -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::q10_soil - -[namelist:jules_soil_biogeochem=rho_ch4] -compulsory=true -description=Factor in substrate limitation function (related to half saturation of substrate for methanogenic respiration) -range=1.0:1000.0 -sort-key=8d -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::rho_ch4 - -[namelist:jules_soil_biogeochem=soil_bgc_model] -compulsory=true -description=Choice of soil biogeochemistry model -fail-if=this == 1 and namelist:jules_vegetation=l_triffid == '.true.'; # Can't use 1-pool with TRIFFID - =this == 2 and namelist:jules_vegetation=l_triffid != '.true.'; # Can't use 4-pool soil C without TRIFFID - =this == 3 and namelist:jules_vegetation=l_triffid != '.true.'; # Can't use ECOSSE without TRIFFID -sort-key=a -trigger=namelist:jules_soil_biogeochem=l_q10: 1, 2; - =namelist:jules_soil_biogeochem=q10_soil: 1, 2, 3; - =namelist:jules_soil_biogeochem=l_soil_resp_lev2: 1, 2; - =namelist:jules_soil_biogeochem=kaps: 1; - =namelist:jules_soil_biogeochem=kaps_4pool: 2; - =namelist:jules_soil_biogeochem=sorp: 2; - =namelist:jules_soil_biogeochem=n_inorg_turnover: 2; - =namelist:jules_soil_biogeochem=bio_hum_cn: 2; - =namelist:jules_soil_biogeochem=diff_n_pft: 2; - =namelist:jules_soil_biogeochem=tau_lit: 2, 3; - =namelist:jules_soil_biogeochem=tau_resp: 2; - =namelist:jules_soil_ecosse=l_soil_n: 3; - =namelist:jules_soil_ecosse=depo_nit_frac: 3; - =namelist:jules_soil_ecosse=l_match_layers: 3; - =namelist:jules_soil_ecosse=dt_soilc: 3; - =namelist:jules_soil_ecosse=dz_soilc_io: 3; - =namelist:jules_soil_ecosse=plant_input_profile: 3; - =namelist:jules_soil_ecosse=pi_sfc_depth: 3; - =namelist:jules_soil_ecosse=pi_sfc_frac: 3; - =namelist:jules_soil_ecosse=bacteria_min_frac: 3; - =namelist:jules_soil_ecosse=bacteria_max_frac: 3; - =namelist:jules_soil_ecosse=bacteria_min_frac_ph: 3; - =namelist:jules_soil_ecosse=bacteria_max_frac_ph: 3; - =namelist:jules_soil_ecosse=cn_bacteria: 3; - =namelist:jules_soil_ecosse=cn_fungi: 3; - =namelist:jules_soil_ecosse=decomp_rate: 3; - =namelist:jules_soil_ecosse=decomp_wrate_min_smith: 3; - =namelist:jules_soil_ecosse=decomp_wrate_min_clark: 3; - =namelist:jules_soil_ecosse=decomp_temp_coeff_smith: 3; - =namelist:jules_soil_ecosse=decomp_ph_min: 3; - =namelist:jules_soil_ecosse=decomp_ph_max: 3; - =namelist:jules_soil_ecosse=decomp_ph_rate_min: 3; - =namelist:jules_soil_ecosse=depth_nitrif: 3; - =namelist:jules_soil_ecosse=nitrif_frac_n2o_fc: 3; - =namelist:jules_soil_ecosse=nitrif_frac_gas: 3; - =namelist:jules_soil_ecosse=nitrif_frac_no: 3; - =namelist:jules_soil_ecosse=nitrif_max_factor: 3; - =namelist:jules_soil_ecosse=nitrif_rate: 3; - =namelist:jules_soil_ecosse=nitrif_wrate_min: 3; - =namelist:jules_soil_ecosse=denit50: 3; - =namelist:jules_soil_ecosse=denit_frac_n2_fc: 3; - =namelist:jules_soil_ecosse=denit_nitrate_equal: 3; - =namelist:jules_soil_ecosse=denit_water_coeff: 3; - =namelist:jules_soil_ecosse=denit_bio_factor: 3; - =namelist:jules_soil_ecosse=amm_leach_min: 3; - =namelist:jules_soil_ecosse=n_inorg_max_conc: 3; - =namelist:jules_soil_ecosse=l_driver_ave: 3; - =namelist:jules_soil_ecosse=l_decomp_slow: 3; - =namelist:jules_soil_ecosse=temp_modifier: 3; - =namelist:jules_soil_ecosse=water_modifier: 3; - =namelist:jules_soil_ecosse=dim_cslayer: 3; -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::soil_bgc_model -value-titles=Single pool model,4-pool model,ECOSSE -values=1,2,3 -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_soil_biogeochem=sorp] -compulsory=true -description=Soil leaching N Retention factor -range=0.01:100.0 -sort-key=h -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::sorp - -[namelist:jules_soil_biogeochem=t0_ch4] -compulsory=true -description=Reference temperature for Q10 function CH4 emissions -range=250:320 -sort-key=2b -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::t0_ch4 - -[namelist:jules_soil_biogeochem=tau_ch4] -compulsory=true -description=Decay factor with depth representing methane oxidation -range=0.01:100.0 -sort-key=q -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::tau_ch4 - -[namelist:jules_soil_biogeochem=tau_lit] -compulsory=true -description=Exponential decay constant for reduction of litter inputs with depth -range=0.01:100.0 -sort-key=b2 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::tau_lit - -[namelist:jules_soil_biogeochem=tau_resp] -compulsory=true -description=Exponential decay constant for reduction of respiration with depth -range=0.01:100.0 -sort-key=b2 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::tau_resp - -[namelist:jules_soil_biogeochem=z_burn_max] -compulsory=true -description=Maximum burn depth for soil - soil carbon is burned above this level -range=0.0:10.0 -sort-key=b2 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_biogeochem.nml.html#JULES_SOIL_BIOGEOCHEM::z_burn_max - -[namelist:jules_soil_ecosse] -compulsory=true -ns=namelist/JULES Science Settings/jules_soil_ecosse -sort-key=07 -title=Soil ECOSSE model options - -[namelist:jules_soil_ecosse=amm_leach_min] -compulsory=true -description=Minimum allowed amount of N in NH4 after leaching (kg m-3) -range=0: -type=real - -[namelist:jules_soil_ecosse=bacteria_max_frac] -compulsory=true -description=Maximum fraction of decomposer community that are bacteria -range=0:1 -type=real - -[namelist:jules_soil_ecosse=bacteria_max_frac_ph] -compulsory=true -description=Soil pH at or above which the fraction of bacteria is at a maximum -range=0:14 -type=real - -[namelist:jules_soil_ecosse=bacteria_min_frac] -compulsory=true -description=Minimum fraction of decomposer community that are bacteria -range=0:1 -type=real - -[namelist:jules_soil_ecosse=bacteria_min_frac_ph] -compulsory=true -description=Soil pH at or below which the fraction of bacteria is at a minimum -range=0:14 -type=real - -[namelist:jules_soil_ecosse=cn_bacteria] -compulsory=true -description=C:N ratio of soil bacteria -range=0.1: -type=real - -[namelist:jules_soil_ecosse=cn_fungi] -compulsory=true -description=C:N ratio of soil fungi -range=0.1: -type=real - -[namelist:jules_soil_ecosse=decomp_ph_max] -compulsory=true -description=pH above which rate of decomposition is maximum -range=0:14 -type=real - -[namelist:jules_soil_ecosse=decomp_ph_min] -compulsory=true -description=pH below which rate of decomposition is minimum -range=0:14 -type=real - -[namelist:jules_soil_ecosse=decomp_ph_rate_min] -compulsory=true -description=Minimum allowed value of pH rate modifier for decomposition -range=0:1 -type=real - -[namelist:jules_soil_ecosse=decomp_rate] -compulsory=true -description=Rate constants for decomposition of each pool (s-1) -length=4 -type=real - -[namelist:jules_soil_ecosse=decomp_temp_coeff_smith] -compulsory=true -description=Constants in Smith et al. (2010) soil C decomposition rate temperature modifier -length=3 -type=real - -[namelist:jules_soil_ecosse=decomp_wrate_min_clark] -compulsory=true -description=Minimum allowed value of the JULES form for water rate modifier for decomposition -range=0:1 -type=real - -[namelist:jules_soil_ecosse=decomp_wrate_min_smith] -compulsory=true -description=Minimum allowed value of the Smith et al. (2010) water rate modifier for decomposition -range=0:1 -type=real - -[namelist:jules_soil_ecosse=denit50] -compulsory=true -description=Amount of nitrate at which denitrification rate is 50% of the potential rate (kg m-3) -range=0: -type=real - -[namelist:jules_soil_ecosse=denit_bio_factor] -compulsory=true -description=Factor in denitrification calculation to convert C flux into a representation of biological activity -range=0: -type=real - -[namelist:jules_soil_ecosse=denit_frac_n2_fc] -compulsory=true -description=Fraction of denitrified N that becomes N2 when soil moisture is at field capacity -range=0:1 -type=real - -[namelist:jules_soil_ecosse=denit_nitrate_equal] -compulsory=true -description=Amount of N in soil nitrate at which denitrified N is released as equal amounts of N2 and N2O (kg m-3) -range=0: -type=real - -[namelist:jules_soil_ecosse=denit_water_coeff] -compulsory=true -description=Fitted constants describing water modifier for denitrification -length=3 -type=real - -[namelist:jules_soil_ecosse=depo_nit_frac] -compulsory=true -description=Fraction of total N deposition that is added to soil nitrate -range=0:1 -type=real - -[namelist:jules_soil_ecosse=depth_nitrif] -compulsory=true -description=Greatest depth at which nitrification and denitrification are allowed (m) -range=0: -type=real - -[namelist:jules_soil_ecosse=dim_cslayer] -compulsory=true -description=Number of soil carbon layers -range=1: -type=integer - -[namelist:jules_soil_ecosse=dt_soilc] -compulsory=true -description=Timestep length for soil biogeochemistry model (s) -type=real - -[namelist:jules_soil_ecosse=dz_soilc_io] -compulsory=true -description=Thicknesses of the soil biogeochemistry layers (m) -fail-if=len(this) != dim_cslayer; # Must have a value for each layer -length=: -type=real - -[namelist:jules_soil_ecosse=l_decomp_slow] -compulsory=true -description=Switch to slow decomposition when N is limiting -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_ecosse.nml.html#JULES_SOIL_ECOSSE::l_decomp_slow -value-titles=Decomposition slowed, Decomposition less efficient -values=.true.,.false. -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_soil_ecosse=l_driver_ave] -compulsory=true -description=Switch for time-averaging of ECOSSE driving variables -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_ecosse.nml.html#JULES_SOIL_ECOSSE::l_driver_ave -value-titles=Time average, Instantaneous values -values=.true.,.false. -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_soil_ecosse=l_match_layers] -compulsory=true -description=Switch to match soil C and N layers to soil moisture layers -trigger=namelist:jules_soil_ecosse=dim_cslayer: .false.; - =namelist:jules_soil_ecosse=dz_soilc_io: .false.; -url=https://metoffice.github.io/jules/latest/namelists/jules_soil_ecosse.nml.html#JULES_SOIL_ECOSSE::l_match_layers -value-titles=Match to soil moisture layers, Specify layers -values=.true.,.false. -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_soil_ecosse=l_soil_n] -compulsory=true -description=Switch for a prognostic model of soil Nitrogen -trigger=namelist:jules_soil_ecosse=depo_nit_frac: .true.; - =namelist:jules_soil_ecosse=l_decomp_slow: .true.; - =namelist:jules_soil_ecosse=bacteria_min_frac: .true.; - =namelist:jules_soil_ecosse=bacteria_max_frac: .true.; - =namelist:jules_soil_ecosse=bacteria_min_frac_ph: .true.; - =namelist:jules_soil_ecosse=bacteria_max_frac_ph: .true.; - =namelist:jules_soil_ecosse=cn_bacteria: .true.; - =namelist:jules_soil_ecosse=cn_fungi: .true.; - =namelist:jules_soil_ecosse=depth_nitrif: .true.; - =namelist:jules_soil_ecosse=nitrif_frac_n2o_fc: .true.; - =namelist:jules_soil_ecosse=nitrif_rate: .true.; - =namelist:jules_soil_ecosse=nitrif_frac_gas: .true.; - =namelist:jules_soil_ecosse=nitrif_frac_no: .true.; - =namelist:jules_soil_ecosse=nitrif_max_factor: .true.; - =namelist:jules_soil_ecosse=nitrif_wrate_min: .true.; - =namelist:jules_soil_ecosse=denit50: .true.; - =namelist:jules_soil_ecosse=denit_frac_n2_fc: .true.; - =namelist:jules_soil_ecosse=denit_nitrate_equal: .true.; - =namelist:jules_soil_ecosse=denit_water_coeff: .true.; - =namelist:jules_soil_ecosse=denit_bio_factor: .true.; - =namelist:jules_soil_ecosse=amm_leach_min: .true.; - =namelist:jules_soil_ecosse=n_inorg_max_conc: .true.; -type=logical - -[namelist:jules_soil_ecosse=n_inorg_max_conc] -compulsory=true -description=Maximum-allowed concentration of inorganic N in a layer (kg m-3) -type=real - -[namelist:jules_soil_ecosse=nitrif_frac_gas] -compulsory=true -description=Fraction of nitrification lost as gas through full nitrification -range=0:1 -type=real - -[namelist:jules_soil_ecosse=nitrif_frac_n2o_fc] -compulsory=true -description=Fraction of nitrification lost as N2O by partial nitrification at field capacity -range=0:1 -type=real - -[namelist:jules_soil_ecosse=nitrif_frac_no] -compulsory=true -description=Fraction of nitrification gas loss through full nitrification that is NO -range=0:1 -type=real - -[namelist:jules_soil_ecosse=nitrif_max_factor] -compulsory=true -description=Shape factor in rate modifier for nitrification (kg m-3) -range=0:1 -type=real - -[namelist:jules_soil_ecosse=nitrif_rate] -compulsory=true -description=Rate constant for nitrification (s-1) -range=0: -type=real - -[namelist:jules_soil_ecosse=nitrif_wrate_min] -compulsory=true -description=Minimum allowed value of water rate modifier for nitrification when Smith et al., 2010 form is used -range=0: -type=real - -[namelist:jules_soil_ecosse=pi_sfc_depth] -compulsory=true -description=Depth of soil over which fraction pi_sfc_frac of plant litterfall is added (m). -type=real - -[namelist:jules_soil_ecosse=pi_sfc_frac] -compulsory=true -description=Fraction of plant litterfall that is added to the surface soil layer (of depth pi_sfc_depth). -range=0:1 -type=real - -[namelist:jules_soil_ecosse=plant_input_profile] -compulsory=true -description=Switch for distribution of litterfall inputs to the soil. -trigger=namelist:jules_soil_ecosse=pi_sfc_depth: 1; - =namelist:jules_soil_ecosse=pi_sfc_frac: 1; -value-titles=RootProfile,Exponential -values=1,2 -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_soil_ecosse=temp_modifier] -compulsory=true -description=Switch for form of temperature rate modifier for decomposition -value-titles=Q10,Smith -values=1,2 -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_soil_ecosse=water_modifier] -compulsory=true -description=Switch for form of water rate modifier for decomposition -value-titles=Clark,Smith -values=1,2 -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_soil_props] -compulsory=true -description=Configuration of spatially varying soil properties -ns=namelist/Ancillary data/Soil properties -sort-key=17 -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#namelist-JULES_SOIL_PROPS -widget[rose-config-edit]=pages.PageWithVariableTable --nvar nvars var use_file var_name tpl_name const_val - -[namelist:jules_soil_props=const_val] -compulsory=true -description=Constant value for all points (used if use_file = .false.) -fail-if=len(this) != namelist:jules_soil_props=nvars -length=: -sort-key=9 -type=real -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_SOIL_PROPS::const_val - -[namelist:jules_soil_props=const_z] -compulsory=true -description=Use constant-profile soil properties -sort-key=2 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_SOIL_PROPS::const_z - -[namelist:jules_soil_props=file] -compulsory=true -description=If read_list = TRUE, file to read list of file names - =If read_list = FALSE, file or file name template - =from which to read soil properties. -sort-key=3 -trigger=namelist:jules_soil_props=tpl_name: '%vv' in this; - =namelist:jules_soil_props=read_list: '%vv' not in this; -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_SOIL_PROPS::file - -[namelist:jules_soil_props=nvars] -compulsory=true -description=Number of soil properties that will be given -range=9:11 -sort-key=4 -trigger=namelist:jules_soil_props=var: this > 0; - = namelist:jules_soil_props=use_file: this > 0; -type=integer -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_SOIL_PROPS::nvars - -[namelist:jules_soil_props=read_from_dump] -compulsory=true -description=Read spatially varying soil properties from the dump file -sort-key=1 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_SOIL_PROPS::read_from_dump - -[namelist:jules_soil_props=read_list] -compulsory=true -description=Use list of file names; one per line for each of nvars. -fail-if=this == '.true.' and '%vv' in namelist:jules_soil_props=file; # Cannot use variable name templating while reading a list of files. -sort-key=3a -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_SOIL_PROPS::read_list - -[namelist:jules_soil_props=tpl_name] -compulsory=true -description=String to substitute into the file name template (used if use_file = .true.) -fail-if=len(this) != namelist:jules_soil_props=nvars -length=: -sort-key=8 -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_SOIL_PROPS::tpl_name - -[namelist:jules_soil_props=use_file] -compulsory=true -description=Read variable from file -fail-if=len(this) != namelist:jules_soil_props=nvars -length=: -sort-key=6 -trigger=namelist:jules_soil_props=file: any(this == '.true.'); - = namelist:jules_soil_props=var_name: any(this == '.true.'); - = namelist:jules_soil_props=const_val: not all(this == '.true.'); -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_SOIL_PROPS::use_file - -[namelist:jules_soil_props=var] -compulsory=true -description=Name of the soil variable, as recognised by JULES -fail-if=len(this) != namelist:jules_soil_props=nvars -length=: -sort-key=5 -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_SOIL_PROPS::var -values='albsoil','b','hcap','hcon','satcon','sathh','sm_crit','sm_sat','sm_wilt','clay','soil_ph' - -[namelist:jules_soil_props=var_name] -compulsory=true -description=Name in file (used if use_file = .true.) -fail-if=len(this) != namelist:jules_soil_props=nvars -length=: -sort-key=7 -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_SOIL_PROPS::var_name - -[namelist:jules_spinup] -compulsory=true -ns=namelist/Spinup configuration -sort-key=04 -url=https://metoffice.github.io/jules/latest/namelists/timesteps.nml.html#namelist-JULES_SPINUP -widget[rose-config-edit]=pages.PageWithVariableTable --nvar nvars var use_percent tolerance - -[namelist:jules_spinup=max_spinup_cycles] -compulsory=true -description=Maximum number of times the spin-up period will be repeated -range=0: -sort-key=1 -trigger=namelist:jules_spinup=spinup_start: this > 0; - = namelist:jules_spinup=spinup_end: this > 0; - = namelist:jules_spinup=terminate_on_spinup_fail: this > 0; - = namelist:jules_spinup=nvars: this > 0; -type=integer -url=https://metoffice.github.io/jules/latest/namelists/timesteps.nml.html#JULES_SPINUP::max_spinup_cycles - -[namelist:jules_spinup=nvars] -compulsory=true -description=Number of variables used to assess if the model has spun up -range=0: -sort-key=5 -trigger=namelist:jules_spinup=var: this > 0; - = namelist:jules_spinup=use_percent: this > 0; - = namelist:jules_spinup=tolerance: this > 0; -type=integer -url=https://metoffice.github.io/jules/latest/namelists/timesteps.nml.html#JULES_SPINUP::nvars - -[namelist:jules_spinup=spinup_end] -compulsory=true -description=End time for each cycle of spinup -pattern=\d{4}-\d{2}-\d{2}\s{1}\d{2}:\d{2}:\d{2} -sort-key=3 -type=character -url=https://metoffice.github.io/jules/latest/namelists/timesteps.nml.html#JULES_SPINUP::spinup_end - -[namelist:jules_spinup=spinup_start] -compulsory=true -description=Start time for each cycle of spinup -pattern=\d{4}-\d{2}-\d{2}\s{1}\d{2}:\d{2}:\d{2} -sort-key=2 -type=character -url=https://metoffice.github.io/jules/latest/namelists/timesteps.nml.html#JULES_SPINUP::spinup_start - -[namelist:jules_spinup=terminate_on_spinup_fail] -compulsory=true -description=End the run if the model has not spun up -sort-key=4 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/timesteps.nml.html#JULES_SPINUP::terminate_on_spinup_fail - -[namelist:jules_spinup=tolerance] -compulsory=true -description=Tolerance for the spin-up test (for each variable) -fail-if=len(this) != namelist:jules_spinup=nvars; # Must have exactly nvars entries -length=: -sort-key=8 -type=real -url=https://metoffice.github.io/jules/latest/namelists/timesteps.nml.html#JULES_SPINUP::tolerance - -[namelist:jules_spinup=use_percent] -compulsory=true -description=Use percentage-based tolerance (for each variable) -fail-if=len(this) != namelist:jules_spinup=nvars; # Must have exactly nvars entries -length=: -sort-key=7 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/timesteps.nml.html#JULES_SPINUP::use_percent - -[namelist:jules_spinup=var] -compulsory=true -description=Variables to be used to determine if the model has spun up -fail-if=len(this) != namelist:jules_spinup=nvars; # Must have exactly nvars entries -length=: -sort-key=6 -url=https://metoffice.github.io/jules/latest/namelists/timesteps.nml.html#JULES_SPINUP::var -values='smcl','t_soil' - -[namelist:jules_surf_hgt] -compulsory=true -ns=namelist/Grid configuration/Tile elevations -sort-key=15 -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#namelist-JULES_SURF_HGT - -[namelist:jules_surf_hgt=file] -compulsory=true -description=Name of the file containing tile elevations relative to the gridbox mean -sort-key=4 -type=character -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_SURF_HGT::file - -[namelist:jules_surf_hgt=l_elev_absolute_height] -compulsory=true -description=Set tile elevations to absolute values above sea-level -fail-if=(namelist:jules_surface=l_aggregate and len(this) != 1) or (not namelist:jules_surface=l_aggregate and len(this) != (namelist:jules_surface_types=npft + namelist:jules_surface_types=nnvg)) -length=: -sort-key=2 -trigger=namelist:jules_surf_hgt=use_file: all(this == '.false.'); - = namelist:jules_z_land=use_file: any(this == '.true.'); - = namelist:jules_z_land=surf_hgt_band: any(this == '.true.'); -type=logical -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_SURF_HGT::l_elev_absolute_height - -[namelist:jules_surf_hgt=surf_hgt_io] -compulsory=true -description=Tile elevation relative to the gridbox mean for a single location -fail-if=(namelist:jules_surface=l_aggregate and len(this) != 1) or (not namelist:jules_surface=l_aggregate and len(this) != (namelist:jules_surface_types=npft + namelist:jules_surface_types=nnvg)) -length=: -sort-key=6 -type=real -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_SURF_HGT::surf_hgt_io - -[namelist:jules_surf_hgt=surf_hgt_name] -compulsory=true -description=Name of the variable containing tile elevations relative to the gridbox mean -sort-key=5 -type=character -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_SURF_HGT::surf_hgt_name - -[namelist:jules_surf_hgt=use_file] -compulsory=true -description=Read tile elevations relative to the gridbox mean from a file -length=: -sort-key=3 -trigger=namelist:jules_surf_hgt=file: .true.; - = namelist:jules_surf_hgt=surf_hgt_name: .true.; - = namelist:jules_surf_hgt=surf_hgt_io: .false. ; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_SURF_HGT::use_file - -[namelist:jules_surf_hgt=zero_height] -compulsory=true -description=Set all tile elevations to zero -sort-key=1 -trigger=namelist:jules_surf_hgt=l_elev_absolute_height: .false.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_SURF_HGT::zero_height - -[namelist:jules_surface=i_aggregate_opt] -compulsory=true -description=Method of aggregating tiled properties -sort-key=Panel-F02a -url=https://metoffice.github.io/jules/latest/namelists/jules_surface.nml.html#JULES_SURFACE::i_aggregate_opt -value-titles=Original option,Separate aggregation -values=0,1 - -[namelist:jules_surface=l_aggregate] -compulsory=true -description=Use aggregate surface scheme -sort-key=Panel-F02 -trigger=namelist:jules_surface=i_aggregate_opt: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_surface.nml.html#JULES_SURFACE::l_aggregate - -[namelist:jules_surface=l_point_data] -trigger=namelist:jules_drive=t_for_con_rain: .false.; - -[namelist:jules_surface=srf_ex_cnv_gust] -value-titles=Off,On -values=0,1 - -#[namelist:jules_surface_types] has moved to jules-shared/jules-surface-types -[namelist:jules_surface_types=brd_leaf_dec] -description=Pseudo level of broadleaf (decidous) PFT -fail-if=this > namelist:jules_surface_types=npft; # Pseudo level must be less than or equal to npft -range=1: -sort-key=Panel-A1b -type=integer -url=https://metoffice.github.io/jules/latest/namelists/jules_surface_types.nml.html#JULES_SURFACE_TYPES::brd_leaf_dec - -[namelist:jules_surface_types=brd_leaf_eg_temp] -description=Pseudo level of broadleaf (evergreen temperate) PFT -fail-if=this > namelist:jules_surface_types=npft; # Pseudo level must be less than or equal to npft -range=1: -sort-key=Panel-A1d -type=integer -url=https://metoffice.github.io/jules/latest/namelists/jules_surface_types.nml.html#JULES_SURFACE_TYPES::brd_leaf_eg_temp - -[namelist:jules_surface_types=brd_leaf_eg_trop] -description=Pseudo level of broadleaf (evergreen tropical) PFT -fail-if=this > namelist:jules_surface_types=npft; # Pseudo level must be less than or equal to npft -help=Must have value <= npft -range=1: -sort-key=Panel-A1c -type=integer -url=https://metoffice.github.io/jules/latest/namelists/jules_surface_types.nml.html#JULES_SURFACE_TYPES::brd_leaf_eg_trop - -[namelist:jules_surface_types=c3_crop] -description=Pseudo level of C3 crop PFT -fail-if=this > namelist:jules_surface_types=npft; # Pseudo level must be less than or equal to npft -range=1: -sort-key=Panel-A3b -type=integer -url=https://metoffice.github.io/jules/latest/namelists/jules_surface_types.nml.html#JULES_SURFACE_TYPES::c3_crop - -[namelist:jules_surface_types=c3_pasture] -description=Pseudo level of C3 pasture PFT -fail-if=this > namelist:jules_surface_types=npft; # Pseudo level must be less than or equal to npft -range=1: -sort-key=Panel-A3c -type=integer -url=https://metoffice.github.io/jules/latest/namelists/jules_surface_types.nml.html#JULES_SURFACE_TYPES::c3_pasture - -[namelist:jules_surface_types=c4_crop] -description=Pseudo level of C4 crop PFT -fail-if=this > namelist:jules_surface_types=npft; # Pseudo level must be less than or equal to npft -range=1: -sort-key=Panel-A4b -type=integer -url=https://metoffice.github.io/jules/latest/namelists/jules_surface_types.nml.html#JULES_SURFACE_TYPES::c4_crop - -[namelist:jules_surface_types=c4_pasture] -description=Pseudo level of C4 pasture PFT -fail-if=this > namelist:jules_surface_types=npft; # Pseudo level must be less than or equal to npft -range=1: -sort-key=Panel-A4c -type=integer -url=https://metoffice.github.io/jules/latest/namelists/jules_surface_types.nml.html#JULES_SURFACE_TYPES::c4_pasture - -[namelist:jules_surface_types=elev_ice] -compulsory=true -description=Pseudo levels of elevated ice surface type (Glacier/Icesheet model) -fail-if=any(this > namelist:jules_surface_types=npft + namelist:jules_surface_types=nnvg); # Pseudo level must be less than or equal to npft+nnvg - =any(this <= namelist:jules_surface_types=npft and this != -1); # PFTs must be grouped together first with non-vegetated tiles following -length=: -range=-1,1: -sort-key=Panel-A9b -type=integer -url=https://metoffice.github.io/jules/latest/namelists/jules_surface_types.nml.html#JULES_SURFACE_TYPES::elev_ice - -[namelist:jules_surface_types=elev_rock] -compulsory=true -description=Pseudo levels of elevated bedrock surface type (Glacier/Icesheet model) -fail-if=any(this > namelist:jules_surface_types=npft + namelist:jules_surface_types=nnvg); # Pseudo level must be less than or equal to npft+nnvg - =any(this <= namelist:jules_surface_types=npft and this != -1); # PFTs must be grouped together first with non-vegetated tiles following -length=: -range=-1,1: -sort-key=Panel-A9c -type=integer -url=https://metoffice.github.io/jules/latest/namelists/jules_surface_types.nml.html#JULES_SURFACE_TYPES::elev_rock - -[namelist:jules_surface_types=ncpft] -description=Number of crop plant functional types to be modelled - =NOT AVAILABLE TO THE UM -fail-if=this > namelist:jules_surface_types=npft; # Number of crop PFTs must be less than total number of PFTs - =this > 0 and namelist:jules_model_environment=l_jules_parent == 1; # This is not available to the UM. Should be zero. -range=0: -sort-key=Panel-A0c -trigger=namelist:jules_vegetation=l_prescsow: this > 0; - = namelist:jules_crop_props: this > 0; - = namelist:jules_cropparm: this > 0; -type=integer -url=https://metoffice.github.io/jules/latest/namelists/jules_surface_types.nml.html#JULES_SURFACE_TYPES::ncpft - -[namelist:jules_surface_types=ndl_leaf_dec] -description=Pseudo level of needleleaf (deciduous) PFT -fail-if=this > namelist:jules_surface_types=npft; # Pseudo level must be less than or equal to npft -range=1: -sort-key=Panel-A2b -type=integer -url=https://metoffice.github.io/jules/latest/namelists/jules_surface_types.nml.html#JULES_SURFACE_TYPES::ndl_leaf_dec - -[namelist:jules_surface_types=ndl_leaf_eg] -description=Pseudo level of needleleaf (evergreen) PFT -fail-if=this > namelist:jules_surface_types=npft; # Pseudo level must be less than or equal to npft -range=1: -sort-key=Panel-A2c -type=integer -url=https://metoffice.github.io/jules/latest/namelists/jules_surface_types.nml.html#JULES_SURFACE_TYPES::ndl_leaf_eg - -[namelist:jules_surface_types=shrub_dec] -description=Pseudo level of shrub (deciduous) PFT -fail-if=this > namelist:jules_surface_types=npft; # Pseudo level must be less than or equal to npft -range=1: -sort-key=Panel-A5b -type=integer -url=https://metoffice.github.io/jules/latest/namelists/jules_surface_types.nml.html#JULES_SURFACE_TYPES::shrub_dec - -[namelist:jules_surface_types=shrub_eg] -description=Pseudo level of shrub (evergreen) PFT -fail-if=this > namelist:jules_surface_types=npft; # Pseudo level must be less than or equal to npft -range=1: -sort-key=Panel-A5c -type=integer -url=https://metoffice.github.io/jules/latest/namelists/jules_surface_types.nml.html#JULES_SURFACE_TYPES::shrub_eg - -[namelist:jules_surface_types=tile_map_ids] -description=Tile mapping array from input to output dump surface type configuration - =NOT AVAILABLE TO STANDALONE -fail-if=len(this) != namelist:jules_surface_types=npft + namelist:jules_surface_types=nnvg -help=Mapping array, containing tile ID numbers, used by the reconfiguration to determine which - =tile in the input dump should be used to initialise each tile in the output dump. The - =reconfiguration determines the corresponding pseudo level map (tile_map_pslevs) containing - =the pseudo levels where the tile types from tile_map_ids reside in the input dump. - =Allows new tiles added (e.g. urban_canyon and urban_roof) to be initialised from existing - =tiles (e.g. urban) or an old dump with the incorrect labelling to be used. Depends on the - =input dump so if an option file is used to change the input dump, tile_map_ids will also - =need to be ammended. -length=: -range=1: -sort-key=Panel-A0d -type=integer - -[namelist:jules_surface_types=usr_type] -description=Pseudo level of user surface types -fail-if=any(this > namelist:jules_surface_types=npft + namelist:jules_surface_types=nnvg); # Pseudo level must be less than or equal to npft+nnvg -help=Must have value less than or equal to ntype -length=: -range=1: -sort-key=Panel-A0e -type=integer -url=https://metoffice.github.io/jules/latest/namelists/jules_surface_types.nml.html#JULES_SURFACE_TYPES::usr_type - -[namelist:jules_temp_fixes] -compulsory=true -description=To assist managing science fixes across JULES versions -ns=namelist/JULES Science Settings/jules_temp_fixes -sort-key=00 -title=Short term logicals -url=https://metoffice.github.io/jules/latest/namelists/science_fixes.nml.html#namelist-JULES_TEMP_SWITCHES - -[namelist:jules_temp_fixes=ctile_orog_fix] -compulsory=true -description=Fix surface exchange in coastally tiled grid-boxes -fail-if=(this == '0' or this == '1') and namelist:jules_model_environment=l_jules_parent == 0; # This should be 2 in JULES standalone. -url=https://metoffice.github.io/jules/latest/namelists/science_fixes.nml.html#JULES_TEMP_FIXES::ctile_orog_fix -value-titles=No fix,Correct sea adjust land,Correct sea only -values=0,1,2 - -[namelist:jules_temp_fixes=l_accurate_rho] -compulsory=true -description=Improve the accuracy of air density in surface fluxes -type=logical -url=https://metoffice.github.io/jules/latest/namelists/science_fixes.nml.html#JULES_TEMP_FIXES::l_accurate_rho - -[namelist:jules_temp_fixes=l_dtcanfix] -compulsory=true -description=Correct the evolution of the skin temperature in the implicit solver -fail-if=this == '.false.' and namelist:jules_model_environment=l_jules_parent == 0; # This should be .true. in JULES standalone. -type=logical -url=https://metoffice.github.io/jules/latest/namelists/science_fixes.nml.html#JULES_TEMP_FIXES::l_dtcanfix - -[namelist:jules_temp_fixes=l_fix_alb_ice_thick] -compulsory=true -description=Fix bug in ice thickness used for sea ice albedo calculation. -fail-if=this == '.false.' and namelist:jules_model_environment=l_jules_parent == 0; # This should be .true. in JULES standalone. -type=logical -url=https://metoffice.github.io/jules/latest/namelists/science_fixes.nml.html#JULES_TEMP_FIXES::l_fix_alb_ice_thick - -[namelist:jules_temp_fixes=l_fix_albsnow_ts] -compulsory=true -description=Fix bug in the two-stream calculation of the albedo of snow. -fail-if=this == '.false.' and namelist:jules_model_environment=l_jules_parent == 0; # This should be .true. in JULES standalone. -type=logical -url=https://metoffice.github.io/jules/latest/namelists/science_fixes.nml.html#JULES_TEMP_FIXES::l_fix_albsnow_ts - -[namelist:jules_temp_fixes=l_fix_drydep_so2_water] -compulsory=true -description=Use correct surface resistance of water when calculating the dry deposition of SO2 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/science_fixes.nml.html#JULES_TEMP_FIXES::l_fix_drydep_so2_water - -[namelist:jules_temp_fixes=l_fix_improve_drydep] -compulsory=true -description=Fix dry deposition velocities -type=logical -url=https://metoffice.github.io/jules/latest/namelists/science_fixes.nml.html#JULES_TEMP_FIXES::l_fix_improve_drydep - -[namelist:jules_temp_fixes=l_fix_lake_ice_temperatures] -compulsory=true -description=Fix evolution of lake ice temperatures -help=Allow sea ice temperatures in lakes to evolve over time for atmosphere-ocean coupled - =models when the lake is defined as a sea point but is not coupled to an ocean model. -type=logical -url=https://metoffice.github.io/jules/latest/namelists/science_fixes.nml.html#JULES_TEMP_FIXES::l_fix_lake_ice_temperatures - -[namelist:jules_temp_fixes=l_fix_moruses_roof_rad_coupling] -compulsory=true -description=Correction to the roof radiative coupling of MORUSES -type=logical -url=https://metoffice.github.io/jules/latest/namelists/science_fixes.nml.html#JULES_TEMP_FIXES::l_fix_moruses_roof_rad_coupling - -[namelist:jules_temp_fixes=l_fix_neg_snow] -compulsory=true -description=Activate corrections to avoid the generation of negative amounts of snow. -fail-if=this == '.false.' and namelist:jules_model_environment=l_jules_parent == 0; # This should be .true. in JULES standalone. -type=logical -url=https://metoffice.github.io/jules/latest/namelists/science_fixes.nml.html#JULES_TEMP_FIXES::l_fix_neg_snow - -[namelist:jules_temp_fixes=l_fix_osa_chloro] -compulsory=true -description=Correct the units of chlorophyll in the ocean surface albedo -type=logical -url=https://metoffice.github.io/jules/latest/namelists/science_fixes.nml.html#JULES_TEMP_FIXES::l_fix_osa_chloro - -[namelist:jules_temp_fixes=l_fix_snow_frac] -compulsory=true -description=Correction to prevent persistent small snow amounts when using the frac_snow_subl_melt=1 option -type=logical -url=https://metoffice.github.io/jules/latest/namelists/science_fixes.nml.html#JULES_TEMP_FIXES::l_fix_snow_frac - -[namelist:jules_temp_fixes=l_fix_ukca_h2dd_x] -compulsory=true -description=Fix for UKCA deposition of H2. -type=logical -url=https://metoffice.github.io/jules/latest/namelists/science_fixes.nml.html#JULES_TEMP_FIXES::l_fix_h2dd_x - -[namelist:jules_temp_fixes=l_fix_ustar_dust] -compulsory=true -description=Fix surface exchange for dust deposition -fail-if=this == '.false.' and namelist:jules_model_environment=l_jules_parent == 0; # This should be .true. in JULES standalone. -type=logical -url=https://metoffice.github.io/jules/latest/namelists/science_fixes.nml.html#JULES_TEMP_FIXES::l_fix_ustar_dust - -[namelist:jules_temp_fixes=l_fix_wind_snow] -compulsory=true -description=Fix to ensure wind speed is provided for snow unloading from vegetation -fail-if=this == '.false.' and namelist:jules_model_environment=l_jules_parent == 0; # This should be .true. in JULES standalone. -type=logical -url=https://metoffice.github.io/jules/latest/namelists/science_fixes.nml.html#JULES_TEMP_FIXES::l_fix_wind_snow - -[namelist:jules_time] -compulsory=true -ns=namelist/Timestepping information -sort-key=03 -url=https://metoffice.github.io/jules/latest/namelists/timesteps.nml.html#namelist-JULES_TIME - -[namelist:jules_time=l_360] -compulsory=true -description=Use a 360-day year -fail-if=this == '.false.' and namelist:imogen_onoff_switch=l_imogen == '.true.'; # This should be .true. in IMOGEN. -sort-key=1 -trigger=namelist:jules_time=l_leap: .false.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/timesteps.nml.html#JULES_TIME::l_360 - -[namelist:jules_time=l_leap] -compulsory=true -description=Include leap years -sort-key=2 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/timesteps.nml.html#JULES_TIME::l_leap - -[namelist:jules_time=l_local_solar_time] -compulsory=true -description=Interpret time in the driving data and throughout the code as local solar time. -sort-key=2 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/timesteps.nml.html#JULES_TIME::l_local_solar_time - -[namelist:jules_time=main_run_end] -compulsory=true -description=End time for the integration -pattern=\d{4}-\d{2}-\d{2}\s{1}\d{2}:\d{2}:\d{2} -sort-key=5 -type=character -url=https://metoffice.github.io/jules/latest/namelists/timesteps.nml.html#JULES_TIME::main_run_end - -[namelist:jules_time=main_run_start] -compulsory=true -description=Start time for the integration -pattern=\d{4}-\d{2}-\d{2}\s{1}\d{2}:\d{2}:\d{2} -sort-key=4 -type=character -url=https://metoffice.github.io/jules/latest/namelists/timesteps.nml.html#JULES_TIME::main_run_start - -[namelist:jules_time=print_step] -description=Number of timesteps between printing timestep information to screen -range=1: -sort-key=6 -type=integer -url=https://metoffice.github.io/jules/latest/namelists/timesteps.nml.html#JULES_TIME::print_step - -[namelist:jules_time=timestep_len] -compulsory=true -description=Model timestep length (s) -range=1: -sort-key=3 -type=integer -url=https://metoffice.github.io/jules/latest/namelists/timesteps.nml.html#JULES_TIME::timestep_len - -[namelist:jules_top] -compulsory=true -description=Configuration of spatially varying TOPMODEL properties -ns=namelist/Ancillary data/TOPMODEL properties -sort-key=18 -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#namelist-JULES_TOP -widget[rose-config-edit]=pages.PageWithVariableTable --nvar nvars var use_file var_name tpl_name const_val - -[namelist:jules_top=const_val] -compulsory=true -description=Constant value for all points (used if use_file = .false.) -fail-if=len(this) != namelist:jules_top=nvars -length=: -sort-key=8 -type=real -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_TOP::const_val - -[namelist:jules_top=file] -compulsory=true -description=If read_list = TRUE, file to read list of file names - =If read_list = FALSE, file or file name template - =from which to read TOPMODEL properties. -sort-key=2 -trigger=namelist:jules_top=tpl_name: '%vv' in this; - =namelist:jules_top=read_list: '%vv' not in this; -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_TOP::file - -[namelist:jules_top=nvars] -compulsory=true -description=Number of TOPMODEL properties that will be given -range=3:3 -sort-key=3 -trigger=namelist:jules_top=var: this > 0; - = namelist:jules_top=use_file: this > 0; -type=integer -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_TOP::nvars - -[namelist:jules_top=read_from_dump] -compulsory=true -description=Read spatially varying TOPMODEL properties from the dump file -sort-key=1 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_TOP::read_from_dump - -[namelist:jules_top=read_list] -compulsory=true -description=Use list of file names; one per line for each of nvars. -fail-if=this == '.true.' and '%vv' in namelist:jules_top=file; # Cannot use variable name templating while reading a list of files. -sort-key=2a -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_TOP::read_list - -[namelist:jules_top=tpl_name] -compulsory=true -description=String to substitute into the file name template (used if use_file = .true.) -fail-if=len(this) != namelist:jules_top=nvars -length=: -sort-key=7 -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_TOP::tpl_name - -[namelist:jules_top=use_file] -compulsory=true -description=Read variable from file -fail-if=len(this) != namelist:jules_top=nvars -length=: -sort-key=5 -trigger=namelist:jules_top=file: any(this == '.true.'); - = namelist:jules_top=var_name: any(this == '.true.'); - = namelist:jules_top=const_val: not all(this == '.true.'); -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_TOP::use_file - -[namelist:jules_top=var] -compulsory=true -description=Names of the TOPMODEL variable, as recognised by JULES -fail-if=len(this) != namelist:jules_top=nvars -length=: -sort-key=4 -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_TOP::var -values='fexp','ti_mean','ti_sig' - -[namelist:jules_top=var_name] -compulsory=true -description=Name in file (used if use_file = .true.) -fail-if=len(this) != namelist:jules_top=nvars -length=: -sort-key=6 -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_TOP::var_name - -[namelist:jules_triffid] -compulsory=true -description=Most parameters in this section are required, even if they are not used - =However, they can be left at their default value - = - =Click on names for more details - = -ns=namelist/JULES Science Settings/jules_triffid -sort-key=10 -title=TRIFFID PFT parameters -url=https://metoffice.github.io/jules/latest/namelists/triffid_params.nml.html#namelist-JULES_TRIFFID -widget[rose-config-edit]=cylc8_compat.PageArrayTable - -[namelist:jules_triffid=ag_expand_io] -compulsory=true -description=Type of agricultural expansion employed when l_ag_expand=T. - =0 means PFTs grow into the increased agricultural area naturally (default) - =1 means new agricultural area is automatically filled with the selected PFT. -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -url=https://metoffice.github.io/jules/latest/namelists/triffid_params.nml.html#JULES_TRIFFID::ag_expand_io -values=0,1 - -[namelist:jules_triffid=alloc_fast_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/triffid_params.nml.html#JULES_TRIFFID::alloc_fast_io - -[namelist:jules_triffid=alloc_med_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/triffid_params.nml.html#JULES_TRIFFID::alloc_med_io - -[namelist:jules_triffid=alloc_slow_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/triffid_params.nml.html#JULES_TRIFFID::alloc_slow_io - -[namelist:jules_triffid=crop_io] -compulsory=true -description=Flag indicating whether the PFT is crop, pasture, bioenergy/forestry, or natural. -fail-if=any(this > 1) and (namelist:jules_vegetation=l_trif_crop == '.false.') or (len(this) != namelist:jules_surface_types=npft) -length=: -url=https://metoffice.github.io/jules/latest/namelists/triffid_params.nml.html#JULES_TRIFFID::crop_io -value-titles=Natural,Crop,Pasture,Bioenergy/Forestry -values=0,1,2,3 - -[namelist:jules_triffid=dpm_rpm_ratio_io] -compulsory=true -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/triffid_params.nml.htm#JULES_TRIFFID::dpm_rpm_ratio_io - -[namelist:jules_triffid=g_area_io] -compulsory=true -description=Disturbance rate (/360days) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/triffid_params.nml.html#JULES_TRIFFID::g_area_io - -[namelist:jules_triffid=g_grow_io] -compulsory=true -description=Rate of leaf growth (/360days) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/triffid_params.nml.html#JULES_TRIFFID::g_grow_io - -[namelist:jules_triffid=g_root_io] -compulsory=true -description=Turnover rate for root biomass (/360days) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/triffid_params.nml.html#JULES_TRIFFID::g_root_io - -[namelist:jules_triffid=g_wood_io] -compulsory=true -description=Turnover rate for woody biomass (/360days) -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/triffid_params.nml.html#JULES_TRIFFID::g_wood_io - -[namelist:jules_triffid=harvest_freq_io] -compulsory=true -description=Frequency of harvest of crops. -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -sort-key=01a -url=https://metoffice.github.io/jules/latest/namelists/triffid_params.nml.html#JULES_TRIFFID::harvest_freq_io - -[namelist:jules_triffid=harvest_ht_io] -compulsory=true -description=Height to which the PFT is reduced at each harvest cycle. -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -sort-key=01a -type=real -url=https://metoffice.github.io/jules/latest/namelists/triffid_params.nml.html#JULES_TRIFFID::harvest_ht_io - -[namelist:jules_triffid=harvest_type_io] -compulsory=true -description=Type of harvesting, set to 0 for natural PFTs. - =0: No harvesting (default) - =1: Continuous harvesting from litter, as historically used in TRIFFID crop scheme - =2: Periodic harvesting with harvest frequency set to harvest_freq_io. -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -sort-key=01 -trigger=namelist:jules_triffid=harvest_freq_io: any(this == 2); - =namelist:jules_triffid=harvest_ht_io: any(this == 2); -url=https://metoffice.github.io/jules/latest/namelists/triffid_params.nml.html#JULES_TRIFFID::harvest_type_io -values=0,1,2 - -[namelist:jules_triffid=lai_max_io] -compulsory=true -description=Maximum LAI -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/triffid_params.nml.html#JULES_TRIFFID::lai_max_io - -[namelist:jules_triffid=lai_min_io] -compulsory=true -description=Minimum LAI -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/triffid_params.nml.html#JULES_TRIFFID::lai_min_io - -[namelist:jules_triffid=retran_l_io] -compulsory=true -description=Leaf N retranslocation -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/triffid_params.nml.htm#JULES_TRIFFID::retran_l_io - -[namelist:jules_triffid=retran_r_io] -compulsory=true -description=Root N retranslocation -fail-if=len(this) != namelist:jules_surface_types=npft -length=: -type=real -url=https://metoffice.github.io/jules/latest/namelists/triffid_params.nml.htm#JULES_TRIFFID::retran_r_io - -#[namelist:jules_urban] has moved to jules-shared/jules-urban -[namelist:jules_urban=l_moruses_albedo] -fail-if=this == '.true.' and namelist:jules_radiation=l_cosz == '.false.' # Requires l_cosz = TRUE - -[namelist:jules_urban=l_moruses_macdonald] -compulsory=true -description=Use MacDonald et al. (1998) to calculate effective roughness length and displacement height -fail-if=namelist:jules_urban=l_urban_empirical == '.true.' and this == '.false.'; # Must be true if l_urban_empirical is true -type=logical -url=https://metoffice.github.io/jules/latest/namelists/urban.nml.html#JULES_URBAN::l_moruses_macdonald - -[namelist:jules_urban=l_urban_empirical] -compulsory=true -description=Use empirical relationships for urban geometry - =NOT AVAILABLE TO UM -type=logical -url=https://metoffice.github.io/jules/latest/namelists/urban.nml.html#JULES_URBAN::l_urban_empirical - -#[namelist:jules_vegetation] has moved to jules-shared/jules-vegetation -[namelist:jules_vegetation=act_j_coef] -compulsory=true -description=Coefficients for the activation energy of Jmax. -length=3 -sort-key=Panel-I20b1 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::act_j_coef - -[namelist:jules_vegetation=act_v_coef] -compulsory=true -description=Coefficients for the activation energy of Vcmax. -length=3 -sort-key=Panel-I20b2 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::act_v_coef - -[namelist:jules_vegetation=c1_usuh] -compulsory=true -description=Ratio of friction velocity to wind speed at the top of a dense canopy -range=0: -sort-key=Panel-I09b -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::c1_usuh - -[namelist:jules_vegetation=c2_usuh] -compulsory=true -description=Ratio of friction velocity to wind speed at the surface of the substrate under the canopy -range=0: -sort-key=Panel-I09b -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::c2_usuh - -[namelist:jules_vegetation=c3_usuh] -compulsory=true -description=Used in the exponent of the equation weighting dense and sparse vegetation - = to get u*/U(h) in neutral conditions -range=0: -sort-key=Panel-I09b -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::c3_usuh - -[namelist:jules_vegetation=can_model] -compulsory=true -description=Choice of canopy model for vegetation -sort-key=Panel-I12 -trigger=namelist:jules_snow=cansnowpft: 4; - =namelist:jules_snow=snowinterceptfact: 4; - =namelist:jules_snow=snowloadlai: 4; - =namelist:jules_snow=snowunloadfact: 4; - =namelist:jules_surface=hleaf: 3,4; - =namelist:jules_surface=hwood: 3,4; -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::can_model -value-titles=No distinct canopy,Radiative canopy with no heat capacity,Radiative canopy with heat capacity,As 3 but with snow beneath canopy -values=1,2,3,4 -warn-if=this == 3; # can_model = 3 is deprecated, with 4 preferred -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_vegetation=can_rad_mod] -trigger=namelist:jules_vegetation=ilayers: 4,5,6; - =namelist:jules_pftparm=knl_io: 6; -values=1,4,5,6 -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_vegetation=cd_leaf] -compulsory=true -description=Leaf level drag coefficient -range=0:1 -sort-key=Panel-I09b -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::cd_leaf - -[namelist:jules_vegetation=dsj_coef] -compulsory=true -description=Coefficients for the rate of change with leaf temperature of the Jmax entropy factor. -length=3 -sort-key=Panel-I20a1 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::dsj_coef - -[namelist:jules_vegetation=dsv_coef] -compulsory=true -description=Coefficients for the rate of change with leaf temperature of the Vcmax entropy factor. -length=3 -sort-key=Panel-I20a1 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::dsv_coef - -[namelist:jules_vegetation=frac_min] -compulsory=true -description=Minimum fraction that a PFT is allowed to cover if TRIFFID is used -sort-key=Panel-I02b -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::frac_min - -[namelist:jules_vegetation=frac_seed] -compulsory=true -description=Seed fraction for TRIFFID -sort-key=Panel-I02b -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::frac_seed - -[namelist:jules_vegetation=fsmc_shape] -compulsory=true -description=Shape of soil moisture stress on vegetation function -fail-if=(namelist:jules_vegetation=l_use_pft_psi == ".false." or namelist:jules_soil_props=const_z == ".false.") and this == 1; # 1. Piece-wise linear in soil potential. Currently only allowed when const_z = T and l_use_pft_psi = T. - =this == 1 and namelist:jules_model_environment=l_jules_parent == 1; # Piece-wise linear in soil potential is not currently available to the UM. Should be 0 (volumetric soil moisture). -sort-key=Panel-I17 -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::fsmc_shape -value-titles=Piece-wise linear in volumetric soil moisture, Piece-wise linear in soil potential -values=0,1 -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_vegetation=ignition_method] -compulsory=true -description=The method to use for ignitions -sort-key=Panel-I16a -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::ignition_method -value-titles=(1) constant human and natural ignition sources, - =(2) constant human varying natural ignition sources, - =(3) varying human and natural ignition sources -values=1,2,3 - -[namelist:jules_vegetation=ilayers] -compulsory=true -description=Number of layers for canopy radiation model -range=1:100 -sort-key=Panel-I13a -type=integer -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::ilayers - -[namelist:jules_vegetation=jv25_coef] -compulsory=true -description=Coefficients for the ratio Jmax:Vcmax at 25 degC. -length=3 -sort-key=Panel-I20a1 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::jv25_coef - -[namelist:jules_vegetation=l_ag_expand] -compulsory=true -description=Allow assisted expansion of agricultural crop areas. - =The type of expansion is set with ag_expand_io. -fail-if=this == '.true.' and namelist:jules_vegetation=l_trif_biocrop == '.false.'; -sort-key=Panel-I02c1a1 -trigger=namelist:jules_triffid=ag_expand_io: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::l_ag_expand - -[namelist:jules_vegetation=l_bvoc_emis] -compulsory=true -description=Calculate BVOC emissions -sort-key=Panel-I10 -trigger=namelist:jules_pftparm=ief_io: .true.; - =namelist:jules_pftparm=tef_io: .true.; - =namelist:jules_pftparm=mef_io: .true.; - =namelist:jules_pftparm=aef_io: .true.; - =namelist:jules_pftparm=ci_st_io: .true.; - =namelist:jules_pftparm=gpp_st_io: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::l_bvoc_emis - -[namelist:jules_vegetation=l_croprotate] -compulsory=true -description=Switch to allow double cropping in JULES - =NOT AVAILABLE TO UM -fail-if=namelist:jules_vegetation=l_prescsow == '.false.' and this == '.true.'; # l_prescsow must be TRUE if l_croprotate = TRUE -sort-key=Panel-I14 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::l_croprotate - -[namelist:jules_vegetation=l_gleaf_fix] -compulsory=true -description=Use fix for accumulating g_leaf_phen_acc between calls to TRIFFID - =Standalone only bug fix. -sort-key=Panel-I15 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::l_gleaf_fix - -[namelist:jules_vegetation=l_ht_compete] -compulsory=true -description=Switch for using height based competition in TRIFFID -sort-key=Panel-I02c -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::l_ht_compete - -[namelist:jules_vegetation=l_inferno] -compulsory=true -description=Use the INFERNO interactive fire and diagnostic emissions model -sort-key=Panel-I16 -trigger=namelist:jules_vegetation=ignition_method: .true.; - =namelist:jules_vegetation=l_trif_fire: .true.; - =namelist:jules_pftparm=avg_ba_io: .true.; - =namelist:jules_pftparm=ccleaf_min_io: .true.; - =namelist:jules_pftparm=ccleaf_max_io: .true.; - =namelist:jules_pftparm=ccwood_min_io: .true.; - =namelist:jules_pftparm=ccwood_max_io: .true.; - =namelist:jules_pftparm=fef_bc_io: .true.; - =namelist:jules_pftparm=fef_ch4_io: .true.; - =namelist:jules_pftparm=fef_co2_io: .true.; - =namelist:jules_pftparm=fef_co_io: .true.; - =namelist:jules_pftparm=fef_nox_io: .true.; - =namelist:jules_pftparm=fef_oc_io: .true.; - =namelist:jules_pftparm=fef_so2_io: .true.; - =namelist:jules_pftparm=fef_c2h4_io: .true.; - =namelist:jules_pftparm=fef_c2h6_io: .true.; - =namelist:jules_pftparm=fef_c3h8_io: .true.; - =namelist:jules_pftparm=fef_hcho_io: .true.; - =namelist:jules_pftparm=fef_mecho_io: .true.; - =namelist:jules_pftparm=fef_nh3_io: .true.; - =namelist:jules_pftparm=fef_dms_io: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::l_inferno - -[namelist:jules_vegetation=l_landuse] -compulsory=true -description=Switch for using landuse change in conjunction with TRIFFID -sort-key=Panel-I02c -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::l_landuse - -[namelist:jules_vegetation=l_leaf_n_resp_fix] -compulsory=true -description=Switch to use correct forms for canopy-average leaf nitrogen - =(for plant maintenance resp and N demand). - =This affects can_rad_mod = 1, 4 and 5, not 6 (which is correct). -sort-key=Panel-I03 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::l_leaf_n_resp_fix - -[namelist:jules_vegetation=l_nitrogen] -compulsory=true -description=Use the TRIFFID Nitrogen limitation scheme for interactive carbon cycle -sort-key=Panel-I02c -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::l_nitrogen - -[namelist:jules_vegetation=l_nrun_mid_trif] -compulsory=true -description=Start an NRUN mid way through a TRIFFID calling period - =ONLY APPLICABLE TO UM -sort-key=Panel-I02c -type=logical - -[namelist:jules_vegetation=l_o3_damage] -compulsory=true -description=Use ozone damage for vegetation - =NOT AVAILABLE TO UM -sort-key=Panel-I11 -trigger=namelist:jules_pftparm=dfp_dcuo_io: .true.; - =namelist:jules_pftparm=fl_o3_ct_io: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::l_o3_damage - -[namelist:jules_vegetation=l_phenol] -compulsory=true -description=Include leaf phenology -sort-key=Panel-I01 -trigger=namelist:jules_vegetation=phenol_period: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::l_phenol - -[namelist:jules_vegetation=l_prescsow] -compulsory=true -description=Use prescribed sowing dates for crops - =NOT AVAILABLE TO THE UM -sort-key=Panel-I14 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::l_prescsow - -[namelist:jules_vegetation=l_red] -compulsory=true -description=Switch for using the Robust Ecosystem Demography (RED). - = RED is not available to the UM. -fail-if=this == '.true.' and namelist:jules_model_environment=l_jules_parent == 1; # RED is not available to the UM. - =this == '.true.' and namelist:jules_surface_types=ncpft > 0; -sort-key=Panel-I02d -trigger=namelist:jules_red: .true.; - =namelist:jules_red=alpha_recrt: .true.; - =namelist:jules_red=crwn_area0: .true.; - =namelist:jules_red=dom_order: .true.; - =namelist:jules_red=height0: .true.; - =namelist:jules_red=lai_bal0: .true.; - =namelist:jules_red=mass0: .true.; - =namelist:jules_red=massi: .true.; - =namelist:jules_red=mclass: .true.; - =namelist:jules_red=mort_base: .true.; - =namelist:jules_red=phi_a: .true.; - =namelist:jules_red=phi_g: .true.; - =namelist:jules_red=phi_h: .true.; - =namelist:jules_red=phi_l: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::l_red - -[namelist:jules_vegetation=l_rsl_scalar] -compulsory=true -description=Switch for using roughness sublayer correction scheme in scalar - = variables. This is triggered if vegetative drag scheme is used. -sort-key=Panel-I09a -trigger=namelist:jules_vegetation=stanton_leaf: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::l_rsl_scalar - -[namelist:jules_vegetation=l_scale_resp_pm] -compulsory=true -description=Scale whole plant maintenance respiration by the soil moisture - =stress factor, instead of only scaling leaf respiration. -sort-key=Panel-I18 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::l_scale_resp_pm - -[namelist:jules_vegetation=l_spec_veg_z0] -trigger=namelist:jules_pftparm=dz0v_dh_io: .false.; - =namelist:jules_pftparm=z0v_io: .true.; - -[namelist:jules_vegetation=l_stem_resp_fix] -compulsory=true -description=Switch for bug fix for stem respiration to use balanced LAI to - =derive respiring stem mass. -sort-key=Panel-I06 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::l_stem_resp_fix - -[namelist:jules_vegetation=l_sugar] -compulsory=true -description=Switch for using the SUGAR carbohydrate model to - = calculate respiration -fail-if=this == '.true.' and namelist:jules_model_environment=l_jules_parent == 1; # SUGAR is not available to the UM. -sort-key=Panel-I22 -trigger=namelist:jules_pftparm=sug_g0_io: .true.; - =namelist:jules_pftparm=sug_grec_io: .true.; - =namelist:jules_pftparm=sug_yg_io: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::l_sugar - -[namelist:jules_vegetation=l_trait_phys] -compulsory=true -description=Switch for using trait-based physiology. -sort-key=Panel-I07 -trigger=namelist:jules_pftparm=hw_sw_io: .true.; - =namelist:jules_pftparm=lma_io: .true.; - =namelist:jules_pftparm=nmass_io: .true.; - =namelist:jules_pftparm=nr_io: .true.; - =namelist:jules_pftparm=nsw_io: .true.; - =namelist:jules_pftparm=vint_io: .true.; - =namelist:jules_pftparm=vsl_io: .true.; - =namelist:jules_pftparm=neff_io: .false.; - =namelist:jules_pftparm=nl0_io: .false.; - =namelist:jules_pftparm=sigl_io: .false.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::l_trait_phys - -[namelist:jules_vegetation=l_trif_biocrop] -compulsory=true -description=Allow periodic harvesting of biocrops -fail-if=this == '.true.' and namelist:jules_vegetation=l_trif_crop == '.false.'; -sort-key=Panel-I02c1a -trigger=namelist:jules_triffid=harvest_type_io: .true.; - =namelist:jules_vegetation=l_ag_expand: .true.; - =namelist:jules_agric=file_harvest_doy: .true.; - =namelist:jules_agric=read_harvest_doy_from_dump: .true.; - =namelist:jules_agric=harvest_doy_name: .true.; - =namelist:jules_agric=zero_biocrop: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::l_trif_biocrop - -[namelist:jules_vegetation=l_trif_crop] -compulsory=true -description=Use agricultural PFTs -fail-if=this == '.true.' and namelist:jules_vegetation=l_trif_eq == '.true.'; -sort-key=Panel-I02c1 -trigger=namelist:jules_vegetation=l_trif_biocrop: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::l_trif_crop - -[namelist:jules_vegetation=l_trif_eq] -compulsory=true -description=Run TRIFFID in equilibrium mode -sort-key=Panel-I02c -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::l_trif_eq - -[namelist:jules_vegetation=l_trif_fire] -compulsory=true -description=Use interactive fire linked to INFERNO including interactive fire emissions. -fail-if=this == '.true.' and (namelist:jules_vegetation=l_trif_eq == '.true.'); -sort-key=Panel-I02c -trigger=namelist:jules_pftparm=fire_mort_io: .true. -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::l_trif_fire - -[namelist:jules_vegetation=l_trif_init_accum] -compulsory=true -description=Start a NRUN resetting accumulated Carbon fluxes to zero - =ONLY APPLICABLE TO THE UM -fail-if=this == '.true.' and namelist:jules_model_environment=l_jules_parent == 0; # This is only applicable to the UM so should be false in standalone -help=TRUE: Reset accumulated npp and respiration fluxes to 0. in an NRUN. This is the default - =FALSE: Accumulated fluxes are read from the dump. This is required for a NRUN-NRUN simulation to - =be bit comparable to a NRUN-CRUN experiment - =In a CRUN accumulated fluxes are always read from the dump -sort-key=Panel-I02c -type=logical - -[namelist:jules_vegetation=l_triffid] -compulsory=true -description=Use the TRIFFID dynamic vegetation model, except for competition -sort-key=Panel-I02 -trigger=namelist:jules_vegetation=l_nrun_mid_trif: .true.; - =namelist:jules_vegetation=l_trif_eq: .true.; - =namelist:jules_vegetation=triffid_period: .true.; - =namelist:jules_vegetation=l_veg_compete: .true.; - =namelist:jules_vegetation=l_landuse: .true.; - =namelist:jules_vegetation=l_ht_compete: .true.; - =namelist:jules_vegetation=l_nitrogen: .true.; - =namelist:jules_vegetation=l_red: .true.; - =namelist:jules_vegetation=l_trif_crop: .true.; - =namelist:jules_vegetation=l_trif_fire: .true.; - =namelist:jules_vegetation=l_trif_init_accum: .true.; - =namelist:jules_vegetation=frac_min: .true.; - =namelist:jules_vegetation=frac_seed: .true.; - =namelist:jules_vegetation=pow: .true.; - =namelist:jules_triffid: .true.; - =namelist:jules_agric=zero_agric: .true.; - =namelist:jules_agric=zero_past: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::l_triffid - -[namelist:jules_vegetation=l_use_pft_psi] -compulsory=true -description=Use psi_open_io and psi_close_io to calculate the soil moisture stress function on vegetation. - =NOT AVAILABLE TO THE UM -sort-key=Panel-I19 -trigger=namelist:jules_pftparm=psi_close_io: .true.; - =namelist:jules_pftparm=psi_open_io: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::l_use_pft_psi - -[namelist:jules_vegetation=l_veg_compete] -compulsory=true -description=Use competing vegetation -sort-key=Panel-I02c -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::l_veg_compete - -[namelist:jules_vegetation=l_vegcan_soilfx] -compulsory=true -description=Allow for conduction in the soil below the vegetative canopy. -sort-key=Panel-I08 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::l_vegcan_soilfx - -[namelist:jules_vegetation=l_vegdrag_pft] -compulsory=true -description=Switch for using vegetation canopy drag scheme for each PFT -fail-if=len(this) != namelist:jules_surface_types=npft; # A value must be given for each PFT -length=: -sort-key=Panel-I09 -trigger=namelist:jules_vegetation=c1_usuh: any(this == '.true.'); - = namelist:jules_vegetation=c2_usuh: any(this == '.true.'); - = namelist:jules_vegetation=c3_usuh: any(this == '.true.'); - = namelist:jules_vegetation=cd_leaf: any(this == '.true.'); - = namelist:jules_vegetation=l_rsl_scalar: any(this == '.true.'); -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::l_vegdrag_pft - -[namelist:jules_vegetation=n_alloc_jmax] -compulsory=true -description=Constant relating nitrogen allocation to Jmax -sort-key=Panel-I20c1 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::n_alloc_jmax - -[namelist:jules_vegetation=n_alloc_vcmax] -compulsory=true -description=Constant relating nitrogen allocation to Vcmax -sort-key=Panel-I20c1 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::n_alloc_vcmax - -[namelist:jules_vegetation=n_day_photo_acclim] -compulsory=true -description=Time constant for moving average of temperature (days) -sort-key=Panel-I20a1 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::n_day_photo_acclim - -[namelist:jules_vegetation=phenol_period] -compulsory=true -description=Update frequency for leaf phenology (days) -range=1:365 -sort-key=Panel-I01a -type=integer -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::phenol_period - -[namelist:jules_vegetation=photo_acclim_model] -compulsory=true -description=Choice of model for acclimation of photosynthesis -sort-key=Panel-I20a -trigger=namelist:jules_pftparm=ds_jmax_io: 0; - =namelist:jules_pftparm=ds_vcmax_io: 0; - =namelist:jules_vegetation=dsj_coef: this > 0; - =namelist:jules_vegetation=dsv_coef: this > 0; - =namelist:jules_vegetation=jv25_coef: this > 0; - =namelist:jules_vegetation=n_day_photo_acclim: 2, 3; - =namelist:jules_vegetation_props: 1, 3; -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::photo_acclim_model -value-titles=No acclimation, Thermal adaptation, Thermal acclimation, Thermal adaptation and acclimation -values=0,1,2,3 -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_vegetation=photo_act_model] -compulsory=true -description=Choice of model for the activation energies of Jmax and Vcmax. -fail-if=namelist:jules_vegetation=photo_acclim_model == 0 and this != 1; -sort-key=Panel-I20b -trigger=namelist:jules_pftparm=act_jmax_io: 1; - =namelist:jules_pftparm=act_vcmax_io: 1; - =namelist:jules_vegetation=act_j_coef: 2; - =namelist:jules_vegetation=act_v_coef: 2; -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::photo_act_model -value-titles=Vary by PFT only, Vary by acclimation only -values=1,2 -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_vegetation=photo_jv_model] -compulsory=true -description=Choice of model for the variation of J25:V25 -fail-if=namelist:jules_vegetation=photo_acclim_model == 0 and this != 1; -sort-key=Panel-I20c -trigger=namelist:jules_vegetation=n_alloc_jmax: 2; - =namelist:jules_vegetation=n_alloc_vcmax: 2; -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::photo_jv_model -value-titles=Jmax only, total N constant -values=1,2 -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_vegetation=photo_model] -compulsory=true -description=Choice of photosynthesis model for C3 plants -fail-if=this == 2 and ( namelist:jules_vegetation=can_rad_mod != 1 and namelist:jules_vegetation=can_rad_mod != 5 and namelist:jules_vegetation=can_rad_mod != 6) - =this == 3 and (namelist:jules_vegetation=stomata_model != 3) -sort-key=Panel-I20 -trigger=namelist:jules_pftparm=alpha_elec_io: 2; - =namelist:jules_pftparm=deact_jmax_io: 2; - =namelist:jules_pftparm=deact_vcmax_io: 2; - =namelist:jules_pftparm=jv25_ratio_io: 2; - =namelist:jules_vegetation=photo_acclim_model: 2; - =namelist:jules_vegetation=photo_act_model: 2; - =namelist:jules_vegetation=photo_jv_model: 2; -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::photo_model -value-titles=Collatz, Farquhar, SOX Collatz -values=1,2,3 -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_vegetation=pow] -compulsory=true -description=Power in sigmodial function used to get competition coefficients -sort-key=Panel-I02b -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::pow - -[namelist:jules_vegetation=stanton_leaf] -compulsory=true -description=Leaf-level Stanton number -range=0:1 -sort-key=Panel-I09a1 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::stanton_leaf - -[namelist:jules_vegetation=stomata_model] -compulsory=true -description=Choice of stomatal conductance model -fail-if=this == 3 and namelist:jules_vegetation=l_scale_resp_pm =='.true.'; - = this == 3 and not any(namelist:jules_pftparm=fsmc_mod_io == 1); - = this == 3 and not namelist:jules_vegetation=can_rad_mod == 1; - = this == 3 and namelist:jules_model_environment=l_jules_parent == 1 -# l_scale_resp_pm=T is incompatible with SOX (stomata_model=3) -# SOX (stomata_model=3) must be used with fsmc_mod = 1 -# SOX (stomata_model=3) must be used with can_rad_mod = 1 -# SOX cannot currently be used with the UM -sort-key=Panel-I21 -trigger=namelist:jules_pftparm=dqcrit_io: 1; - =namelist:jules_pftparm=f0_io: 1; - =namelist:jules_pftparm=g1_stomata_io: 2; - =namelist:jules_pftparm=sox_a_io: 3; - =namelist:jules_pftparm=sox_p50_io: 3; - =namelist:jules_pftparm=sox_rp_min_io: 3; -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::stomata_model -value-titles=Original (Jacobs), Medlyn, SOX -values=1,2,3 -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_vegetation=triffid_period] -compulsory=true -description=Update frequency for TRIFFID (days) -range=1:10000 -sort-key=Panel-I02a -type=integer -url=https://metoffice.github.io/jules/latest/namelists/jules_vegetation.nml.html#JULES_VEGETATION::triffid_period - -[namelist:jules_vegetation_props] -compulsory=true -description=Configuration of spatially-varying thermal acclimation properties -ns=namelist/Ancillary data/Vegetation properties -sort-key=26 -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#namelist-JULES_VEGETATION_PROPS -widget[rose-config-edit]=pages.PageWithVariableTable --nvar nvars var use_file var_name tpl_name const_val - -[namelist:jules_vegetation_props=const_val] -compulsory=true -description=Constant value for all points (used if use_file = .false.) -fail-if=len(this) != namelist:jules_vegetation_props=nvars -length=: -sort-key=8 -type=real -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_VEGETATION_PROPS::const_val - -[namelist:jules_vegetation_props=file] -compulsory=true -description=If read_list = TRUE, file to read list of file names - =If read_list = FALSE, file or file name template - =from which to read thermal acclimation properties. -sort-key=2 -trigger=namelist:jules_vegetation_props=tpl_name: '%vv' in this; - =namelist:jules_vegetation_props=read_list: '%vv' not in this; -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_VEGETATION_PROPS::file - -[namelist:jules_vegetation_props=nvars] -compulsory=true -description=Number of thermal acclimation properties that will be given -range=1 -sort-key=3 -trigger=namelist:jules_vegetation_props=var: this > 0; - = namelist:jules_vegetation_props=use_file: this > 0; -type=integer -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_VEGETATION_PROPS::nvars - -[namelist:jules_vegetation_props=read_from_dump] -compulsory=true -description=Read spatially varying thermal acclimation properties from the dump file -sort-key=1 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_VEGETATION_PROPS::read_from_dump - -[namelist:jules_vegetation_props=read_list] -compulsory=true -description=Use list of file names; one per line for each of nvars. -fail-if=this == '.true.' and '%vv' in namelist:jules_vegetation_props=file; # Cannot use variable name templating while reading a list of files. -sort-key=2a -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_VEGETATION_PROPS::read_list - -[namelist:jules_vegetation_props=tpl_name] -compulsory=true -description=String to substitute into the file name template (used if use_file = .true.) -fail-if=len(this) != namelist:jules_vegetation_props=nvars -length=: -sort-key=7 -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_VEGETATION_PROPS::tpl_name - -[namelist:jules_vegetation_props=use_file] -compulsory=true -description=Read variable from file -fail-if=len(this) != namelist:jules_vegetation_props=nvars -length=: -sort-key=5 -trigger=namelist:jules_vegetation_props=file: any(this == '.true.'); - = namelist:jules_vegetation_props=var_name: any(this == '.true.'); - = namelist:jules_vegetation_props=const_val: not all(this == '.true.'); -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_VEGETATION_PROPS::use_file - -[namelist:jules_vegetation_props=var] -compulsory=true -description=Names of the thermal acclimation ancillary variables, as recognised by JULES -fail-if=len(this) != namelist:jules_vegetation_props=nvars -length=: -sort-key=4 -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_VEGETATION_PROPS::var -values='t_home_gb' - -[namelist:jules_vegetation_props=var_name] -compulsory=true -description=Name in file (used if use_file = .true.) -fail-if=len(this) != namelist:jules_vegetation_props=nvars -length=: -sort-key=6 -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_VEGETATION_PROPS::var_name - -[namelist:jules_water_resources] -compulsory=true -description=Configuration of water resource modelling -ns=namelist/JULES Science Settings/jules_water_resources -sort-key=15 -title=Water resources -url=https://metoffice.github.io/jules/latest/namelists/jules_water_resources.nml.html#namelist-JULES_WATER_RESOURCES - -[namelist:jules_water_resources=l_prioritise] -compulsory=true -description=Switch to specify the priority of water demands -sort-key=a8 -trigger=namelist:jules_water_resources=priority: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_water_resources.nml.html#JULES_WATER_RESOURCES::l_prioritise - -[namelist:jules_water_resources=l_water_domestic] -compulsory=true -description=Switch for modelling of water for domestic use -sort-key=a2 -trigger=namelist:jules_water_resources=rf_domestic: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_water_resources.nml.html#JULES_WATER_RESOURCES::l_water_domestic - -[namelist:jules_water_resources=l_water_environment] -compulsory=true -description=Switch for modelling of water for environmental use -fail-if=this == '.true.'; # code is not yet complete -sort-key=a3 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_water_resources.nml.html#JULES_WATER_RESOURCES::l_water_environment - -[namelist:jules_water_resources=l_water_industry] -compulsory=true -description=Switch for modelling of water for industrial use -sort-key=a4 -trigger=namelist:jules_water_resources=rf_industry: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_water_resources.nml.html#JULES_WATER_RESOURCES::l_water_industry - -[namelist:jules_water_resources=l_water_irrigation] -compulsory=true -description=Switch for modelling of water for irrigation -fail-if=namelist:jules_irrig=l_irrig_limit == '.true.' and this == '.true.'; # l_irrig_limit must be F if l_water_irrigation=T -sort-key=a5 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_water_resources.nml.html#JULES_WATER_RESOURCES::l_water_irrigation - -[namelist:jules_water_resources=l_water_livestock] -compulsory=true -description=Switch for modelling of water for livestock -sort-key=a6 -trigger=namelist:jules_water_resources=rf_livestock: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_water_resources.nml.html#JULES_WATER_RESOURCES::l_water_livestock - -[namelist:jules_water_resources=l_water_resources] -compulsory=true -description=Switch for modelling of water resource modelling - =This must be .false. in the UM until further testing. -fail-if=this == '.true.' and namelist:jules_model_environment=l_jules_parent == 1; # Must be false in the UM. -sort-key=a1 -trigger=namelist:jules_water_resources=l_prioritise: .true.; - =namelist:jules_water_resources=l_water_domestic: .true.; - =namelist:jules_water_resources=l_water_environment: .true.; - =namelist:jules_water_resources=l_water_industry: .true.; - =namelist:jules_water_resources=l_water_irrigation: .true.; - =namelist:jules_water_resources=l_water_livestock: .true.; - =namelist:jules_water_resources=l_water_transfers: .true.; - =namelist:jules_water_resources=nr_gwater_model: .true.; - =namelist:jules_water_resources=nstep_water_res: .true.; - =namelist:jules_water_resources=partition_method: .true.; - =namelist:jules_water_resources_props: .true.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_water_resources.nml.html#JULES_WATER_RESOURCES::l_water_resources - -[namelist:jules_water_resources=l_water_transfers] -compulsory=true -description=Switch for modelling of water for water transfers -fail-if=this == '.true.'; # code is not yet complete -sort-key=a7 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/jules_water_resources.nml.html#JULES_WATER_RESOURCES::l_water_transfers - -[namelist:jules_water_resources=nr_gwater_model] -compulsory=true -description=Model for non-renewable groundwater -sort-key=b2 -url=https://metoffice.github.io/jules/latest/namelists/jules_water_resources.nml.html#JULES_WATER_RESOURCES::nr_gwater_model -value-titles=None,Last resort,Mix -values=0,1,2 -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_water_resources=nstep_water_res] -compulsory=true -description=Timestep length for water resource model (number of main model timesteps) -range=1: -sort-key=b1 -type=integer -url=https://metoffice.github.io/jules/latest/namelists/jules_water_resources.nml.html#JULES_WATER_RESOURCES::nstep_water_res - -[namelist:jules_water_resources=partition_method] -compulsory=true -description=Method used to get the target fraction of demand to be met from surface water -sort-key=b6 -trigger=namelist:jules_water_resources=sfc_water_factor: 2; -url=https://metoffice.github.io/jules/latest/namelists/jules_water_resources.nml.html#JULES_WATER_RESOURCES::partition_method -value-titles=None,Use ancillary file,Calculate from stores -values=0,1,2 -widget[rose-config-edit]=cylc8_compat.ComboBoxValueWidget - -[namelist:jules_water_resources=priority] -compulsory=true -description=Water sector names, in order of decreasing priority -length=: -sort-key=a9 -url=https://metoffice.github.io/jules/latest/namelists/jules_water_resources.nml.html#JULES_WATER_RESOURCES::priority -values='dom','env','ind','irr','liv','tra' - -[namelist:jules_water_resources=rf_domestic] -compulsory=true -description=Fraction of water that is returned after abstraction for domestic use -range=0:1 -sort-key=b3 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_water_resources.nml.html#JULES_WATER_RESOURCES::rf_domestic - -[namelist:jules_water_resources=rf_industry] -compulsory=true -description=Fraction of water that is returned after abstraction for industrial purposes -range=0:1 -sort-key=b4 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_water_resources.nml.html#JULES_WATER_RESOURCES::rf_industry - -[namelist:jules_water_resources=rf_livestock] -compulsory=true -description=Fraction of water that is returned after abstraction for livestock -range=0:1 -sort-key=b5 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_water_resources.nml.html#JULES_WATER_RESOURCES::rf_livestock - -[namelist:jules_water_resources=sfc_water_factor] -compulsory=true -description=Weight applied to surface water when calculating target fraction for surface water -range=0: -sort-key=b7 -type=real -url=https://metoffice.github.io/jules/latest/namelists/jules_water_resources.nml.html#JULES_WATER_RESOURCES::sfc_water_factor - -[namelist:jules_water_resources_props] -compulsory=true -description=Configuration of spatially-varying water resource properties -ns=namelist/Ancillary data/Water resource properties -sort-key=26 -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#namelist-JULES_WATER_RESOURCES_PROPS -widget[rose-config-edit]=pages.PageWithVariableTable --nvar nvars var use_file var_name tpl_name const_val - -[namelist:jules_water_resources_props=const_val] -compulsory=true -description=Constant value for all points (used if use_file = .false.) -fail-if=len(this) != namelist:jules_water_resources_props=nvars -length=: -sort-key=8 -type=real -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_WATER_RESOURCES_PROPS::const_val - -[namelist:jules_water_resources_props=file] -compulsory=true -description=If read_list = TRUE, file to read list of file names - =If read_list = FALSE, file or file name template - =from which to read overbank inundation properties. -sort-key=2 -trigger=namelist:jules_water_resources_props=tpl_name: '%vv' in this; - =namelist:jules_water_resources_props=read_list: '%vv' not in this; -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_WATER_RESOURCES_PROPS::file - -[namelist:jules_water_resources_props=nvars] -compulsory=true -description=Number of water resource properties that will be given -range=2:3 -sort-key=3 -trigger=namelist:jules_water_resources_props=var: this > 0; - = namelist:jules_water_resources_props=use_file: this > 0; -type=integer -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_WATER_RESOURCES_PROPS::nvars - -[namelist:jules_water_resources_props=read_from_dump] -compulsory=true -description=Read spatially-varying water resource properties from the dump file -sort-key=1 -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_WATER_RESOURCES_PROPS::read_from_dump - -[namelist:jules_water_resources_props=read_list] -compulsory=true -description=Use list of file names; one per line for each of nvars. -fail-if=this == '.true.' and '%vv' in namelist:jules_water_resources_props=file; # Cannot use variable name templating while reading a list of files. -sort-key=2a -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_WATER_RESOURCES_PROPS::read_list - -[namelist:jules_water_resources_props=tpl_name] -compulsory=true -description=String to substitute into the file name template (used if use_file = .true.) -fail-if=len(this) != namelist:jules_water_resources_props=nvars -length=: -sort-key=7 -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_WATER_RESOURCES_PROPS::tpl_name - -[namelist:jules_water_resources_props=use_file] -compulsory=true -description=Read variable from file -fail-if=len(this) != namelist:jules_water_resources_props=nvars -length=: -sort-key=5 -trigger=namelist:jules_water_resources_props=file: any(this == '.true.'); - = namelist:jules_water_resources_props=var_name: any(this == '.true.'); - = namelist:jules_water_resources_props=const_val: not all(this == '.true.'); -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_WATER_RESOURCES_PROPS::use_file - -[namelist:jules_water_resources_props=var] -compulsory=true -description=Names of the water resource ancillary variables, as recognised by JULES -fail-if=len(this) != namelist:jules_water_resources_props=nvars -length=: -sort-key=4 -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_WATER_RESOURCES_PROPS::var -values='conv_loss_frac','sfc_water_frac' - -[namelist:jules_water_resources_props=var_name] -compulsory=true -description=Name in file (used if use_file = .true.) -fail-if=len(this) != namelist:jules_water_resources_props=nvars -length=: -sort-key=6 -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#JULES_WATER_RESOURCES_PROPS::var_name - -[namelist:jules_z_land] -compulsory=true -ns=namelist/Grid configuration/Gridbox mean elevation associated with the forcing data -sort-key=27 -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#namelist-JULES_Z_LAND - -[namelist:jules_z_land=file] -compulsory=true -description=Name of the file to read the elevation of the forcing data -sort-key=3 -type=character -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_Z_LAND::file - -[namelist:jules_z_land=surf_hgt_band] -compulsory=true -description=Spatially invariant elevation bands used if any tile has l_elev_absolute_height=.true.. Elevation bands may have absolute or relative to gridbox mean elevations. -fail-if=(namelist:jules_surface=l_aggregate and len(this) != 1) or (not namelist:jules_surface=l_aggregate and len(this) != (namelist:jules_surface_types=npft + namelist:jules_surface_types=nnvg)) -length=: -sort-key=1 -type=real -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_SURF_HGT::surf_hgt_io - -[namelist:jules_z_land=use_file] -compulsory=true -description=Read the elevation of forcing data from a file -length=: -sort-key=2 -trigger=namelist:jules_z_land=file: .true.; - = namelist:jules_z_land=z_land_name: .true.; - = namelist:jules_z_land=z_land_io: .false.; -type=logical -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_Z_LAND::use_file - -[namelist:jules_z_land=z_land_io] -compulsory=true -description=Elevation of the forcing data for the single location -length=: -sort-key=5 -type=real -url=https://metoffice.github.io/jules/latest/namelist/model_grid.nml.html#JULES_Z_LAND::z_land_io - -[namelist:jules_z_land=z_land_name] -compulsory=true -description=Name of the variable containing the elevation of the forcing data -sort-key=4 -type=character -url=https://metoffice.github.io/jules/latest/namelists/model_grid.nml.html#JULES_Z_LAND::z_land_name - -[namelist:oasis_rivers] -compulsory=true -description=Configuration of Rivers coupled via OASIS to parent model -ns=namelist/River coupling -sort-key=07 -url=https://metoffice.github.io/jules/latest/namelists/oasis_rivers.nml.html#namelist-OASIS_RIVERS - -[namelist:oasis_rivers=cpl_freq] -compulsory=true -description=River coupling frequency in seconds -fail-if=(this % namelist:jules_time=timestep_len) != 0; # The coupling frequency must be a multiple of the time step -range=1: -sort-key=1 -type=integer -url=https://metoffice.github.io/jules/latest/namelists/oasis_rivers.nml.html#OASIS_RIVERS::cpl_freq - -[namelist:oasis_rivers=np_receive] -compulsory=true -description=Number of received fields via OASIS -fail-if=this < 0; - =this != 2; # Only fully coupled mode is supported -range=0:2 -sort-key=1 -trigger=namelist:oasis_rivers=receive_fields: this > 0; - =namelist:oasis_rivers=cpl_freq: this >= 0; -type=integer -url=https://metoffice.github.io/jules/latest/namelists/oasis_rivers.nml.html#OASIS_RIVERS::np_receive - -[namelist:oasis_rivers=np_send] -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:2 -sort-key=1 -trigger=namelist:oasis_rivers=send_fields: this > 0; - =namelist:oasis_rivers=cpl_freq: this >= 0; -type=integer -url=https://metoffice.github.io/jules/latest/namelists/oasis_rivers.nml.html#OASIS_RIVERS::np_send - -[namelist:oasis_rivers=receive_fields] -compulsory=true -description=List of fields received via OASIS coupling -fail-if=len(this)>2; - =len(this) != namelist:oasis_rivers=np_receive; -length=: -sort-key=3 -url=https://metoffice.github.io/jules/latest/namelists/oasis_rivers.nml.html#OASIS_RIVERS::receive_fields -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)>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 -<<<<<<< HEAD -url=http://jules-lsm.github.io/latest/namelists/oasis_rivers.nml.html#OASIS_RIVERS::send_fields -values='outflow_per_river','inland_outflow' -======= -url=https://metoffice.github.io/jules/latest/namelists/oasis_rivers.nml.html#OASIS_RIVERS::send_fields -values='outflow_per_river' ->>>>>>> origin/main - -[namelist:run_convection] -compulsory=false -description=Atmosphere Convection - =NOT AVAILABLE TO STANDALONE - =READ BY UM-JULES ONLY - =INCLUDED TO ALLOW TRIGGER LISTS TO BE SHARED - -[namelist:run_convection=cnv_cold_pools] -compulsory=false -description=Convective cold pool scheme. - =NOT AVAILABLE TO STANDALONE - =READ BY UM-JULES ONLY - =INCLUDED TO ALLOW TRIGGER LISTS TO BE SHARED - -[namelist:run_stochastic] -compulsory=false -description=Atmosphere Stochastic Schemes - =NOT AVAILABLE TO STANDALONE - =READ BY UM-JULES ONLY - =INCLUDED TO ALLOW TRIGGER LISTS TO BE SHARED - -[namelist:run_stochastic=orog_drag_param_rp] -compulsory=false -description=Orographic form drag parameter - =NOT AVAILABLE TO STANDALONE - =READ BY UM-JULES ONLY - =INCLUDED TO ALLOW TRIGGER LISTS TO BE SHARED - -[namelist:run_stochastic=z0_urban_mult_rp] -compulsory=false -description=RP for the roughness length for urban canyon and roof tiles - =NOT AVAILABLE TO STANDALONE - =READ BY UM-JULES ONLY - =INCLUDED TO ALLOW TRIGGER LISTS TO BE SHARED - -[namelist:urban_properties] -compulsory=true -description=Configuration of spatially varying urban properties -ns=namelist/Ancillary data/Urban properties -sort-key=23 -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#namelist-URBAN_PROPERTIES -widget[rose-config-edit]=pages.PageWithVariableTable --nvar nvars var use_file var_name tpl_name const_val - -[namelist:urban_properties=const_val] -compulsory=true -description=Constant value for all points (used if use_file = .false.) -fail-if=len(this) != namelist:urban_properties=nvars -length=: -sort-key=7 -type=real -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#URBAN_PROPERTIES::const_val - -[namelist:urban_properties=file] -compulsory=true -description=If read_list = TRUE, file to read list of file names - =If read_list = FALSE, file or file name template - =from which to read urban properties. -sort-key=1 -trigger=namelist:urban_properties=tpl_name: '%vv' in this; - =namelist:urban_properties=read_list: '%vv' not in this; -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#URBAN_PROPERTIES::file - -[namelist:urban_properties=nvars] -compulsory=true -description=Number of urban properties that will be given -fail-if=this == 0 and namelist:jules_surface_types=urban_canyon > 0; # Urban properties need to be supplied when using two-tile urban schemes - =this == 0 and namelist:jules_surface_types=urban_roof > 0; # Urban properties need to be supplied when using two-tile urban schemes -range=1:9 -sort-key=2 -trigger=namelist:urban_properties=var: this > 0; - = namelist:urban_properties=use_file: this > 0; -type=integer -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#URBAN_PROPERTIES::nvars - -[namelist:urban_properties=read_list] -compulsory=true -description=Use list of file names; one per line for each of nvars. -fail-if=this == '.true.' and '%vv' in namelist:urban_properties=file; # Cannot use variable name templating while reading a list of files. -sort-key=1a -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#URBAN_PROPERTIES::read_list - -[namelist:urban_properties=tpl_name] -compulsory=true -description=String to substitute into the file name template (used if use_file = .true.) -fail-if=len(this) != namelist:urban_properties=nvars -length=: -sort-key=6 -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#URBAN_PROPERTIES::tpl_name - -[namelist:urban_properties=use_file] -compulsory=true -description=Read variable from file -fail-if=len(this) != namelist:urban_properties=nvars -length=: -sort-key=4 -trigger=namelist:urban_properties=file: any(this == '.true.'); - = namelist:urban_properties=var_name: any(this == '.true.'); - = namelist:urban_properties=const_val: not all(this == '.true.'); -type=logical -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#URBAN_PROPERTIES::use_file - -[namelist:urban_properties=var] -compulsory=true -description=Name of the urban variable, as recognised by JULES -fail-if=len(this) != namelist:urban_properties=nvars - =not any(this == "'wrr'") and (namelist:jules_surface_types=urban_canyon > 0 or namelist:jules_surface_types=urban_roof > 0); # wrr must be specified when using two-tile urban schemes - =(not any(this == "'wrr'") or not any(this == "'hgt'") or not any(this == "'hwr'")) and (not namelist:jules_urban=l_urban_empirical); # Urban morphology must be specified if not using empirical morphology - =not any(this == "'ztm'") and namelist:jules_urban=l_moruses_macdonald == '.false.'; # Roughness length must be specified if not using MacDonald parametrisation - =not any(this == "'disp'") and namelist:jules_urban=l_moruses_macdonald == '.false.'; # Displacement height must be specified if not using MacDonald parametrisation - =not any(this == "'albwl'") and namelist:jules_urban=l_moruses_albedo == '.true.'; # Albedo of wall is required if using MORUSES albedo parameterisation - =not any(this == "'albrd'") and namelist:jules_urban=l_moruses_albedo == '.true.'; # Albedo of road is required if using MORUSES albedo parameterisation - =not any(this == "'emisw'") and namelist:jules_urban=l_moruses_emissivity == '.true.'; # Emissivity of wall is required if using MORUSES emissivity parameterisation - =not any(this == "'emisr'") and namelist:jules_urban=l_moruses_emissivity == '.true.'; # Emissivity of road is required if using MORUSES emissivity parameterisation -length=: -sort-key=3 -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#URBAN_PROPERTIES::var -values='albrd','albwl','disp','emisr','emisw','hgt','hwr','wrr','ztm' - -[namelist:urban_properties=var_name] -compulsory=true -description=Name in file (used if use_file = .true.) -fail-if=len(this) != namelist:urban_properties=nvars -length=: -sort-key=5 -type=character -url=https://metoffice.github.io/jules/latest/namelists/ancillaries.nml.html#URBAN_PROPERTIES::var_name - -# Dummy page to force sort order for Ancillary namespace -[namespace:ancils] -ns=namelist/Ancillary data -sort-key=06 - -# Dummy page to force sort order for Grid configuration settings -[namespace:grid] -ns=namelist/Grid configuration -sort-key=05 - -# Dummy section to combine IMOGEN namelists -[namespace:imogen] -ns=namelist/IMOGEN -sort-key=08 -url=https://metoffice.github.io/jules/latest/namelists/imogen.nml.html - -# Dummy page to force sort order for JULES Science Settings -[namespace:science] -ns=namelist/JULES Science Settings -sort-key=02 - -# Dummy page to force sort order for JULES Surface Types -[namespace:surface_types] -ns=namelist/JULES Surface Types -sort-key=01 From fcf6e141517169f63e4f881c21066a5892fb2305 Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Wed, 15 Apr 2026 15:21:35 +0100 Subject: [PATCH 15/36] Edit warning message --- src/initialisation/standalone/init_output_mod.F90 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/initialisation/standalone/init_output_mod.F90 b/src/initialisation/standalone/init_output_mod.F90 index 3e23e709..21898fc8 100644 --- a/src/initialisation/standalone/init_output_mod.F90 +++ b/src/initialisation/standalone/init_output_mod.F90 @@ -440,7 +440,8 @@ SUBROUTINE check_output_vars( nvars, var, var_name, output_type, & IF ( l_outflow_per_river .AND. (.NOT. l_inland_outflow) ) THEN CALL log_warn( RoutineName, & "Adding the inland_outflow_rp diagnostic " // & - "will alter the contents of the outflow_per_river " // & + "will alter the flow going into inland basin flow " // & + "points and the contents of the outflow_per_river " // & "diagnostic." ) END IF From cbad875e12421833c227c6ccc4c0200d510b3f4c Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Tue, 28 Apr 2026 17:17:11 +0100 Subject: [PATCH 16/36] Applied most of the reviewer comments from here https://github.com/MetOffice/jules/pull/89 --- doc/source/namelists/initial_conditions.nml.rst | 7 +++++++ doc/source/namelists/jules_hydrology.nml.rst | 2 +- doc/source/namelists/model_grid.nml.rst | 2 +- doc/source/output-variables.rst | 8 ++++++++ .../jules-hydrology/HEAD/rose-meta.conf | 1 + rose-meta/jules-standalone/HEAD/rose-meta.conf | 2 +- rose-meta/jules-standalone/versions.py | 15 ++++----------- .../standalone/init_output_mod.F90 | 17 ++++++++++------- 8 files changed, 33 insertions(+), 21 deletions(-) diff --git a/doc/source/namelists/initial_conditions.nml.rst b/doc/source/namelists/initial_conditions.nml.rst index 3d70b899..a5f2998f 100644 --- a/doc/source/namelists/initial_conditions.nml.rst +++ b/doc/source/namelists/initial_conditions.nml.rst @@ -425,6 +425,13 @@ 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 | +----------------------------------+-----------------------------------------------------------------------------------------+---------+ +| ``inland_outflow_rp`` | Inland basin flow on river routing points (kg m\ :sup:`-2` s\ :sup:`-1`). | none | +| | 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. | | ++----------------------------------+-----------------------------------------------------------------------------------------+---------+ | Required if :nml:mem:`JULES_VEGETATION::photo_acclim_model` = 2 or 3 | +----------------------------------+-----------------------------------------------------------------------------------------+---------+ | ``t_growth_gb`` | Running mean air temperature (K) | none | diff --git a/doc/source/namelists/jules_hydrology.nml.rst b/doc/source/namelists/jules_hydrology.nml.rst index 23bb597d..d67fa50a 100644 --- a/doc/source/namelists/jules_hydrology.nml.rst +++ b/doc/source/namelists/jules_hydrology.nml.rst @@ -103,7 +103,7 @@ This file sets the hydrology options. It contains one namelist called :nml:lst:` :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. + 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. diff --git a/doc/source/namelists/model_grid.nml.rst b/doc/source/namelists/model_grid.nml.rst index ab6d134b..2d4222bc 100644 --- a/doc/source/namelists/model_grid.nml.rst +++ b/doc/source/namelists/model_grid.nml.rst @@ -416,7 +416,7 @@ For any input grid with more than a single location, the following are used: :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. + 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. diff --git a/doc/source/output-variables.rst b/doc/source/output-variables.rst index 4349855d..2bea3d9d 100644 --- a/doc/source/output-variables.rst +++ b/doc/source/output-variables.rst @@ -433,6 +433,14 @@ 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 | +| | 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. | | +| | Only available if :nml:mem:`JULES_RIVERS::l_rivers` = TRUE. | | +-------------------------------+-----------------------------------------------------------------------------------------------+------------+ | ``rrun_rp`` | River routing gridbox runoff rate received by river routing routine | np_rivers | | | (kg m\ :sup:`-2` s\ :sup:`-1`). | | diff --git a/rose-meta/jules-shared/jules-hydrology/HEAD/rose-meta.conf b/rose-meta/jules-shared/jules-hydrology/HEAD/rose-meta.conf index 88f1cec2..1e5f7007 100644 --- a/rose-meta/jules-shared/jules-hydrology/HEAD/rose-meta.conf +++ b/rose-meta/jules-shared/jules-hydrology/HEAD/rose-meta.conf @@ -20,6 +20,7 @@ url=https://metoffice.github.io/jules/latest/namelists/jules_hydrology.nml.html# [namelist:jules_hydrology=l_inland] compulsory=true description=Apply inland basin water correction to soil moisture + =NOT AVAILABLE TO STANDALONE sort-key=Panel-G06 type=logical url=http://jules-lsm.github.io/latest/namelists/jules_hydrology.nml.html#JULES_HYDROLOGY::l_inland diff --git a/rose-meta/jules-standalone/HEAD/rose-meta.conf b/rose-meta/jules-standalone/HEAD/rose-meta.conf index 35adee70..8248b528 100644 --- a/rose-meta/jules-standalone/HEAD/rose-meta.conf +++ b/rose-meta/jules-standalone/HEAD/rose-meta.conf @@ -2414,7 +2414,7 @@ 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=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=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 diff --git a/rose-meta/jules-standalone/versions.py b/rose-meta/jules-standalone/versions.py index bfc809b9..55f8463e 100644 --- a/rose-meta/jules-standalone/versions.py +++ b/rose-meta/jules-standalone/versions.py @@ -54,16 +54,9 @@ def upgrade(self, config, meta_config=None): """Upgrade a JULES runtime app configuration.""" # Move the l_inland switch from the rivers namelist to the hydrology - # namelist but only when the rivers are turned on. Otherwise set it to - # .false. - l_inland = ".false." - l_rivers = self.get_setting_value( - config, ["namelist:jules_rivers", "l_rivers"] - ) - if l_rivers == ".true.": - l_inland = self.get_setting_value( - config, ["namelist:jules_rivers", "l_inland"] - ) + # namelist. l_inland should always be false as it is only used + # in um-jules and lfric-jules (not jules-standalone). + # Also add l_use_land_fraction as false. lsm_id = int( self.get_setting_value( @@ -72,7 +65,7 @@ def upgrade(self, config, meta_config=None): ) if lsm_id != 3: self.add_setting( - config, ["namelist:jules_hydrology", "l_inland"], l_inland + config, ["namelist:jules_hydrology", "l_inland"], ".false." ) self.remove_setting(config, ["namelist:jules_rivers", "l_inland"]) diff --git a/src/initialisation/standalone/init_output_mod.F90 b/src/initialisation/standalone/init_output_mod.F90 index 21898fc8..f35234c0 100644 --- a/src/initialisation/standalone/init_output_mod.F90 +++ b/src/initialisation/standalone/init_output_mod.F90 @@ -433,16 +433,19 @@ SUBROUTINE check_output_vars( nvars, var, var_name, output_type, & END IF IF ( ANY( var(:) == 'inland_outflow_rp' ) ) THEN - ! For the special case when the inland basin flow diagnostic is - ! requested and the model does not already have l_inland_outflow - ! set by the coupler then this will alter the outflow_per_river - ! diagnostic. If this is the case then print out a warning. - IF ( l_outflow_per_river .AND. (.NOT. l_inland_outflow) ) THEN + ! The inland basin flow is used for water conservation purposes + ! and as such alters the calculation of river flow. To avoid + ! super-saturation, inflow (surface & sub-surface runoff) is sent + ! to the ocean via the closest large river favouring those with + ! larger climatological outflows. This diagnostic when coupled + ! is passed to the soil moisture. When uncoupled, ensure its + ! affect on river flow calculations is known via a warning. + IF (.NOT. l_inland_outflow) THEN CALL log_warn( RoutineName, & "Adding the inland_outflow_rp diagnostic " // & "will alter the flow going into inland basin flow " // & - "points and the contents of the outflow_per_river " // & - "diagnostic." ) + "points, changing the calculation of river flow and " // & + "its associated diagnostics." ) END IF l_inland_outflow = .TRUE. From d5524628976cc3f1aaa8d6615b4d210e583eefe5 Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Thu, 14 May 2026 15:59:07 +0100 Subject: [PATCH 17/36] Add check that land frations have correct land points --- .../init_ancillaries_coupling_mod.F90 | 63 +++++++++++++++++-- .../init_rivers_process_data_mod.F90 | 2 +- 2 files changed, 60 insertions(+), 5 deletions(-) diff --git a/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 b/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 index e5f25548..750a8aa4 100644 --- a/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 +++ b/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 @@ -25,12 +25,14 @@ MODULE init_ancillaries_coupling_mod SUBROUTINE check_ancil_rivers( dir_mouth, dir_inland_drainage, & direction_grid, & rivers_outflow_number, & - rivers_storage ) + rivers_storage, land_fraction_2d ) USE jules_rivers_mod, ONLY: nx_rivers, ny_rivers, n_rivers, i_river_vn, & rivers_trip, l_inland_outflow, & - l_outflow_per_river, l_init_storage + l_outflow_per_river, l_init_storage, & + river_mouth USE jules_rivers_props_mod, ONLY: l_ignore_ancil_rivers_check +USE coastal, ONLY: l_use_land_fraction USE missing_data_mod, ONLY: imdi USE string_utils_mod, ONLY: to_string USE um_types, ONLY: real_jlslsm @@ -58,6 +60,10 @@ SUBROUTINE check_ancil_rivers( dir_mouth, dir_inland_drainage, & rivers_storage(nx_rivers,ny_rivers) ! River routing gridbox river storage (kg). +REAL(KIND=real_jlslsm), INTENT(IN) :: & + land_fraction_2d(nx_rivers,ny_rivers) + ! Fraction of land in each grid box + !------------------------------------------------------------------------------ ! Array arguments with INTENT(IN OUT) !------------------------------------------------------------------------------ @@ -75,6 +81,8 @@ SUBROUTINE check_ancil_rivers( dir_mouth, dir_inland_drainage, & ! Field to be checked for consistency check_river_ancil_ctrl(:,:), & ! Field used as a control to check for consistency + check_land_fractions(:,:), & + ! Field used to check land fractions for conststency match(:,:) ! Difference between test and control @@ -85,6 +93,7 @@ SUBROUTINE check_ancil_rivers( dir_mouth, dir_inland_drainage, & ALLOCATE ( check_river_ancil_test(nx_rivers,ny_rivers) ) ALLOCATE ( check_river_ancil_ctrl(nx_rivers,ny_rivers) ) +ALLOCATE ( check_land_fractions(nx_rivers,ny_rivers) ) ALLOCATE ( match(nx_rivers,ny_rivers) ) IF ( l_outflow_per_river ) THEN @@ -188,7 +197,7 @@ SUBROUTINE check_ancil_rivers( dir_mouth, dir_inland_drainage, & IF ( ERROR /= 0 ) THEN WRITE(jules_message, *) & - 'River routine & storage ancillary is not consistent. ' // & + 'River routing & storage ancillary are not consistent. ' // & 'Number of inconsistent points = ', ERROR CALL log_error(RoutineName, jules_message) ELSE @@ -197,7 +206,53 @@ SUBROUTINE check_ancil_rivers( dir_mouth, dir_inland_drainage, & END IF END IF -DEALLOCATE( check_river_ancil_test, check_river_ancil_ctrl, match ) +IF ( l_use_land_fraction) THEN + ! Make sure there are no land fractions at non-river points. + check_land_fractions(:,:) = 0 + WHERE ( land_fraction_2d(:,:) > 0 ) + check_land_fractions(:,:) = 1 ! Set points with land fractions to 1 + END WHERE + WHERE ( direction_grid(:,:) > 0 ) + check_land_fractions(:,:) = 0 ! Set points with rivers back to 0 + END WHERE + + ERROR = COUNT ( check_land_fractions(:,:) /= 0 ) + + IF ( ERROR /= 0 ) THEN + WRITE(jules_message, *) & + 'There are some land fractions at non-river points. ' // & + 'Number of inconsistent points = ', ERROR + CALL log_error(RoutineName, jules_message) + ELSE + CALL log_info(RoutineName, & + 'All non-zero land fraction points are modelled by rivers') + END IF + + ! Make sure there are no river direction points (not outflow) + ! at zero land fraction points. + check_land_fractions(:,:) = 0 + WHERE ( direction_grid(:,:) > 0 .AND. direction_grid(:,:) < -1*river_mouth ) + check_land_fractions(:,:) = 1 ! Set points with river directions to 1 + END WHERE + WHERE ( land_fraction_2d(:,:) > 0 ) + check_land_fractions(:,:) = 0 ! Set points with land fractions back to 0 + END WHERE + + ERROR = COUNT ( check_land_fractions(:,:) /= 0 ) + + IF ( ERROR /= 0 ) THEN + WRITE(jules_message, *) & + 'There are some river direction points at zero land fraction points. '//& + 'Number of inconsistent points = ', ERROR + CALL log_error(RoutineName, jules_message) + ELSE + CALL log_info(RoutineName, & + 'All river direction points have a non-zero land fraction.') + END IF +END IF + +DEALLOCATE( check_river_ancil_test, check_river_ancil_ctrl, match, & + check_land_fractions ) END SUBROUTINE check_ancil_rivers diff --git a/src/initialisation/standalone/ancillaries/init_rivers_process_data_mod.F90 b/src/initialisation/standalone/ancillaries/init_rivers_process_data_mod.F90 index 8e774bf8..1e5d4283 100644 --- a/src/initialisation/standalone/ancillaries/init_rivers_process_data_mod.F90 +++ b/src/initialisation/standalone/ancillaries/init_rivers_process_data_mod.F90 @@ -366,7 +366,7 @@ SUBROUTINE process_rivers_data( l_use_direction, rivers, rivers_data ) IF ( l_outflow_per_river .OR. l_init_storage ) THEN CALL check_ancil_rivers( dir_mouth, dir_inland_drainage, & direction_grid, rivers%rivers_outflow_number, & - rivers%rivers_storage ) + rivers%rivers_storage, rivers%land_fraction_2d ) END IF END IF ! is_master From 46f03abbb87c59c0440c3d66563717b87cf30c62 Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Thu, 14 May 2026 16:29:07 +0100 Subject: [PATCH 18/36] Ran umdp3_fixer.py --- .../ancillaries/init_ancillaries_coupling_mod.F90 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 b/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 index 750a8aa4..f70af5b4 100644 --- a/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 +++ b/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 @@ -211,11 +211,11 @@ SUBROUTINE check_ancil_rivers( dir_mouth, dir_inland_drainage, & check_land_fractions(:,:) = 0 WHERE ( land_fraction_2d(:,:) > 0 ) check_land_fractions(:,:) = 1 ! Set points with land fractions to 1 - END WHERE + END WHERE WHERE ( direction_grid(:,:) > 0 ) check_land_fractions(:,:) = 0 ! Set points with rivers back to 0 END WHERE - + ERROR = COUNT ( check_land_fractions(:,:) /= 0 ) IF ( ERROR /= 0 ) THEN @@ -236,8 +236,8 @@ SUBROUTINE check_ancil_rivers( dir_mouth, dir_inland_drainage, & END WHERE WHERE ( land_fraction_2d(:,:) > 0 ) check_land_fractions(:,:) = 0 ! Set points with land fractions back to 0 - END WHERE - + END WHERE + ERROR = COUNT ( check_land_fractions(:,:) /= 0 ) IF ( ERROR /= 0 ) THEN From 0a3cc3013935a2b78c6a971e88b56122af074f05 Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Fri, 15 May 2026 17:06:57 +0100 Subject: [PATCH 19/36] Remove /= bit to if test --- .../standalone/ancillaries/init_ancillaries_coupling_mod.F90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 b/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 index f70af5b4..59262a19 100644 --- a/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 +++ b/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 @@ -216,7 +216,7 @@ SUBROUTINE check_ancil_rivers( dir_mouth, dir_inland_drainage, & check_land_fractions(:,:) = 0 ! Set points with rivers back to 0 END WHERE - ERROR = COUNT ( check_land_fractions(:,:) /= 0 ) + ERROR = COUNT ( check_land_fractions(:,:) ) IF ( ERROR /= 0 ) THEN WRITE(jules_message, *) & @@ -238,7 +238,7 @@ SUBROUTINE check_ancil_rivers( dir_mouth, dir_inland_drainage, & check_land_fractions(:,:) = 0 ! Set points with land fractions back to 0 END WHERE - ERROR = COUNT ( check_land_fractions(:,:) /= 0 ) + ERROR = COUNT ( check_land_fractions(:,:) ) IF ( ERROR /= 0 ) THEN WRITE(jules_message, *) & From e7c60bfacd632186ddd67870324d895edced311b Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Fri, 15 May 2026 17:28:49 +0100 Subject: [PATCH 20/36] Change from COUNT to SUM --- .../standalone/ancillaries/init_ancillaries_coupling_mod.F90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 b/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 index 59262a19..a5180c52 100644 --- a/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 +++ b/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 @@ -216,7 +216,7 @@ SUBROUTINE check_ancil_rivers( dir_mouth, dir_inland_drainage, & check_land_fractions(:,:) = 0 ! Set points with rivers back to 0 END WHERE - ERROR = COUNT ( check_land_fractions(:,:) ) + ERROR = SUM( check_land_fractions ) IF ( ERROR /= 0 ) THEN WRITE(jules_message, *) & @@ -238,7 +238,7 @@ SUBROUTINE check_ancil_rivers( dir_mouth, dir_inland_drainage, & check_land_fractions(:,:) = 0 ! Set points with land fractions back to 0 END WHERE - ERROR = COUNT ( check_land_fractions(:,:) ) + ERROR = SUM( check_land_fractions ) IF ( ERROR /= 0 ) THEN WRITE(jules_message, *) & From 804c8db5e672673b890469ee9725c65956412ee0 Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Tue, 19 May 2026 13:53:51 +0100 Subject: [PATCH 21/36] Update doc/source/namelists/initial_conditions.nml.rst Co-authored-by: Maggie <145924708+maggiehendry@users.noreply.github.com> --- doc/source/namelists/initial_conditions.nml.rst | 5 ----- 1 file changed, 5 deletions(-) diff --git a/doc/source/namelists/initial_conditions.nml.rst b/doc/source/namelists/initial_conditions.nml.rst index a5f2998f..470419d1 100644 --- a/doc/source/namelists/initial_conditions.nml.rst +++ b/doc/source/namelists/initial_conditions.nml.rst @@ -426,11 +426,6 @@ 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 | +----------------------------------+-----------------------------------------------------------------------------------------+---------+ | ``inland_outflow_rp`` | Inland basin flow on river routing points (kg m\ :sup:`-2` s\ :sup:`-1`). | none | -| | 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. | | +----------------------------------+-----------------------------------------------------------------------------------------+---------+ | Required if :nml:mem:`JULES_VEGETATION::photo_acclim_model` = 2 or 3 | +----------------------------------+-----------------------------------------------------------------------------------------+---------+ From f5501102335992cd8efac035afce88f5896b98ac Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Tue, 19 May 2026 13:55:45 +0100 Subject: [PATCH 22/36] Update doc/source/namelists/initial_conditions.nml.rst Co-authored-by: Maggie <145924708+maggiehendry@users.noreply.github.com> --- doc/source/namelists/initial_conditions.nml.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/source/namelists/initial_conditions.nml.rst b/doc/source/namelists/initial_conditions.nml.rst index 470419d1..d0a21110 100644 --- a/doc/source/namelists/initial_conditions.nml.rst +++ b/doc/source/namelists/initial_conditions.nml.rst @@ -425,6 +425,9 @@ 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 | +----------------------------------+-----------------------------------------------------------------------------------------+---------+ +| 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 | From 8ae111638934227f1ea6113a56e2b247463794cf Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Tue, 19 May 2026 13:56:37 +0100 Subject: [PATCH 23/36] Update doc/source/output-variables.rst Co-authored-by: Maggie <145924708+maggiehendry@users.noreply.github.com> --- doc/source/output-variables.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/source/output-variables.rst b/doc/source/output-variables.rst index 2bea3d9d..abba3bff 100644 --- a/doc/source/output-variables.rst +++ b/doc/source/output-variables.rst @@ -437,9 +437,9 @@ Rivers | ``inland_outflow_rp`` | Inland basin flow on river routing points (kg m\ :sup:`-2` s\ :sup:`-1`). | np_rivers | | | 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 | | +| | 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. | | +| | adding this diagnostic the ``rflow`` and ``rivers_sto_rp`` diagnostics will also change. | | | | Only available if :nml:mem:`JULES_RIVERS::l_rivers` = TRUE. | | +-------------------------------+-----------------------------------------------------------------------------------------------+------------+ | ``rrun_rp`` | River routing gridbox runoff rate received by river routing routine | np_rivers | From 3ad4965fbbedb4dae3d1a3d068553a8c7996aab9 Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Tue, 19 May 2026 13:57:11 +0100 Subject: [PATCH 24/36] Update src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 Co-authored-by: Maggie <145924708+maggiehendry@users.noreply.github.com> --- .../standalone/ancillaries/init_ancillaries_coupling_mod.F90 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 b/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 index a5180c52..89d13b99 100644 --- a/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 +++ b/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 @@ -29,8 +29,7 @@ SUBROUTINE check_ancil_rivers( dir_mouth, dir_inland_drainage, & USE jules_rivers_mod, ONLY: nx_rivers, ny_rivers, n_rivers, i_river_vn, & rivers_trip, l_inland_outflow, & - l_outflow_per_river, l_init_storage, & - river_mouth + l_outflow_per_river, l_init_storage USE jules_rivers_props_mod, ONLY: l_ignore_ancil_rivers_check USE coastal, ONLY: l_use_land_fraction USE missing_data_mod, ONLY: imdi From 322f05d14cd4cfc15107d9abbda2500c6f5adf3e Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Tue, 19 May 2026 13:57:58 +0100 Subject: [PATCH 25/36] Update src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 Co-authored-by: Maggie <145924708+maggiehendry@users.noreply.github.com> --- .../standalone/ancillaries/init_ancillaries_coupling_mod.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 b/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 index 89d13b99..22fb5e24 100644 --- a/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 +++ b/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 @@ -230,7 +230,7 @@ SUBROUTINE check_ancil_rivers( dir_mouth, dir_inland_drainage, & ! Make sure there are no river direction points (not outflow) ! at zero land fraction points. check_land_fractions(:,:) = 0 - WHERE ( direction_grid(:,:) > 0 .AND. direction_grid(:,:) < -1*river_mouth ) + WHERE ( direction_grid(:,:) > 0 .AND. direction_grid(:,:) < dir_mouth ) check_land_fractions(:,:) = 1 ! Set points with river directions to 1 END WHERE WHERE ( land_fraction_2d(:,:) > 0 ) From 14e7aa3e64f3902af470e229be928ff3c16ee69f Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Tue, 19 May 2026 14:05:02 +0100 Subject: [PATCH 26/36] Replace log_error with log_fatal (to get the model to stop) --- .../standalone/ancillaries/init_ancillaries_coupling_mod.F90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 b/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 index 22fb5e24..2eacb777 100644 --- a/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 +++ b/src/initialisation/standalone/ancillaries/init_ancillaries_coupling_mod.F90 @@ -221,7 +221,7 @@ SUBROUTINE check_ancil_rivers( dir_mouth, dir_inland_drainage, & WRITE(jules_message, *) & 'There are some land fractions at non-river points. ' // & 'Number of inconsistent points = ', ERROR - CALL log_error(RoutineName, jules_message) + CALL log_fatal(RoutineName, jules_message) ELSE CALL log_info(RoutineName, & 'All non-zero land fraction points are modelled by rivers') @@ -243,7 +243,7 @@ SUBROUTINE check_ancil_rivers( dir_mouth, dir_inland_drainage, & WRITE(jules_message, *) & 'There are some river direction points at zero land fraction points. '//& 'Number of inconsistent points = ', ERROR - CALL log_error(RoutineName, jules_message) + CALL log_fatal(RoutineName, jules_message) ELSE CALL log_info(RoutineName, & 'All river direction points have a non-zero land fraction.') From a79c51d2c0402c195b24033c4d7bab77b0d689ae Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Tue, 19 May 2026 17:23:18 +0100 Subject: [PATCH 27/36] Fix issue with table in documentation --- doc/source/namelists/initial_conditions.nml.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/source/namelists/initial_conditions.nml.rst b/doc/source/namelists/initial_conditions.nml.rst index d0a21110..1fdffedb 100644 --- a/doc/source/namelists/initial_conditions.nml.rst +++ b/doc/source/namelists/initial_conditions.nml.rst @@ -427,7 +427,7 @@ The required variables for a particular configuration, along with their 'type' a +----------------------------------+-----------------------------------------------------------------------------------------+---------+ | 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 | From fd34c2c1d4f66ad4e0dc34eab41e736f7fd4fa4b Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Thu, 21 May 2026 11:03:50 +0100 Subject: [PATCH 28/36] Remove option to initialise river_outflow_rp and inland_outflow_rp from zero. --- src/io/dump/required_vars_for_rivers_mod.F90 | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/io/dump/required_vars_for_rivers_mod.F90 b/src/io/dump/required_vars_for_rivers_mod.F90 index 0bc1e248..8bbbe4a4 100644 --- a/src/io/dump/required_vars_for_rivers_mod.F90 +++ b/src/io/dump/required_vars_for_rivers_mod.F90 @@ -19,8 +19,6 @@ SUBROUTINE required_vars_for_rivers( nvars, identifiers, & rivers_rfm, rivers_trip, l_init_storage, & l_inland_outflow -USE jules_model_environment_mod, ONLY: l_oasis_rivers - USE logging_mod, ONLY: log_warn USE add_to_list_mod, ONLY: add_to_list @@ -83,9 +81,7 @@ SUBROUTINE required_vars_for_rivers( nvars, identifiers, & read_or_write_dump_local = read_or_write_dump IF ( l_outflow_per_river ) THEN - IF ( read_or_write_dump_local .OR. l_oasis_rivers ) THEN - ! For coupled models rivers_outflow_rp will need to be initialised so - ! that valid data is passed to oasis before the first timestep. + IF ( read_or_write_dump_local ) THEN CALL add_to_list( 'rivers_outflow_rp', nvars, identifiers ) ELSE CALL log_warn( RoutineName, & @@ -94,9 +90,7 @@ SUBROUTINE required_vars_for_rivers( nvars, identifiers, & END IF IF ( l_inland_outflow ) THEN - IF ( read_or_write_dump_local .OR. l_oasis_rivers ) THEN - ! For coupled models inland_outflow_rp will need to be initialised so - ! that valid data is passed to oasis before the first timestep. + IF ( read_or_write_dump_local ) THEN CALL add_to_list( 'inland_outflow_rp', nvars, identifiers ) ELSE CALL log_warn( RoutineName, & From 46109fa876d0a424b15e898c11e3a3495598695b Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Thu, 21 May 2026 15:29:06 +0100 Subject: [PATCH 29/36] Update doc/source/output-variables.rst Co-authored-by: Maggie <145924708+maggiehendry@users.noreply.github.com> --- doc/source/output-variables.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/source/output-variables.rst b/doc/source/output-variables.rst index abba3bff..2a74d4e3 100644 --- a/doc/source/output-variables.rst +++ b/doc/source/output-variables.rst @@ -433,7 +433,7 @@ 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 | | | 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 | | From 03fbde411cd017c039fc1c4da98145542af6f72f Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Thu, 21 May 2026 15:30:45 +0100 Subject: [PATCH 30/36] Update doc/source/output-variables.rst Co-authored-by: Maggie <145924708+maggiehendry@users.noreply.github.com> --- doc/source/output-variables.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/source/output-variables.rst b/doc/source/output-variables.rst index 2a74d4e3..1e337f3c 100644 --- a/doc/source/output-variables.rst +++ b/doc/source/output-variables.rst @@ -435,12 +435,13 @@ Rivers | | 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. | | -| | Only available if :nml:mem:`JULES_RIVERS::l_rivers` = TRUE. | | +-------------------------------+-----------------------------------------------------------------------------------------------+------------+ | ``rrun_rp`` | River routing gridbox runoff rate received by river routing routine | np_rivers | | | (kg m\ :sup:`-2` s\ :sup:`-1`). | | From 0057f5df031a2e331b7865ad0eda42e975649c9f Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Thu, 21 May 2026 15:31:27 +0100 Subject: [PATCH 31/36] Update rose-meta/jules-shared/jules-hydrology/HEAD/rose-meta.conf Co-authored-by: Maggie <145924708+maggiehendry@users.noreply.github.com> --- rose-meta/jules-shared/jules-hydrology/HEAD/rose-meta.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rose-meta/jules-shared/jules-hydrology/HEAD/rose-meta.conf b/rose-meta/jules-shared/jules-hydrology/HEAD/rose-meta.conf index 1e5f7007..42628dec 100644 --- a/rose-meta/jules-shared/jules-hydrology/HEAD/rose-meta.conf +++ b/rose-meta/jules-shared/jules-hydrology/HEAD/rose-meta.conf @@ -23,7 +23,7 @@ description=Apply inland basin water correction to soil moisture =NOT AVAILABLE TO STANDALONE sort-key=Panel-G06 type=logical -url=http://jules-lsm.github.io/latest/namelists/jules_hydrology.nml.html#JULES_HYDROLOGY::l_inland +url=https://metoffice.github.io/jules/latest/namelists/jules_hydrology.nml.html#JULES_HYDROLOGY::l_inland [namelist:jules_hydrology=l_var_rainfrac] compulsory=true From dc034ab3a73692fcdcc92dfe0ff5c0bddd1ced8c Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Fri, 12 Jun 2026 11:33:59 +0100 Subject: [PATCH 32/36] Update src/initialisation/standalone/ancillaries/init_rivers_process_data_mod.F90 Co-authored-by: Erica Neininger <107684099+ericaneininger@users.noreply.github.com> --- .../standalone/ancillaries/init_rivers_process_data_mod.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/initialisation/standalone/ancillaries/init_rivers_process_data_mod.F90 b/src/initialisation/standalone/ancillaries/init_rivers_process_data_mod.F90 index 1e5d4283..d2b50cfe 100644 --- a/src/initialisation/standalone/ancillaries/init_rivers_process_data_mod.F90 +++ b/src/initialisation/standalone/ancillaries/init_rivers_process_data_mod.F90 @@ -2286,7 +2286,7 @@ SUBROUTINE set_river_point_values( rivers_x1_input, & LOGICAL :: & frac_chck(np_rivers) - ! Flag indicating costal river points i.e. land fraction < 1.0. + ! Flag indicating coastal river points i.e. land fraction < 1.0. !end of header From 29bc5be5198110ec6ca2ee7dafbcd6d1de22fdfe Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Fri, 19 Jun 2026 12:36:10 +0100 Subject: [PATCH 33/36] Corrected jules_initial for rivers-only simulations in rose-stem --- rose-stem/app/gswp2_trip/rose-app.conf | 13 ++++++------- rose-stem/app/gswp2_trip_spinup/rose-app.conf | 13 ++++++------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/rose-stem/app/gswp2_trip/rose-app.conf b/rose-stem/app/gswp2_trip/rose-app.conf index 4b78c985..9b208668 100644 --- a/rose-stem/app/gswp2_trip/rose-app.conf +++ b/rose-stem/app/gswp2_trip/rose-app.conf @@ -464,17 +464,16 @@ l_var_rainfrac=.false. !!zw_max=6.0 [namelist:jules_initial] -const_val=0.0,275.0,10.0,50.0,0.75,0.75,278.0 +const_val=0.0,0.0 dump_file=.false. file='' !!l_broadcast_soilt=.false. -nvars=7 +nvars=2 total_snow=.true. -!!tpl_name=7*'' -use_file=7*.false. -var='canopy','tstar_tile','cs','rgrain','snow_tile','sthuf', - ='t_soil' -!!var_name=7*'' +!!tpl_name=2*'' +use_file=2*.false. +var='rivers_sto_rp','rivers_outflow_rp' +!!var_name=2*'' [namelist:jules_input_grid] grid_dim_name='land' diff --git a/rose-stem/app/gswp2_trip_spinup/rose-app.conf b/rose-stem/app/gswp2_trip_spinup/rose-app.conf index aa3d68a1..36817e66 100644 --- a/rose-stem/app/gswp2_trip_spinup/rose-app.conf +++ b/rose-stem/app/gswp2_trip_spinup/rose-app.conf @@ -464,17 +464,16 @@ l_var_rainfrac=.false. !!zw_max=6.0 [namelist:jules_initial] -const_val=0.0,275.0,10.0,50.0,0.75,0.75,278.0 +const_val=0.0,0.0 dump_file=.false. file='' !!l_broadcast_soilt=.false. -nvars=7 +nvars=2 total_snow=.true. -!!tpl_name=7*'' -use_file=7*.false. -var='canopy','tstar_tile','cs','rgrain','snow_tile','sthuf', - ='t_soil' -!!var_name=7*'' +!!tpl_name=2*'' +use_file=2*.false. +var='rivers_sto_rp','rivers_outflow_rp' +!!var_name=2*'' [namelist:jules_input_grid] grid_dim_name='land' From 4945a12adbfb20a9dcf68479b05f869f08d61e48 Mon Sep 17 00:00:00 2001 From: Dan Copsey Date: Fri, 19 Jun 2026 13:48:55 +0100 Subject: [PATCH 34/36] Revert back to previous jules_initial apart from rivers_sto_rp has been added --- rose-stem/app/gswp2_trip/rose-app.conf | 13 +++++++------ rose-stem/app/gswp2_trip_spinup/rose-app.conf | 13 +++++++------ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/rose-stem/app/gswp2_trip/rose-app.conf b/rose-stem/app/gswp2_trip/rose-app.conf index 9b208668..b413b3f2 100644 --- a/rose-stem/app/gswp2_trip/rose-app.conf +++ b/rose-stem/app/gswp2_trip/rose-app.conf @@ -464,16 +464,17 @@ l_var_rainfrac=.false. !!zw_max=6.0 [namelist:jules_initial] -const_val=0.0,0.0 +const_val=0.0,275.0,10.0,50.0,0.75,0.75,278.0,0.0 dump_file=.false. file='' !!l_broadcast_soilt=.false. -nvars=2 +nvars=8 total_snow=.true. -!!tpl_name=2*'' -use_file=2*.false. -var='rivers_sto_rp','rivers_outflow_rp' -!!var_name=2*'' +!!tpl_name=8*'' +use_file=8*.false. +var='canopy','tstar_tile','cs','rgrain','snow_tile','sthuf', + ='t_soil','rivers_sto_rp' +!!var_name=8*'' [namelist:jules_input_grid] grid_dim_name='land' diff --git a/rose-stem/app/gswp2_trip_spinup/rose-app.conf b/rose-stem/app/gswp2_trip_spinup/rose-app.conf index 36817e66..4483c445 100644 --- a/rose-stem/app/gswp2_trip_spinup/rose-app.conf +++ b/rose-stem/app/gswp2_trip_spinup/rose-app.conf @@ -464,16 +464,17 @@ l_var_rainfrac=.false. !!zw_max=6.0 [namelist:jules_initial] -const_val=0.0,0.0 +const_val=0.0,275.0,10.0,50.0,0.75,0.75,278.0,0.0 dump_file=.false. file='' !!l_broadcast_soilt=.false. -nvars=2 +nvars=8 total_snow=.true. -!!tpl_name=2*'' -use_file=2*.false. -var='rivers_sto_rp','rivers_outflow_rp' -!!var_name=2*'' +!!tpl_name=8*'' +use_file=8*.false. +var='canopy','tstar_tile','cs','rgrain','snow_tile','sthuf', + ='t_soil','rivers_sto_rp' +!!var_name=8*'' [namelist:jules_input_grid] grid_dim_name='land' From a4bd3f333428c36cde1e816b5fe18ba4335c94bf Mon Sep 17 00:00:00 2001 From: James Bruten <109733895+james-bruten-mo@users.noreply.github.com> Date: Fri, 19 Jun 2026 15:11:38 +0100 Subject: [PATCH 35/36] apply macros --- rose-stem/app/eraint_rfm_2ddata/rose-app.conf | 5 +++-- rose-stem/app/eraint_trip_2ddata/rose-app.conf | 5 +++-- rose-stem/app/gswp2_closures/rose-app.conf | 5 +++-- rose-stem/app/gswp2_es_1p1/rose-app.conf | 5 +++-- rose-stem/app/gswp2_euro4/rose-app.conf | 5 +++-- rose-stem/app/gswp2_gl4/rose-app.conf | 5 +++-- rose-stem/app/gswp2_gl7/rose-app.conf | 5 +++-- .../rose-app.conf | 5 +++-- .../rose-app.conf | 5 +++-- .../gswp2_rivers/opt/rose-app-rivers-only.conf | 1 + rose-stem/app/gswp2_rivers/rose-app.conf | 5 +++-- .../opt/rose-app-rivers-only.conf | 1 + .../app/gswp2_rivers_restart/rose-app.conf | 5 +++-- rose-stem/app/gswp2_rivers_spinup/rose-app.conf | 5 +++-- rose-stem/app/gswp2_trip/rose-app.conf | 17 +++++++++-------- .../opt/rose-app-rivers-only.conf | 1 + rose-stem/app/gswp2_trip_restart/rose-app.conf | 5 +++-- rose-stem/app/gswp2_trip_spinup/rose-app.conf | 17 +++++++++-------- rose-stem/app/gswp2_ukv/rose-app.conf | 5 +++-- rose-stem/app/imogen_layeredc/rose-app.conf | 5 +++-- .../app/imogen_layeredc_spinup/rose-app.conf | 5 +++-- rose-stem/app/loobos_crm1_traitF/rose-app.conf | 5 +++-- rose-stem/app/loobos_crm4_traitF/rose-app.conf | 5 +++-- rose-stem/app/loobos_crm5_traitF/rose-app.conf | 5 +++-- rose-stem/app/loobos_crm6_traitF/rose-app.conf | 5 +++-- .../app/loobos_crm6_traitF_srfT/rose-app.conf | 5 +++-- rose-stem/app/loobos_crm6_traitT/rose-app.conf | 5 +++-- rose-stem/app/loobos_crops/rose-app.conf | 5 +++-- rose-stem/app/loobos_daily_disagg/rose-app.conf | 5 +++-- rose-stem/app/loobos_euro4/rose-app.conf | 5 +++-- rose-stem/app/loobos_fire/rose-app.conf | 5 +++-- rose-stem/app/loobos_fire_spinup/rose-app.conf | 5 +++-- rose-stem/app/loobos_forecast/rose-app.conf | 5 +++-- rose-stem/app/loobos_gl4/rose-app.conf | 5 +++-- rose-stem/app/loobos_gl7/rose-app.conf | 5 +++-- rose-stem/app/loobos_gl8/rose-app.conf | 5 +++-- rose-stem/app/loobos_gl8_medlyn/rose-app.conf | 5 +++-- rose-stem/app/loobos_irrig/rose-app.conf | 5 +++-- .../app/loobos_irrig_nirrtile/rose-app.conf | 5 +++-- rose-stem/app/loobos_jules_c1p1/rose-app.conf | 5 +++-- .../app/loobos_jules_c1p1_fire/rose-app.conf | 5 +++-- rose-stem/app/loobos_jules_cn/rose-app.conf | 5 +++-- .../app/loobos_jules_cn_spinup/rose-app.conf | 5 +++-- rose-stem/app/loobos_jules_es_1p0/rose-app.conf | 5 +++-- .../loobos_jules_es_1p0_biocrop/rose-app.conf | 5 +++-- .../rose-app.conf | 5 +++-- .../rose-app.conf | 5 +++-- .../rose-app.conf | 5 +++-- .../rose-app.conf | 5 +++-- .../loobos_jules_es_1p0_spinup/rose-app.conf | 5 +++-- .../app/loobos_jules_layeredcn/rose-app.conf | 5 +++-- .../loobos_jules_layeredcn_spinup/rose-app.conf | 5 +++-- rose-stem/app/loobos_julesc/rose-app.conf | 5 +++-- .../app/loobos_julesc_spinup/rose-app.conf | 5 +++-- .../app/loobos_prescribe_sthuf/rose-app.conf | 5 +++-- rose-stem/app/loobos_trif/rose-app.conf | 5 +++-- rose-stem/app/loobos_trif_spinup/rose-app.conf | 5 +++-- rose-stem/app/loobos_ukv/rose-app.conf | 5 +++-- rose-stem/app/loobos_vegdrag/rose-app.conf | 5 +++-- rose-stem/app/surf_gl9/rose-app.conf | 5 +++-- 60 files changed, 186 insertions(+), 126 deletions(-) diff --git a/rose-stem/app/eraint_rfm_2ddata/rose-app.conf b/rose-stem/app/eraint_rfm_2ddata/rose-app.conf index 444bd07b..f4b3b8ca 100644 --- a/rose-stem/app/eraint_rfm_2ddata/rose-app.conf +++ b/rose-stem/app/eraint_rfm_2ddata/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -453,6 +453,7 @@ frac_name='frac' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -511,6 +512,7 @@ read_file=.false. [namelist:jules_land_frac] file='$ERAINT_INSTALL_DIR/ancil/MOSES2p2_land_frac_latlon.nc' +!!l_use_land_fraction=.false. land_frac_name='lsmask' [namelist:jules_latlon] @@ -772,7 +774,6 @@ cbriver=0.15 cland=0.2 criver=0.62 i_river_vn=2 -!!l_inland=.false. l_riv_overbank=.false. l_rivers=.true. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/eraint_trip_2ddata/rose-app.conf b/rose-stem/app/eraint_trip_2ddata/rose-app.conf index db3baa5c..efe42441 100644 --- a/rose-stem/app/eraint_trip_2ddata/rose-app.conf +++ b/rose-stem/app/eraint_trip_2ddata/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -453,6 +453,7 @@ read_from_dump=.false. !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -510,6 +511,7 @@ read_from_dump=.false. [namelist:jules_land_frac] file='$ERAINT_INSTALL_DIR/ancil/MOSES2p2_land_frac_latlon.nc' +!!l_use_land_fraction=.false. land_frac_name='lsmask' [namelist:jules_latlon] @@ -771,7 +773,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!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/gswp2_closures/rose-app.conf b/rose-stem/app/gswp2_closures/rose-app.conf index 2f96961a..b2c700c2 100644 --- a/rose-stem/app/gswp2_closures/rose-app.conf +++ b/rose-stem/app/gswp2_closures/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -450,6 +450,7 @@ frac_name='field1391' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -505,6 +506,7 @@ read_file=.false. [namelist:jules_land_frac] file='$GSWP2_INSTALL_DIR/ancil/lsmask_vector.nc' +!!l_use_land_fraction=.false. land_frac_name='lsmask' [namelist:jules_latlon] @@ -772,7 +774,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/gswp2_es_1p1/rose-app.conf b/rose-stem/app/gswp2_es_1p1/rose-app.conf index 2ae53f7b..2f799d0a 100644 --- a/rose-stem/app/gswp2_es_1p1/rose-app.conf +++ b/rose-stem/app/gswp2_es_1p1/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -451,6 +451,7 @@ read_from_dump=.true. !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -505,6 +506,7 @@ read_from_dump=.false. [namelist:jules_land_frac] file='$GSWP2_INSTALL_DIR/ancil/lsmask_vector.nc' +!!l_use_land_fraction=.false. land_frac_name='lsmask' [namelist:jules_latlon] @@ -867,7 +869,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/gswp2_euro4/rose-app.conf b/rose-stem/app/gswp2_euro4/rose-app.conf index 5ee7d3c1..a92dd03f 100644 --- a/rose-stem/app/gswp2_euro4/rose-app.conf +++ b/rose-stem/app/gswp2_euro4/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -451,6 +451,7 @@ frac_name='field1391' b_pdm=0.40 dz_pdm=0.50 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.true. l_spdmvar=.false. @@ -506,6 +507,7 @@ read_file=.false. [namelist:jules_land_frac] file='$GSWP2_INSTALL_DIR/ancil/lsmask_vector.nc' +!!l_use_land_fraction=.false. land_frac_name='lsmask' [namelist:jules_latlon] @@ -773,7 +775,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/gswp2_gl4/rose-app.conf b/rose-stem/app/gswp2_gl4/rose-app.conf index 3f370f10..75101b8f 100644 --- a/rose-stem/app/gswp2_gl4/rose-app.conf +++ b/rose-stem/app/gswp2_gl4/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -451,6 +451,7 @@ frac_name='field1391' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -506,6 +507,7 @@ read_file=.false. [namelist:jules_land_frac] file='$GSWP2_INSTALL_DIR/ancil/lsmask_vector.nc' +!!l_use_land_fraction=.false. land_frac_name='lsmask' [namelist:jules_latlon] @@ -773,7 +775,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/gswp2_gl7/rose-app.conf b/rose-stem/app/gswp2_gl7/rose-app.conf index 54d08947..90fab089 100644 --- a/rose-stem/app/gswp2_gl7/rose-app.conf +++ b/rose-stem/app/gswp2_gl7/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -451,6 +451,7 @@ frac_name='field1391' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -506,6 +507,7 @@ read_file=.false. [namelist:jules_land_frac] file='$GSWP2_INSTALL_DIR/ancil/lsmask_vector.nc' +!!l_use_land_fraction=.false. land_frac_name='lsmask' [namelist:jules_latlon] @@ -773,7 +775,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/gswp2_irrig_limit_high_river_storage/rose-app.conf b/rose-stem/app/gswp2_irrig_limit_high_river_storage/rose-app.conf index 6147d791..609848fa 100644 --- a/rose-stem/app/gswp2_irrig_limit_high_river_storage/rose-app.conf +++ b/rose-stem/app/gswp2_irrig_limit_high_river_storage/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -450,6 +450,7 @@ read_from_dump=.false. !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -506,6 +507,7 @@ read_from_dump=.false. [namelist:jules_land_frac] file='$GSWP2_INSTALL_DIR/ancil/lsmask_vector.nc' +!!l_use_land_fraction=.false. land_frac_name='lsmask' [namelist:jules_latlon] @@ -773,7 +775,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!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/gswp2_irrig_limit_low_river_storage/rose-app.conf b/rose-stem/app/gswp2_irrig_limit_low_river_storage/rose-app.conf index 074e4805..1694aa2d 100644 --- a/rose-stem/app/gswp2_irrig_limit_low_river_storage/rose-app.conf +++ b/rose-stem/app/gswp2_irrig_limit_low_river_storage/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -450,6 +450,7 @@ read_from_dump=.false. !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -506,6 +507,7 @@ read_from_dump=.false. [namelist:jules_land_frac] file='$GSWP2_INSTALL_DIR/ancil/lsmask_vector.nc' +!!l_use_land_fraction=.false. land_frac_name='lsmask' [namelist:jules_latlon] @@ -773,7 +775,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!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/gswp2_rivers/opt/rose-app-rivers-only.conf b/rose-stem/app/gswp2_rivers/opt/rose-app-rivers-only.conf index f0cea6bd..53268c73 100644 --- a/rose-stem/app/gswp2_rivers/opt/rose-app-rivers-only.conf +++ b/rose-stem/app/gswp2_rivers/opt/rose-app-rivers-only.conf @@ -19,6 +19,7 @@ time_dim_name='time' [namelist:jules_land_frac] file='$RIVERS_ONLY_INSTALL_DIR/$RIVERS_ONLY_DRIVE_TASK.drive_rivers-only.nc' +l_use_land_fraction=.false. land_frac_name='land_fraction' [namelist:jules_latlon] diff --git a/rose-stem/app/gswp2_rivers/rose-app.conf b/rose-stem/app/gswp2_rivers/rose-app.conf index 39859cdb..f92fb22c 100644 --- a/rose-stem/app/gswp2_rivers/rose-app.conf +++ b/rose-stem/app/gswp2_rivers/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -450,6 +450,7 @@ frac_name='field1391' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -505,6 +506,7 @@ read_file=.false. [namelist:jules_land_frac] file='$GSWP2_INSTALL_DIR/ancil/lsmask_vector.nc' +!!l_use_land_fraction=.false. land_frac_name='lsmask' [namelist:jules_latlon] @@ -786,7 +788,6 @@ cbriver=0.15 cland=0.2 criver=0.62 i_river_vn=2 -!!l_inland=.false. l_riv_overbank=.false. l_rivers=.true. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/gswp2_rivers_restart/opt/rose-app-rivers-only.conf b/rose-stem/app/gswp2_rivers_restart/opt/rose-app-rivers-only.conf index 684cf01b..92a3cf7c 100644 --- a/rose-stem/app/gswp2_rivers_restart/opt/rose-app-rivers-only.conf +++ b/rose-stem/app/gswp2_rivers_restart/opt/rose-app-rivers-only.conf @@ -19,6 +19,7 @@ time_dim_name='time' [namelist:jules_land_frac] file='$RIVERS_ONLY_INSTALL_DIR/$RIVERS_ONLY_DRIVE_TASK.drive_rivers-only.nc' +l_use_land_fraction=.false. land_frac_name='land_fraction' [namelist:jules_latlon] diff --git a/rose-stem/app/gswp2_rivers_restart/rose-app.conf b/rose-stem/app/gswp2_rivers_restart/rose-app.conf index f68e97fa..efa4ecd9 100644 --- a/rose-stem/app/gswp2_rivers_restart/rose-app.conf +++ b/rose-stem/app/gswp2_rivers_restart/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -450,6 +450,7 @@ read_from_dump=.false. !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -507,6 +508,7 @@ read_from_dump=.false. [namelist:jules_land_frac] file='$GSWP2_INSTALL_DIR/ancil/lsmask_vector.nc' +!!l_use_land_fraction=.false. land_frac_name='lsmask' [namelist:jules_latlon] @@ -788,7 +790,6 @@ cbriver=0.15 cland=0.2 criver=0.62 i_river_vn=2 -!!l_inland=.false. l_riv_overbank=.false. l_rivers=.true. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/gswp2_rivers_spinup/rose-app.conf b/rose-stem/app/gswp2_rivers_spinup/rose-app.conf index c9f91cff..c8992c9f 100644 --- a/rose-stem/app/gswp2_rivers_spinup/rose-app.conf +++ b/rose-stem/app/gswp2_rivers_spinup/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -450,6 +450,7 @@ frac_name='field1391' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -505,6 +506,7 @@ read_file=.false. [namelist:jules_land_frac] file='$GSWP2_INSTALL_DIR/ancil/lsmask_vector.nc' +!!l_use_land_fraction=.false. land_frac_name='lsmask' [namelist:jules_latlon] @@ -744,7 +746,6 @@ cbriver=0.15 cland=0.2 criver=0.62 i_river_vn=2 -!!l_inland=.false. l_riv_overbank=.false. l_rivers=.true. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/gswp2_trip/rose-app.conf b/rose-stem/app/gswp2_trip/rose-app.conf index 92fd7a13..3db153f6 100644 --- a/rose-stem/app/gswp2_trip/rose-app.conf +++ b/rose-stem/app/gswp2_trip/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -450,6 +450,7 @@ frac_name='field1391' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -464,17 +465,17 @@ l_var_rainfrac=.false. !!zw_max=6.0 [namelist:jules_initial] -const_val=0.0,275.0,10.0,50.0,0.75,0.75,278.0 +const_val=0.0,275.0,10.0,50.0,0.75,0.75,278.0,0.0 dump_file=.false. file='' !!l_broadcast_soilt=.false. -nvars=7 +nvars=8 total_snow=.true. -!!tpl_name=7*'' -use_file=7*.false. +!!tpl_name=8*'' +use_file=8*.false. var='canopy','tstar_tile','cs','rgrain','snow_tile','sthuf', - ='t_soil' -!!var_name=7*'' + ='t_soil','rivers_sto_rp' +!!var_name=8*'' [namelist:jules_input_grid] grid_dim_name='land' @@ -505,6 +506,7 @@ read_file=.false. [namelist:jules_land_frac] file='$GSWP2_INSTALL_DIR/ancil/lsmask_vector.nc' +!!l_use_land_fraction=.false. land_frac_name='lsmask' [namelist:jules_latlon] @@ -786,7 +788,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!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/gswp2_trip_restart/opt/rose-app-rivers-only.conf b/rose-stem/app/gswp2_trip_restart/opt/rose-app-rivers-only.conf index 7aecfb16..8af893fb 100644 --- a/rose-stem/app/gswp2_trip_restart/opt/rose-app-rivers-only.conf +++ b/rose-stem/app/gswp2_trip_restart/opt/rose-app-rivers-only.conf @@ -19,6 +19,7 @@ time_dim_name='time' [namelist:jules_land_frac] file='$RIVERS_ONLY_INSTALL_DIR/$RIVERS_ONLY_DRIVE_TASK.drive_rivers-only.nc' +l_use_land_fraction=.false. land_frac_name='land_fraction' [namelist:jules_latlon] diff --git a/rose-stem/app/gswp2_trip_restart/rose-app.conf b/rose-stem/app/gswp2_trip_restart/rose-app.conf index c587b7f8..c45cc937 100644 --- a/rose-stem/app/gswp2_trip_restart/rose-app.conf +++ b/rose-stem/app/gswp2_trip_restart/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -450,6 +450,7 @@ read_from_dump=.false. !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -506,6 +507,7 @@ read_from_dump=.false. [namelist:jules_land_frac] file='$GSWP2_INSTALL_DIR/ancil/lsmask_vector.nc' +!!l_use_land_fraction=.false. land_frac_name='lsmask' [namelist:jules_latlon] @@ -787,7 +789,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!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/gswp2_trip_spinup/rose-app.conf b/rose-stem/app/gswp2_trip_spinup/rose-app.conf index 1b3e8db6..2eb5d4ee 100644 --- a/rose-stem/app/gswp2_trip_spinup/rose-app.conf +++ b/rose-stem/app/gswp2_trip_spinup/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -450,6 +450,7 @@ frac_name='field1391' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -464,17 +465,17 @@ l_var_rainfrac=.false. !!zw_max=6.0 [namelist:jules_initial] -const_val=0.0,275.0,10.0,50.0,0.75,0.75,278.0 +const_val=0.0,275.0,10.0,50.0,0.75,0.75,278.0,0.0 dump_file=.false. file='' !!l_broadcast_soilt=.false. -nvars=7 +nvars=8 total_snow=.true. -!!tpl_name=7*'' -use_file=7*.false. +!!tpl_name=8*'' +use_file=8*.false. var='canopy','tstar_tile','cs','rgrain','snow_tile','sthuf', - ='t_soil' -!!var_name=7*'' + ='t_soil','rivers_sto_rp' +!!var_name=8*'' [namelist:jules_input_grid] grid_dim_name='land' @@ -505,6 +506,7 @@ read_file=.false. [namelist:jules_land_frac] file='$GSWP2_INSTALL_DIR/ancil/lsmask_vector.nc' +!!l_use_land_fraction=.false. land_frac_name='lsmask' [namelist:jules_latlon] @@ -744,7 +746,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!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/gswp2_ukv/rose-app.conf b/rose-stem/app/gswp2_ukv/rose-app.conf index 80b1c642..a990b311 100644 --- a/rose-stem/app/gswp2_ukv/rose-app.conf +++ b/rose-stem/app/gswp2_ukv/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -451,6 +451,7 @@ frac_name='field1391' b_pdm=0.40 dz_pdm=0.50 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.true. l_spdmvar=.false. @@ -506,6 +507,7 @@ read_file=.false. [namelist:jules_land_frac] file='$GSWP2_INSTALL_DIR/ancil/lsmask_vector.nc' +!!l_use_land_fraction=.false. land_frac_name='lsmask' [namelist:jules_latlon] @@ -773,7 +775,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/imogen_layeredc/rose-app.conf b/rose-stem/app/imogen_layeredc/rose-app.conf index b89b2374..2cd637f6 100644 --- a/rose-stem/app/imogen_layeredc/rose-app.conf +++ b/rose-stem/app/imogen_layeredc/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -446,6 +446,7 @@ read_from_dump=.false. !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -499,6 +500,7 @@ read_from_dump=.false. [namelist:jules_land_frac] file='$IMOGEN_INSTALL_DIR/ancil/grid_info.nc' +!!l_use_land_fraction=.false. land_frac_name='land_fraction' [namelist:jules_latlon] @@ -760,7 +762,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/imogen_layeredc_spinup/rose-app.conf b/rose-stem/app/imogen_layeredc_spinup/rose-app.conf index b261f473..8335a372 100644 --- a/rose-stem/app/imogen_layeredc_spinup/rose-app.conf +++ b/rose-stem/app/imogen_layeredc_spinup/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -446,6 +446,7 @@ read_from_dump=.false. !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -500,6 +501,7 @@ read_from_dump=.false. [namelist:jules_land_frac] file='$IMOGEN_INSTALL_DIR/ancil/grid_info.nc' +!!l_use_land_fraction=.false. land_frac_name='land_fraction' [namelist:jules_latlon] @@ -745,7 +747,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_crm1_traitF/rose-app.conf b/rose-stem/app/loobos_crm1_traitF/rose-app.conf index 1bcaef88..caa3381e 100644 --- a/rose-stem/app/loobos_crm1_traitF/rose-app.conf +++ b/rose-stem/app/loobos_crm1_traitF/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -449,6 +449,7 @@ file='tile_fractions.dat' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -504,6 +505,7 @@ read_file=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -783,7 +785,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_crm4_traitF/rose-app.conf b/rose-stem/app/loobos_crm4_traitF/rose-app.conf index 83a0fbf3..abf0f099 100644 --- a/rose-stem/app/loobos_crm4_traitF/rose-app.conf +++ b/rose-stem/app/loobos_crm4_traitF/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -449,6 +449,7 @@ file='tile_fractions.dat' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -504,6 +505,7 @@ read_file=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -783,7 +785,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_crm5_traitF/rose-app.conf b/rose-stem/app/loobos_crm5_traitF/rose-app.conf index b1d08ee0..95785f8f 100644 --- a/rose-stem/app/loobos_crm5_traitF/rose-app.conf +++ b/rose-stem/app/loobos_crm5_traitF/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -449,6 +449,7 @@ file='tile_fractions.dat' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -504,6 +505,7 @@ read_file=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -783,7 +785,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_crm6_traitF/rose-app.conf b/rose-stem/app/loobos_crm6_traitF/rose-app.conf index 83ddba80..bd1780e4 100644 --- a/rose-stem/app/loobos_crm6_traitF/rose-app.conf +++ b/rose-stem/app/loobos_crm6_traitF/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -449,6 +449,7 @@ file='tile_fractions.dat' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -504,6 +505,7 @@ read_file=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -783,7 +785,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_crm6_traitF_srfT/rose-app.conf b/rose-stem/app/loobos_crm6_traitF_srfT/rose-app.conf index 6bcb31cb..0d3de615 100644 --- a/rose-stem/app/loobos_crm6_traitF_srfT/rose-app.conf +++ b/rose-stem/app/loobos_crm6_traitF_srfT/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -449,6 +449,7 @@ file='tile_fractions.dat' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -504,6 +505,7 @@ read_file=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -783,7 +785,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_crm6_traitT/rose-app.conf b/rose-stem/app/loobos_crm6_traitT/rose-app.conf index f5f8dcbb..bcdfb55d 100644 --- a/rose-stem/app/loobos_crm6_traitT/rose-app.conf +++ b/rose-stem/app/loobos_crm6_traitT/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -449,6 +449,7 @@ file='tile_fractions.dat' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -504,6 +505,7 @@ read_file=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -785,7 +787,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_crops/rose-app.conf b/rose-stem/app/loobos_crops/rose-app.conf index 1b3cc0bd..5465258b 100644 --- a/rose-stem/app/loobos_crops/rose-app.conf +++ b/rose-stem/app/loobos_crops/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -449,6 +449,7 @@ file='tile_fractions.dat' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -504,6 +505,7 @@ read_file=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -785,7 +787,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_daily_disagg/rose-app.conf b/rose-stem/app/loobos_daily_disagg/rose-app.conf index 05bbbc53..8e556595 100644 --- a/rose-stem/app/loobos_daily_disagg/rose-app.conf +++ b/rose-stem/app/loobos_daily_disagg/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -449,6 +449,7 @@ file='tile_fractions.dat' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -502,6 +503,7 @@ read_file=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -765,7 +767,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_euro4/rose-app.conf b/rose-stem/app/loobos_euro4/rose-app.conf index b717b0ba..a08895fe 100644 --- a/rose-stem/app/loobos_euro4/rose-app.conf +++ b/rose-stem/app/loobos_euro4/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -448,6 +448,7 @@ file='tile_fractions.dat' b_pdm=0.40 dz_pdm=0.50 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.true. l_spdmvar=.false. @@ -501,6 +502,7 @@ read_file=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -764,7 +766,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_fire/rose-app.conf b/rose-stem/app/loobos_fire/rose-app.conf index 02790005..b0dbebba 100644 --- a/rose-stem/app/loobos_fire/rose-app.conf +++ b/rose-stem/app/loobos_fire/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -447,6 +447,7 @@ read_from_dump=.true. b_pdm=1.0 dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.true. l_spdmvar=.false. @@ -499,6 +500,7 @@ read_from_dump=.true. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -775,7 +777,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_fire_spinup/rose-app.conf b/rose-stem/app/loobos_fire_spinup/rose-app.conf index 96df1775..35218807 100644 --- a/rose-stem/app/loobos_fire_spinup/rose-app.conf +++ b/rose-stem/app/loobos_fire_spinup/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -447,6 +447,7 @@ file='' b_pdm=1.0 dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.true. l_spdmvar=.false. @@ -500,6 +501,7 @@ read_file=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -750,7 +752,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_forecast/rose-app.conf b/rose-stem/app/loobos_forecast/rose-app.conf index 5daa1877..cac50760 100644 --- a/rose-stem/app/loobos_forecast/rose-app.conf +++ b/rose-stem/app/loobos_forecast/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -448,6 +448,7 @@ file='tile_fractions.dat' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -500,6 +501,7 @@ read_file=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -763,7 +765,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_gl4/rose-app.conf b/rose-stem/app/loobos_gl4/rose-app.conf index b3c3bb7a..893fb555 100644 --- a/rose-stem/app/loobos_gl4/rose-app.conf +++ b/rose-stem/app/loobos_gl4/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -449,6 +449,7 @@ file='tile_fractions.dat' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -502,6 +503,7 @@ read_file=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -765,7 +767,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_gl7/rose-app.conf b/rose-stem/app/loobos_gl7/rose-app.conf index 65871a23..49bd7afa 100644 --- a/rose-stem/app/loobos_gl7/rose-app.conf +++ b/rose-stem/app/loobos_gl7/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -449,6 +449,7 @@ file='tile_fractions.dat' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -502,6 +503,7 @@ read_file=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -765,7 +767,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_gl8/rose-app.conf b/rose-stem/app/loobos_gl8/rose-app.conf index f4ad9bfc..7205b675 100644 --- a/rose-stem/app/loobos_gl8/rose-app.conf +++ b/rose-stem/app/loobos_gl8/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -449,6 +449,7 @@ file='tile_fractions.dat' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -502,6 +503,7 @@ read_file=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -765,7 +767,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_gl8_medlyn/rose-app.conf b/rose-stem/app/loobos_gl8_medlyn/rose-app.conf index 7ebcdd84..980ba81d 100644 --- a/rose-stem/app/loobos_gl8_medlyn/rose-app.conf +++ b/rose-stem/app/loobos_gl8_medlyn/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -449,6 +449,7 @@ file='tile_fractions.dat' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -502,6 +503,7 @@ read_file=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -765,7 +767,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_irrig/rose-app.conf b/rose-stem/app/loobos_irrig/rose-app.conf index c3ecdfed..9509d85e 100644 --- a/rose-stem/app/loobos_irrig/rose-app.conf +++ b/rose-stem/app/loobos_irrig/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -449,6 +449,7 @@ file='tile_fractions.dat' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -504,6 +505,7 @@ read_file=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -784,7 +786,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_irrig_nirrtile/rose-app.conf b/rose-stem/app/loobos_irrig_nirrtile/rose-app.conf index 7f5f1a8d..efed621b 100644 --- a/rose-stem/app/loobos_irrig_nirrtile/rose-app.conf +++ b/rose-stem/app/loobos_irrig_nirrtile/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -449,6 +449,7 @@ file='tile_fractions.dat' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -504,6 +505,7 @@ read_file=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -784,7 +786,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_jules_c1p1/rose-app.conf b/rose-stem/app/loobos_jules_c1p1/rose-app.conf index 7baf2ce8..565f75f7 100644 --- a/rose-stem/app/loobos_jules_c1p1/rose-app.conf +++ b/rose-stem/app/loobos_jules_c1p1/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -448,6 +448,7 @@ read_from_dump=.false. !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -500,6 +501,7 @@ read_from_dump=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -835,7 +837,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_jules_c1p1_fire/rose-app.conf b/rose-stem/app/loobos_jules_c1p1_fire/rose-app.conf index a65b3c2b..3770d7ef 100644 --- a/rose-stem/app/loobos_jules_c1p1_fire/rose-app.conf +++ b/rose-stem/app/loobos_jules_c1p1_fire/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -448,6 +448,7 @@ read_from_dump=.false. !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -500,6 +501,7 @@ read_from_dump=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -842,7 +844,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_jules_cn/rose-app.conf b/rose-stem/app/loobos_jules_cn/rose-app.conf index 99f9758d..f6854472 100644 --- a/rose-stem/app/loobos_jules_cn/rose-app.conf +++ b/rose-stem/app/loobos_jules_cn/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -448,6 +448,7 @@ read_from_dump=.false. b_pdm=1.0 dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.true. l_spdmvar=.false. @@ -500,6 +501,7 @@ read_from_dump=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -794,7 +796,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_jules_cn_spinup/rose-app.conf b/rose-stem/app/loobos_jules_cn_spinup/rose-app.conf index 13f9db8a..4001f25f 100644 --- a/rose-stem/app/loobos_jules_cn_spinup/rose-app.conf +++ b/rose-stem/app/loobos_jules_cn_spinup/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -448,6 +448,7 @@ file='' b_pdm=1.0 dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.true. l_spdmvar=.false. @@ -503,6 +504,7 @@ read_file=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -755,7 +757,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_jules_es_1p0/rose-app.conf b/rose-stem/app/loobos_jules_es_1p0/rose-app.conf index 17df8014..864f6f8c 100644 --- a/rose-stem/app/loobos_jules_es_1p0/rose-app.conf +++ b/rose-stem/app/loobos_jules_es_1p0/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -450,6 +450,7 @@ read_from_dump=.false. !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -502,6 +503,7 @@ read_from_dump=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -876,7 +878,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_jules_es_1p0_biocrop/rose-app.conf b/rose-stem/app/loobos_jules_es_1p0_biocrop/rose-app.conf index b5d8fc94..ca2e40cd 100644 --- a/rose-stem/app/loobos_jules_es_1p0_biocrop/rose-app.conf +++ b/rose-stem/app/loobos_jules_es_1p0_biocrop/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -451,6 +451,7 @@ read_from_dump=.false. !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -503,6 +504,7 @@ read_from_dump=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -1009,7 +1011,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_jules_es_1p0_biocrop_agexpand/rose-app.conf b/rose-stem/app/loobos_jules_es_1p0_biocrop_agexpand/rose-app.conf index a7936243..b651c1a4 100644 --- a/rose-stem/app/loobos_jules_es_1p0_biocrop_agexpand/rose-app.conf +++ b/rose-stem/app/loobos_jules_es_1p0_biocrop_agexpand/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -451,6 +451,7 @@ read_from_dump=.false. !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -503,6 +504,7 @@ read_from_dump=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -1009,7 +1011,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_jules_es_1p0_biocrop_spinup/rose-app.conf b/rose-stem/app/loobos_jules_es_1p0_biocrop_spinup/rose-app.conf index 162ac831..5988ad50 100644 --- a/rose-stem/app/loobos_jules_es_1p0_biocrop_spinup/rose-app.conf +++ b/rose-stem/app/loobos_jules_es_1p0_biocrop_spinup/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -451,6 +451,7 @@ file='' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -508,6 +509,7 @@ read_file=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -1014,7 +1016,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_jules_es_1p0_deposition/rose-app.conf b/rose-stem/app/loobos_jules_es_1p0_deposition/rose-app.conf index c99d2576..e93eeffb 100644 --- a/rose-stem/app/loobos_jules_es_1p0_deposition/rose-app.conf +++ b/rose-stem/app/loobos_jules_es_1p0_deposition/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -450,6 +450,7 @@ read_from_dump=.false. !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -502,6 +503,7 @@ read_from_dump=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -1003,7 +1005,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_jules_es_1p0_deposition_spinup/rose-app.conf b/rose-stem/app/loobos_jules_es_1p0_deposition_spinup/rose-app.conf index d6b6421d..938244c0 100644 --- a/rose-stem/app/loobos_jules_es_1p0_deposition_spinup/rose-app.conf +++ b/rose-stem/app/loobos_jules_es_1p0_deposition_spinup/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -449,6 +449,7 @@ file='' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -505,6 +506,7 @@ read_file=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -976,7 +978,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_jules_es_1p0_spinup/rose-app.conf b/rose-stem/app/loobos_jules_es_1p0_spinup/rose-app.conf index 93299f95..c0d9c08b 100644 --- a/rose-stem/app/loobos_jules_es_1p0_spinup/rose-app.conf +++ b/rose-stem/app/loobos_jules_es_1p0_spinup/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -449,6 +449,7 @@ file='' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -505,6 +506,7 @@ read_file=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -849,7 +851,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_jules_layeredcn/rose-app.conf b/rose-stem/app/loobos_jules_layeredcn/rose-app.conf index 04d4a37e..6af4dde4 100644 --- a/rose-stem/app/loobos_jules_layeredcn/rose-app.conf +++ b/rose-stem/app/loobos_jules_layeredcn/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -448,6 +448,7 @@ read_from_dump=.false. b_pdm=1.0 dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.true. l_spdmvar=.false. @@ -500,6 +501,7 @@ read_from_dump=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -796,7 +798,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_jules_layeredcn_spinup/rose-app.conf b/rose-stem/app/loobos_jules_layeredcn_spinup/rose-app.conf index e6784f06..0c4c4f7c 100644 --- a/rose-stem/app/loobos_jules_layeredcn_spinup/rose-app.conf +++ b/rose-stem/app/loobos_jules_layeredcn_spinup/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -448,6 +448,7 @@ file='' b_pdm=1.0 dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.true. l_spdmvar=.false. @@ -503,6 +504,7 @@ read_file=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -755,7 +757,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_julesc/rose-app.conf b/rose-stem/app/loobos_julesc/rose-app.conf index a2c522ab..d2ed7c81 100644 --- a/rose-stem/app/loobos_julesc/rose-app.conf +++ b/rose-stem/app/loobos_julesc/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -448,6 +448,7 @@ read_from_dump=.false. b_pdm=1.0 dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.true. l_spdmvar=.false. @@ -500,6 +501,7 @@ read_from_dump=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -763,7 +765,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_julesc_spinup/rose-app.conf b/rose-stem/app/loobos_julesc_spinup/rose-app.conf index 903b2f11..9601e937 100644 --- a/rose-stem/app/loobos_julesc_spinup/rose-app.conf +++ b/rose-stem/app/loobos_julesc_spinup/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -448,6 +448,7 @@ file='' b_pdm=1.0 dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.true. l_spdmvar=.false. @@ -503,6 +504,7 @@ read_file=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -740,7 +742,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_prescribe_sthuf/rose-app.conf b/rose-stem/app/loobos_prescribe_sthuf/rose-app.conf index 47a9e32a..990eb6c3 100644 --- a/rose-stem/app/loobos_prescribe_sthuf/rose-app.conf +++ b/rose-stem/app/loobos_prescribe_sthuf/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -449,6 +449,7 @@ file='tile_fractions.dat' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -503,6 +504,7 @@ read_file=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -809,7 +811,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_trif/rose-app.conf b/rose-stem/app/loobos_trif/rose-app.conf index b1e60302..fcec6ae8 100644 --- a/rose-stem/app/loobos_trif/rose-app.conf +++ b/rose-stem/app/loobos_trif/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -447,6 +447,7 @@ read_from_dump=.false. b_pdm=1.0 dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.true. l_spdmvar=.false. @@ -499,6 +500,7 @@ read_from_dump=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -762,7 +764,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_trif_spinup/rose-app.conf b/rose-stem/app/loobos_trif_spinup/rose-app.conf index 3f9ec59b..4825a352 100644 --- a/rose-stem/app/loobos_trif_spinup/rose-app.conf +++ b/rose-stem/app/loobos_trif_spinup/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -447,6 +447,7 @@ file='' b_pdm=1.0 dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.true. l_spdmvar=.false. @@ -500,6 +501,7 @@ read_file=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -737,7 +739,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_ukv/rose-app.conf b/rose-stem/app/loobos_ukv/rose-app.conf index bdb93682..5ed59cb8 100644 --- a/rose-stem/app/loobos_ukv/rose-app.conf +++ b/rose-stem/app/loobos_ukv/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -448,6 +448,7 @@ file='tile_fractions.dat' b_pdm=0.40 dz_pdm=0.50 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.true. l_spdmvar=.false. @@ -501,6 +502,7 @@ read_file=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -764,7 +766,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/loobos_vegdrag/rose-app.conf b/rose-stem/app/loobos_vegdrag/rose-app.conf index c6b278f1..937da13b 100644 --- a/rose-stem/app/loobos_vegdrag/rose-app.conf +++ b/rose-stem/app/loobos_vegdrag/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -449,6 +449,7 @@ file='tile_fractions.dat' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -502,6 +503,7 @@ read_file=.false. !!var_name='' [namelist:jules_land_frac] +!!l_use_land_fraction=.false. [namelist:jules_latlon] const_val=52.168,5.744 @@ -765,7 +767,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 diff --git a/rose-stem/app/surf_gl9/rose-app.conf b/rose-stem/app/surf_gl9/rose-app.conf index 8a21b7f2..c5862a4d 100644 --- a/rose-stem/app/surf_gl9/rose-app.conf +++ b/rose-stem/app/surf_gl9/rose-app.conf @@ -1,4 +1,4 @@ -meta=jules-standalone/vn8.1_t23 +meta=jules-standalone/vn8.1_t34 [command] default=rose-run jules.exe @@ -451,6 +451,7 @@ frac_name='field216' !!b_pdm=1.0 !!dz_pdm=1.0 l_hydrology=.true. +!!l_inland=.false. l_limit_gsoil=.false. l_pdm=.false. !!l_spdmvar=.false. @@ -514,6 +515,7 @@ read_file=.false. [namelist:jules_land_frac] file='$SURF_INSTALL_DIR/MaskData1.nc' +!!l_use_land_fraction=.false. land_frac_name='field30' [namelist:jules_latlon] @@ -782,7 +784,6 @@ wght_alb=0.0,0.5,0.0,0.5 !!cland=0.2 !!criver=0.62 !!i_river_vn=2 -!!l_inland=.false. !!l_riv_overbank=.false. l_rivers=.false. !!lake_water_conserve_method=1 From 15131523c08ef808858e15ed4752c45037600213 Mon Sep 17 00:00:00 2001 From: James Bruten <109733895+james-bruten-mo@users.noreply.github.com> Date: Mon, 22 Jun 2026 07:53:08 +0100 Subject: [PATCH 36/36] kgo --- rose-stem/include/variables.cylc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rose-stem/include/variables.cylc b/rose-stem/include/variables.cylc index 32301814..8f8d5177 100644 --- a/rose-stem/include/variables.cylc +++ b/rose-stem/include/variables.cylc @@ -1,4 +1,4 @@ ############################################################################### ## Common variable definitions ############################################################################### -{%- set KGO_VERSION = 'vn8.1_t107' %} +{%- set KGO_VERSION = 'vn8.1_t89' %}