JULES separates output into one or more output ‘profiles’. Within each profile, all variables selected for output are written to the same file with the same frequency (also referred to as the ‘output period’). The output period can be any multiple of the model timestep, including calendar months or years.
All output is provided on the model grid only. Each output file contains the latitude and longitude of each point to allow the points to be located in a grid if desired (e.g. for visualisation). Output files also contain two time related variables to locate the values in time (this is described in more detail below).
JULES is capable of performing three different types of time-processing - snapshot (instantaneous) values, time averages and time accumulations. Snapshots are instantaneous values produced during the first model timestep of each output period. Time averages and accumulations are calculated over the output period. Each output variable is annotated with a CF convention cell_methods attribute to indicate whether it is a snapshot value (time : point), time average (time : mean) or time accumulation (time : sum).
Each profile can be considered as a separate data stream. By using more than one profile the user can, for example:
All output files will be NetCDF if JULES is compiled with ‘proper’ NetCDF libraries (see Building JULES). Otherwise all output will be in columnar ASCII files.
JULES output files contain two time related variables to allow model output to be associated with the correct model time:
For each output period, this variable contains two values - the start and end of the output period. The output period is then the half-open interval given by:
time_bounds(1) <= time < time_bounds(2)
This is the interval that means and accumulations are calculated over.
During each model timestep, JULES has two distinct places where it captures values for output. A variable is either captured at the start of the timestep (i.e. before any science code has run) or at the end of the timestep (i.e. after all the science code). In general, JULES captures ‘state’ variables (e.g. temperature, snow mass, soil moisture) at the start of the timestep, and fluxes (or rates) at the end of the timestep (e.g. GPP, evaporation). There are a few small exceptions to this. The point at which each output variable is captured is given in JULES Output variables.
This means that in output files, snapshot data at a particular time is:
The distinction becomes less important for means and accumulations, but it is still worth bearing in mind at what point in the timestep values are captured for a particular variable.
JULES writes dump files (a snapshot of the current model state) at several points during a run. These can be used to restart the model from that point if desired. The times that dump files are written are:
Each dump is marked with the model date and time that it was produced.