This file sets up spatially varying ancillary values. It contains eight namelists - JULES_FRAC, JULES_SOIL_PROPS, JULES_TOP, JULES_AGRIC, JULES_CROP_PROPS, JULES_IRRIG and JULES_RIVERS_PROPS, JULES_CO2.
Data associated with each of these namelists can optionally be read from the dump file (if present) by setting read_from_dump to true. This functionality provides closer alignment with UM functionality and can help ensure that the correct ancillary data remain associated with the model state.
This namelist specifies the fraction of the land area in each gridbox that is covered by each of the surface types. If l_veg_compete = TRUE, then the fraction of each surface type is modelled and the initial state should be specified in JULES_INITIAL. In all other cases, it must be read here.
Note that all land points must be either soil points (indicated by values > 0 of the saturated soil moisture content), or land ice points (indicated by the fractional coverage of the ice surface type - if used - being one). The fractional cover of the ice surface type in each gridbox must be either zero or one - there cannot be partial coverage of ice within a gridbox.
If using either URBAN-2T or MORUSES then the total urban fraction should be entered in the urban_canyon or urban tile, whichever is specified. This is partitioned into canyon and roof fractions using the canyon fraction (W/R). The canyon fraction is set in urban.nml and can either be prescribed by the user or calculated by an empirical formula.
Type: | logical |
---|---|
Default: | F |
Type: | character |
---|---|
Default: | None |
The name of the file to read surface type fractional coverage data from.
Type: | character |
---|---|
Default: | ‘frac’ (empty string) |
The name of the variable containing the surface type fractional coverage data.
Note
This is only used for NetCDF files. For ASCII files, the surface type fractional coverage data is expected to be the first (ideally only) variable in the file.
In the file, the variable must have a single levels dimension of size ntype called type_dim_name, and should not have a time dimension.
This namelist specifies how spatially varying soil properties should be set.
Type: | logical |
---|---|
Default: | F |
Type: | logical |
---|---|
Default: | F |
Switch indicating if soil properties are to be uniform with depth.
Type: | character |
---|---|
Default: | None |
The file to read soil properties from.
If use_file is FALSE for every variable, this will not be used.
This file name can use variable name templating.
Type: | integer |
---|---|
Permitted: | >= 0 |
Default: | 0 |
The number of soil property variables that will be provided. At present, all variables are required for all runs.
Type: | character(nvars) |
---|---|
Default: | None |
List of soil variable names as recognised by JULES (see List of soil parameters). Names are case sensitive.
Note
For ASCII files, variable names must be in the order they appear in the file.
Type: | logical(nvars) |
---|---|
Default: | T |
For each JULES variable specified in var, this indicates if it should be read from the specified file or whether a constant value is to be used.
Type: | character(nvars) |
---|---|
Default: | ‘’ (empty string) |
For each JULES variable specified in var where use_file = TRUE, this is the name of the variable in the file containing the data.
If the empty string (the default) is given for any variable, then the corresponding value from var is used instead.
This is not used for variables where use_file = FALSE, but a placeholder must still be given in that case.
Note
For ASCII files, this is not used - only the order in the file matters, as described above.
Type: | character(nvars) |
---|---|
Default: | None |
For each JULES variable specified in var, this is the string to substitute into the file name in place of the variable name substitution string.
If the file name does not use variable name templating, this is not used.
Type: | real(nvars) |
---|---|
Default: | None |
For each JULES variable specified in var where use_file = FALSE, this is a constant value that the variable will be set to at every point in every layer.
This is not used for variables where use_file = TRUE, but a placeholder must still be given in that case.
If const_z = FALSE, variables read from file must have a single levels dimension of size sm_levels called soil_dim_name.
If const_z = TRUE, variables read from file must have no levels dimensions.
In both cases, the variables must have no time dimension. Some examples of the setup of soil properties can be found in the examples directory.
Name | Description |
---|---|
albsoil | Soil albedo. A single (averaged) waveband is used. |
b | Exponent in soil hydraulic characteristics. |
hcap | Dry heat capacity (J m-3 K-1). |
hcon | Dry thermal conductivity (W m-1 K-1). |
satcon | Hydraulic conductivity at saturation (kg m-2 s-1). |
sathh | If l_vg_soil = TRUE (using van Genuchten model), sathh = 1 / α (m-1), where α is a parameter of the van Genuchten model. If l_vg_soil = FALSE (using Brooks and Corey model), sathh is the absolute value of the soil matric suction at saturation (m). The suction at saturation is generally less than zero, but JULES uses the absolute value. |
sm_crit | Volumetric soil moisture content at the critical point (m3 water per m3 soil). The point at which soil moisture stress starts to restrict transpiration is a function of sm_crit, sm_sat and the pft-dependent parameter fsmc_p0_io . |
sm_sat | Volumetric soil moisture content at saturation (m3 water per m3 soil). Note This field is used to distinguish between soil points and land ice points. sm_sat > 0 indicates a soil point. |
sm_wilt | Volumetric soil moisture content at the wilting point (m3 water per m3 soil). The wilting point is that at which soil moisture stress completely prevents transpiration. |
clay | Soil clay content (g clay per g soil). This is only used when l_triffid is TRUE where soil clay content is used in the soil carbon decomposition model. Note In order to make it backwards compatible, if it is not available it is set to 0.0 in the code. However, this is wrong - if it is not available it should be set to 0.23 |
This namelist reads spatially varying parameter values for the TOPMODEL-type parameterisation of runoff. The values are only used if l_top = TRUE. The description below is very brief. For further details, see the references under l_top.
Type: | logical |
---|---|
Default: | F |
Type: | character |
---|---|
Default: | None |
The file to read TOPMODEL properties from.
If use_file is FALSE for every variable, this will not be used.
This file name can use variable name templating.
Type: | integer |
---|---|
Permitted: | >= 0 |
Default: | 0 |
The number of TOPMODEL property variables that will be provided. At present, all variables are required for runs using TOPMODEL.
Type: | character(nvars) |
---|---|
Default: | None |
List of TOPMODEL variable names as recognised by JULES (see List of TOPMODEL parameters). Names are case sensitive.
Note
For ASCII files, variable names must be in the order they appear in the file.
Type: | logical(nvars) |
---|---|
Default: | T |
For each JULES variable specified in var, this indicates if it should be read from the specified file or whether a constant value is to be used.
Type: | character(nvars) |
---|---|
Default: | ‘’ (empty string) |
For each JULES variable specified in var where use_file = TRUE, this is the name of the variable in the file containing the data.
If the empty string (the default) is given for any variable, then the corresponding value from var is used instead.
This is not used for variables where use_file = FALSE, but a placeholder must still be given in that case.
Note
For ASCII files, this is not used - only the order in the file matters, as described above.
Type: | character(nvars) |
---|---|
Default: | None |
For each JULES variable specified in var, this is the string to substitute into the file name in place of the variable name substitution string.
If the file name does not use variable name templating, this is not used.
Type: | real(nvars) |
---|---|
Default: | None |
For each JULES variable specified in var where use_file = FALSE, this is a constant value that the variable will be set to at every point in every layer.
This is not used for variables where use_file = TRUE, but a placeholder must still be given in that case.
All of the TOPMODEL variables listed below are expected to have no levels dimensions and no time dimension.
Name | Description |
---|---|
fexp | Decay factor describing how the saturated hydraulic conductivity decreases with depth below the standard soil column (m-1). |
ti_mean | Mean value of the topographic index in each gridbox. |
ti_sig | Standard deviation of the topographic index in each gridbox. |
If the TRIFFID vegetation model is used, the fractional area of agricultural land in each gridbox is specified using this namelist. Otherwise, the values in this namelist are not used.
Type: | logical |
---|---|
Default: | F |
Type: | logical |
---|---|
Default: | T |
Switch used to simplify the initialisation of agricultural fraction.
Used if zero_agric = FALSE and the input grid consists of a single location
Type: | real |
---|---|
Default: | None |
The agricultural fraction for the single location.
Used if zero_agric = FALSE and the input grid consists of more than one location
Type: | character |
---|---|
Default: | None |
The name of the file to read agricultural fraction data from.
Type: | character |
---|---|
Default: | ‘frac_agr’ |
The name of the variable containing the agricultural fraction data.
In the file, the variable must have no levels dimensions and no time dimension.
Type: | logical |
---|---|
Default: | T |
Switch used to simplify the initialisation of pasture fraction. Pasture fraction can only be used if l_trif_crop is TRUE.
Used if zero_past = FALSE and the input grid consists of a single location
Type: | real |
---|---|
Default: | None |
The pasture fraction for the single location.
Used if zero_past = FALSE and the input grid consists of more than one location
Type: | character |
---|---|
Default: | None |
The name of the file to read pasture fraction data from.
Type: | character |
---|---|
Default: | ‘frac_past’ |
The name of the variable containing the pasture fraction data.
In the file, the variable must have no levels dimensions and no time dimension.
Type: | logical |
---|---|
Default: | F |
Type: | character |
---|---|
Default: | None |
The file from which crop properties are read.
If use_file is FALSE for every variable, this will not be used.
This file name can use variable name templating.
Type: | integer |
---|---|
Permitted: | >= 0 |
Default: | 0 |
The number of crop property variables that will be provided.
Type: | character(nvars) |
---|---|
Default: | None |
List of variable names for spatially-varying crop properties as recognised by JULES (see List of spatially-varying crop properties). Names are case sensitive.
Note
For ASCII files, variable names must be in the order they appear in the file.
Type: | logical(nvars) |
---|---|
Default: | T |
For each JULES variable specified in var, this indicates if it should be read from the specified file or whether a constant value is to be used.
Type: | character(nvars) |
---|---|
Default: | ‘’ (empty string) |
For each JULES variable specified in var where use_file = TRUE, this is the name of the variable in the file containing the data.
If the empty string (the default) is given for any variable, then the corresponding value from var is used instead.
This is not used for variables where use_file = FALSE, but a placeholder must still be given in that case.
Note
For ASCII files, this is not used - only the order in the file matters, as described above.
Type: | character(nvars) |
---|---|
Default: | None |
For each JULES variable specified in var, this is the string to substitute into the file name in place of the variable name substitution string.
If the file name does not use variable name templating, this is not used.
Type: | real(nvars) |
---|---|
Default: | None |
For each JULES variable specified in var where use_file = FALSE, this is a constant value that the variable will be set to at every point in every layer.
This is not used for variables where use_file = TRUE, but a placeholder must still be given in that case.
All of the crop variables listed below are expected to have a single levels dimension of size ncpft called cpft_dim_name.
Name | Description |
---|---|
cropsowdate | The sowing date for each crop. The sowing date should be a real number, with 0 < nint(sowing_date) < number of days in year. For example, for a 365 day year, sow_date = 1.0 is Jan 1st and sow_date = 365.0 is Dec 31st. If a crop requires two sowing dates per year, it should be treated as two separate crops with identical parameters apart from the sowing date. Note Only required if l_prescsow = TRUE. |
cropttveg | Thermal time between emergence and flowering (degree days). |
cropttrep | Thermal time between flowering and maturity/harvest (degree days). |
See also
References:
Type: | logical |
---|---|
Default: | F |
Type: | logical |
---|---|
Default: | T |
If T, then irrigation fraction is applied to all tiles, and F, it is applied only to the tiles specified in irrigtiles.
Type: | integer |
---|---|
Default: | None |
The number of tile types to be irrigated. Only used if frac_irrig_all_tiles = F.
Type: | integer(nirrtile) |
---|---|
Default: | None |
Indices of the tiles to be irrigated. Only used if frac_irrig_all_tiles = F.
Type: | logical |
---|---|
Default: | T |
Indicates if irrigated fraction is to be read from file.
Type: | character |
---|---|
Default: | None |
The file from which irrigation fractions are read, including path.
Type: | character |
---|---|
Default: | ‘frac_irig’ |
The name of the variable containing the irrigated fraction data.
Note
This is only used for NetCDF files. For ASCII files, the irrigated fraction data is expected to be the first (ideally only) variable in the file.
In the file, the variable must have no levels or time dimensions.
Type: | real |
---|---|
Default: | none |
The constant irrigated fraction to be applied to all grid points.
This namelist specifies how spatially varying river routing properties should be set.
Note
read_from_dump is not currently implemented for this namelist, although initial condition variables can be read from a dump file if rivers_type is rfm or trip (see JULES_INITIAL).
Note
The river routing code in JULES is still in development. Users should ensure that results are as expected, and provide feedback where deficiencies are identified.
Note
The grid on which the river routing will run, and on which river routing ancillaries must be provided, could potentially differ from the input/model grid specified in model_grid.nml.
For the duration of this document, the following nomenclature will be used:
Currently, information about the river routing grid and its relationship to the model input grid is specified in JULES_RIVERS_PROPS.
While the model input can be defined on a 1D grid, the river routing grid must be 2D, as defined through the x and y dimensions of the rivers ancillary file. See x_dim_name and y_dim_name for further details. If a non-regular model and river routing grid is used, both the x and y dimensions and corresponding latitude and longitude values must be specified for each grid point.
For some applications, the model input and river routing grids may not be coincident. Note that functionality only currently exists to regrid between regular (but non-identical) model input and river routing grids. If a non-regular model input grid is specified, it is assumed that the model input and river routing grids will be coincident.
Members used to define the river routing grid
Type: | logical |
---|---|
Default: | T |
Flag indicating if the river routing grid is regular in latitude and longitude.
Type: | character |
---|---|
Default: | None |
The name of the x dimension for the river routing grid.
Note
For ASCII files, this can be anything. For NetCDF files, it should the name of the dimension in input file(s).
Warning
Values for the x dimension of the river routing grid will need to be read from the input file to define the grid, so it is assumed that the file contains a variable of the same name. If a non-regular river routing grid is used, a 2D longitude field will also be needed to define the x-location of each grid point, read in via the longitude_2d ancillary field.
Type: | character |
---|---|
Default: | None |
The name of the y dimension for the river routing grid.
Note
For ASCII files, this can be anything. For NetCDF files, it should the name of the dimension in input file(s).
Warning
Values for the y dimension of the river routing grid will need to be read from the input file to define the grid, so it is assumed that the file contains a variable of the same name. If a non-regular river routing grid is used, a 2D latitude field will also be needed to define the y-location of each grid point, read in via the latitude_2d ancillary field.
Type: | integer |
---|---|
Permitted: | >= 1 |
Default: | None |
The size of the x dimension of the river routing grid.
Type: | integer |
---|---|
Permitted: | >= 1 |
Default: | None |
The size of the y dimension of the river routing grid.
Members used to define the relationship between the model input grid and the river routing grid
Type: | logical |
---|---|
Default: | T |
Flag indicating if the model input and river routing grids are identical, i.e. whether regridding of variables to and from the river routing grid is required. Note this is only currently possible if rivers_reglatlon is TRUE.
Warning
Currently, regridding between model input and river routing grids must only be used with regular lat/lon model input and river routing grids.
An example with the GSWP2 (land points only) forcing data is given below.
Only used when JULES_INPUT_GRID::grid_is_1d = TRUE or for a parallel standalone run.
Type: | integer |
---|---|
Permitted: | >= 1 |
Default: | JULES_RIVERS_PROPS::nx |
The size of the x dimension of the 2D regular lat/lon grid containing the model input grid.
Type: | integer |
---|---|
Permitted: | >= 1 |
Default: | JULES_RIVERS_PROPS::ny |
The size of the y dimension of the 2D regular lat/lon grid containing the model input grid.
Type: | real |
---|---|
Default: | Latitude of lower-left corner of river routing grid |
The latitude of the lower-left corner of the 2D regular lat-lon grid containing the model input grid.
Type: | real |
---|---|
Default: | Longitude of lower-left corner of river routing grid |
The longitude of the lower-left corner of the 2D regular lat/lon grid containing the model input grid.
Type: | real |
---|---|
Default: | Latitude spacing of river routing grid |
The latitude spacing of the 2D regular lat/lon grid containing the model input grid.
Type: | real |
---|---|
Default: | Longitude spacing of river routing grid |
The longitude spacing of the 2D regular lat/lon grid containing the model input grid.
Only used when rivers_reglatlon = FALSE
Type: | real |
---|---|
Permitted: | > 0 |
Default: | 0 |
The constant size of the rivers grid (in m) if non-regular in latitude/longitude (e.g. if defined in National Grid coordinates).
Members used to determine how river routing variables are set
Type: | character |
---|---|
Default: | None |
The file to read river routing properties from.
If use_file is FALSE for every variable, this will not be used.
This file name can use variable name templating.
Type: | integer |
---|---|
Permitted: | >= 0 |
Default: | 0 |
The number of river routing property variables that will be provided (see List of rivers properties).
Type: | character(nvars) |
---|---|
Default: | None |
List of river routing variable names as recognised by JULES (see List of rivers properties). Names are case sensitive.
Note
For ASCII files, variable names must be in the order they appear in the file.
Type: | logical(nvars) |
---|---|
Default: | T |
For each JULES variable specified in var, this indicates if it should be read from the specified file or whether a constant value is to be used.
Type: | character(nvars) |
---|---|
Default: | ‘’ (empty string) |
For each JULES variable specified in var where use_file = TRUE, this is the name of the variable in the file containing the data.
If the empty string (the default) is given for any variable, then the corresponding value from var is used instead.
This is not used for variables where use_file = FALSE, but a placeholder must still be given in that case.
Note
For ASCII files, this is not used - only the order in the file matters, as described above.
Type: | character(nvars) |
---|---|
Default: | None |
For each JULES variable specified in var, this is the string to substitute into the file name in place of the variable name substitution string.
If the file name does not use variable name templating, this is not used.
Type: | real(nvars) |
---|---|
Default: | None |
For each JULES variable specified in var where use_file = FALSE, this is a constant value that the variable will be set to at every point.
This is not used for variables where use_file = TRUE, but a placeholder must still be given in that case.
The following gives an example of how you would set up the namelists to use routing with the GSWP2 forcing data.
The model input grid is the GSWP2 grid, i.e. a land-points-only, 1D grid where points lie on a 1° x 1° grid. The river routing grid is a 2D 1° x 1° grid.
Since both grids are 1° x 1°, we define the 2D regular lat-lon grid containing the model input grid to be the river routing grid, which means we don’t need any regridding of variables.
&JULES_INPUT_GRID
grid_is_1d = T,
npoints = 15238,
grid_dim_name = "land"
# ...
/
# ...
&JULES_RIVERS_PROPS
# Define the river routing grid to be a 2D regular lat-lon grid
rivers_reglatlon = T,
x_dim_name = "longitude",
nx = 360,
y_dim_name = "latitude",
ny = 180,
# Define the 2D regular lat-lon grid containing the model input grid to be a 2D 1\ |deg| x 1\ |deg| grid
nx_grid = 360,
ny_grid = 180,
reg_lat1 = -89.5,
reg_lon1 = -179.5,
reg_dlat = 1.0,
reg_dlon = 1.0,
# No regridding required since the river routing grid is the same as the 2D regular lat-lon grid containing the model input grid
rivers_regrid = F
/
The following table summarises river routing grid properties required to run RFM or TRIP river routing algorithms, specified from an ancillary file if use_file = TRUE.
Name | Description |
---|---|
area | Drainage area (in number of grid boxes) draining into a given grid box. This does not include the grid point itself, and so an extra point to account for the grid point itself must be added where catchment area calculations are required. This is used if rivers_type = rfm to define river, land and sea points using the a_thresh parameter. If not available, all points with a valid direction value are set to 2 by default (i.e. river points if a global_run, land points if high-res). |
direction | Flow direction for each river routing grid box, defining the next grid box into which surface or sub-surface water will be routed. This is specified as an integer according to [1 = N, 2 = NE, 3 = E, 4 = SE, 5 = S, 6 = SW, 7 = W, 8 = NW]. This numbering system is based on the TRIP implementation, and may not be standard. Users should take care to ensure that the input ancillary is defined as required. |
sequence | River routing network pathway number. Used by TRIP river routing only (i.e. rivers_type = trip). See Oki et al. (1999) for details. |
latitude_2d | If rivers_reglatlon = FALSE, the unique 2D location of each river grid point must be specified. |
longitude_2d | If rivers_reglatlon = FALSE, the unique 2D location of each river grid point must be specified. |
See also
References:
Type: | logical |
---|---|
Default: | F |
Type: | real |
---|---|
Default: | 5.241e-4 |
Concentration of atmospheric CO2, expressed as a mass mixing ratio.