6.33. prescribed_data.nml

This file contains a variable number of namelists that are used to prescribe time-varying input data that is not meteorological forcing. The namelist JULES_PRESCRIBED should occur only once at the top of the file. The value of n_datasets in JULES_PRESCRIBED then determines how many times the namelist JULES_PRESCRIBED_DATASET should occur.

6.33.1. JULES_PRESCRIBED namelist members

JULES_PRESCRIBED::n_datasets
Type:

integer

Permitted:

>= 0

Default:

0

The number of datasets that will be specified using instances of the JULES_PRESCRIBED_DATASET namelist.

6.33.2. JULES_PRESCRIBED_DATASET namelist members

This namelist should occur n_datasets times. Each occurrence of this namelist contains information about a single dataset (i.e. set of related files).

Members used to specify the start, end and period of the data

JULES_PRESCRIBED_DATASET::data_start
JULES_PRESCRIBED_DATASET::data_end
Type:

character

Default:

None

The times of the start of the first timestep of data and the end of the last timestep of data.

Each run of JULES (configured in timesteps.nml) can use part or all of the specified data. However, there must be data for all times between run start and run end (determined by main_run_start, main_run_end, spinup_start and spinup_end).

The times must be given in the format:

"yyyy-mm-dd hh:mm:ss"
JULES_PRESCRIBED_DATASET::data_period
Type:

integer

Permitted:

-2, -1 or > 0

Default:

None

The period, in seconds, of the data.

Special cases:

-1: Monthly data
-2: Yearly data
JULES_PRESCRIBED_DATASET::is_climatology
Type:

logical

Default:

F

Indicates whether the data is to be used as a climatology (use the same data for every year).

TRUE

Interpret the data as a climatology. data_start and data_end must be such that exactly one year of data is specified.

FALSE

Do not interpret the data as a climatology.

Members used to specify the files containing the data

JULES_PRESCRIBED_DATASET::read_list
Type:

logical

Default:

F

Switch controlling how data file names are determined for a given time.

TRUE

Use a list of data file names with times of first data.

FALSE

Use a single data file for all times or a template describing the names of the data files.

JULES_PRESCRIBED_DATASET::nfiles
Type:

integer

Permitted:

>= 0

Default:

0

Only used if read_list = TRUE.

The number of data files to read name and time of first data for.

JULES_PRESCRIBED_DATASET::file
Type:

character

Default:

None

If read_list = TRUE, this is the file to read the list of data file names and times from. Each line should be of the form:

'/data/file', 'yyyy-mm-dd hh:mm:ss'

In this case data file names may contain variable name templating only, with the proviso that either no file names use variable name templating or all file names do. The files must appear in chronological order.

If read_list = FALSE, this is either the single data file (if no templating is used) or a template for data file names. Both time and variable name templating may be used.

Members used to specify the provided variables

JULES_PRESCRIBED_DATASET::nvars
Type:

integer

Permitted:

>= 0

Default:

0

The number of variables that the dataset will provide.

See List of supported variables for the supported variables.

JULES_PRESCRIBED_DATASET::var
Type:

character(nvars)

Default:

None

List of variable names as recognised by JULES (see List of supported variables). Names are case sensitive.

Note

For ASCII files, variable names must be in the order they appear in the file.

JULES_PRESCRIBED_DATASET::var_name
Type:

character(nvars)

Default:

‘’ (empty string)

For each JULES variable specified in var, this is the name of the variable in the file(s) containing the data.

If the empty string (the default) is given for any variable, then the corresponding value from var is used instead.

Note

For ASCII files, this is not used - only the order in the file matters, as described above.

JULES_PRESCRIBED_DATASET::tpl_name
Type:

character(nvars)

Default:

None

For each JULES variable specified in var, this is the string to substitute into the file name(s) in place of the variable name substitution string.

If the file name(s) do not use variable name templating, this is not used.

JULES_PRESCRIBED_DATASET::interp
Type:

character(nvars)

Default:

None

For each JULES variable specified in var, this indicates how the variable is to be interpolated in time (see Temporal interpolation).

JULES_PRESCRIBED_DATASET::prescribed_levels
Type:

integer(n) where n ranges from 1 (one level prescribed) to sm_levels (all levels prescribed)

Default:

1, …, sm_levels i.e. all levels prescribed

Indices of the subset of levels to be prescribed. Currently only implemented for var = sthuf and nvars = 1. The numbering of the soil level indices starts at 1 (corresponding to the layer touching the surface). Note that sthuf data must be provided for all soil levels, but can be set to dummy values for the levels that are not prescribed.

6.33.2.1. List of supported variables

All variables input using prescribed_data.nml must have a time dimension using time_dim_name.

In theory, any variable with an entry in the subroutine populate_var in model_interface_mod (see I/O framework) can be updated via this mechanism, and the use of any of these variables is not explicitly prevented. However, it is up to the user to assess whether using this mechanism to update any particular variable is appropriate or desirable.

The use of the following variables is explicitly supported:

Name

Description

Levels dimension(s) required in files

ozone

Surface ozone concentration (ppb).

Note

Required if l_o3_damage = TRUE.

None

canht

PFT canopy height (m).

Note

Not possible if l_triffid = TRUE

Single levels dimension of size npft using pft_dim_name.

lai

PFT leaf area index.

Note

Not possible if l_triffid = TRUE or l_phenol = TRUE

Single levels dimension of size npft using pft_dim_name.

albobs_sw

Observed SW diffuse albedo.

Note

Required if l_albedo_obs = TRUE and l_spec_albedo = FALSE.

None

albobs_vis

Observed VIS diffuse albedo.

Note

Required if l_albedo_obs = TRUE and l_spec_albedo = TRUE.

None

albobs_nir

Observed NIR diffuse albedo.

Note

Required if l_albedo_obs = TRUE and l_spec_albedo = TRUE.

None

co2_mmr

Concentration of atmospheric CO2, expressed as a mass mixing ratio.

Note

A single value of co2_mmr is applied globally. Data must be supplied for each gridpoint, but only the value of the first grid-point is used.

None

sthuf

Soil wetness for each soil layer. This is the mass of soil water (liquid and frozen), expressed as a fraction of the water content at saturation.

Note

Soil wetness will be set to the prescribed value at the beginning of each timestep but will be incremented during that timestep. Also, it is recommended that the prescribed sthuf does not exceed one.

Single levels dimension of size sm_levels using soil_dim_name.

frac_agr

Fractional area of agricultural land in each gridbox.

None

frac_past

Fractional area of pasture land in each gridbox.

None

frac_biocrop

Fractional area of bioenergy cropland in each gridbox.

None

tracer_field

Surface concentration of atmospheric chemical tracers in the atmosphere, for calculation of deposition, as mass mixing ratio (kg kg -1).

Single levels dimension of size ndry_dep_species using tracer_dim_name.

bl_height

Height above surface of top of atmospheric boundary layer (m).

None

level_separation

Separation of boundary layer levels (m). The levels are listed starting at the surface and working up.

Single levels dimension of size bl_levels using bl_level_dim_name.

demand_rate_domestic

Demand for water for domestic use (kg kg -1)

Note

Required if l_water_domestic = TRUE.

None

demand_rate_industry

Demand for water for industrial use (kg kg -1)

Note

Required if l_water_industry = TRUE.

None

demand_rate_livestock

Demand for water for livestock (kg kg -1)

Note

Required if l_water_livestock = TRUE.

None

demand_rate_trasnfers

Demand for water for transfers (kg kg -1)

Note

Required if l_water_transfers = TRUE.

None