ACCESS Output Data Specifications
This document provides an overview of the data specifications for data produced by ACCESS models. The initial draft of this specification targets ESM1.6 and will be expanded to other ACCESS models in time. This version of the specification is intended to be relatively lightweight, as a first step towards the standardisations of data produced by the ACCESS ecosystem. The goal of this specification is to provide a consistent and uniform experience for users across all ACCESS models by enabling the embedding of established community conventions and defined data specifications directly in the ACCESS software and release processes.
Included here are file and directory naming conventions, variable conventions, and variable and global attributes.
More information on the ACCESS models can be found here. Please direct any issues, feedback or queries on the data specification to data.access.nri@anu.edu.au.
Directory and Filename
Directory Structure
The directory structure for ACCESS-ESM1.6 data output is still being finalised. The current draft has the following structure under the current working directory:
<run>/output<xxx>/<realm>/<filename.nc>
File naming
ACCESS-ESM1.6 filenames are under development.
All information contained in filenames will be present in file metadata attributes.
File content
Output files will be NetCDF4 files with data variables compressed using zlib with deflate level of at least 1 and shuffle enabled.
If a compression level greater than 1 is used please consider the benefit of improved compression ratios against cost of increased compression/decompression times.
Where possible files will conform to the CF metadata conventions (version 1.11) and use the CF Convention Standard Name Table.
For ACCESS-ESM1.6 every file will contain a single data variable/field from a single simulation.
Metadata Attributes
Global Attributes
Global attributes provide information on the context for the data such as the creation time, experiment it is part of, or science configurations used.
All the attributes in the table below are recommended but not all are required, see the Required column, and attributes not specified are permitted.
Attributes are sorted alphabetically by name.
For any given experiment run, the combination of model and model_version identify the code used to generate the data.
experiment_repo and run_id identify a specific commit in the repository containing the configuration used.
| Title | Description | Type | Examples | Rules | Required |
|---|---|---|---|---|---|
| base_configuration | Configuration modified for experiment, see configs repo: https://github.com/ACCESS-NRI/access-esm1.6-configs | string | release-preindustrial+concentrations-2.0 | Yes | |
| contact | Email address or other contact details for who to contact regarding this data. | string |
|
Yes | |
| Conventions | Convention(s) used with their versions, as a comma separated list | string | CF-1.11,ACDD-1.3 | Yes | |
| data_specification | Version of this data specification used to generate the data | string | ACCESS Output Data Specification v2-1-0 XX.XXXX/zenodo.XXXXX | Yes | |
| date_created | Date and time the file was created. Follow ISO 8601, i.e. 'YYYY-MM-DDTHH:MM:SSZ' | string | 2025-10-07T11:10:00Z | Must match regex: ^\d{4}-(1[012]|0[1-9])-(3[01]|[12][0-9]|0[1-9])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]Z$ | Yes |
| date_metadata_modified | Date and time the metadata for this file was last modified. Note that this applied just to the metadata, not the data. Follow ISO 8601, i.e. 'YYYY-MM-DDTHH:MM:SSZ' | string | 2025-10-07T11:10:00Z | Must match regex: ^\d{4}-(1[012]|0[1-9])-(3[01]|[12][0-9]|0[1-9])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]Z$ | No |
| date_modified | Date and time the data for this file was last modified. Note that this applied just to the data, not the metadata. Follow ISO 8601, i.e. 'YYYY-MM-DDTHH:MM:SSZ' | string | 2025-10-07T11:10:00Z | Must match regex: ^\d{4}-(1[012]|0[1-9])-(3[01]|[12][0-9]|0[1-9])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]Z$ | No |
| experiment_repo | Git repository URL that describes the experiment | string | https://github.com/ACCESS-Community-Hub/access-esm1.6-dev-experiments | Yes | |
| experiment_uuid | The experiment UUID generated by Payu. Note: this may be the same as id. | string | 698E600B-BECF-4CBA-994F-A663A22FCDDF | Yes | |
| frequency | Sampling frequency of the data | string |
|
Must match one of these regex:
|
Yes |
| geospatial_lat_max | Specifies the northernmost latitude covered by the dataset. Units should be "degrees North". | number |
|
Yes | |
| geospatial_lat_min | Specifies the southernmost latitude covered by the dataset. Units should be "degrees North". | number |
|
Yes | |
| geospatial_lat_units | Units for the latitude axis described in "geospatial_lat_min" and "geospatial_lat_max" attributes. These should be "degrees_north". | string | degrees_north | No | |
| geospatial_lon_max | Specifies the easternmost longitude covered by the dataset. Units should be "degrees East". Cases where geospatial_lon_min is greater than geospatial_lon_max indicate the bounding box extends from geospatial_lon_max, through the longitude range discontinuity meridian (e.g. the antimeridian for -180:180 values ranges) to geospatial_lon_min; for example, geospatial_lon_min=170 and geospatial_lon_max=-175 incorporates 15 degrees of longitude (ranges 170 to 180 and -180 to -175). | number |
|
Yes | |
| geospatial_lon_min | Specifies the westernmost latitude covered by the dataset. Units should be "degrees East". See also geospatial_lon_max. | number |
|
Yes | |
| geospatial_lon_units | Units for the longitude axis described in "geospatial_lon_min" and "geospatial_lon_max" attributes. These should be "degrees_east". | string | degrees_east | No | |
| grid | Brief description of output grid characteristics or reference to grid specification. Should be included if the grid is not defined by the dimensions in the file. | string | No | ||
| license | Information on the license for the data to ensure all users have access to the terms of use. Use SPDX license identifiers where possible. The default license for ACCESS-NRI is CC-BY-4.0, users should change as needed. | string | CC-BY-4.0 | Yes | |
| model | Name of the model used to create the data | string | ACCESS-ESM1.6 | Yes | |
| model_version | Version of the model used to create the data. Please note here if the model has been modified from an official release, ideally with links to the changes. | string |
|
Yes | |
| realm | Realm where the data variable is defined | string |
|
Must be one of the following:
|
Yes |
| run_id | Git hash for the commit associated with the experiment run | string |
|
Yes | |
| title | Name of the dataset. Typically following the Payu naming scheme detailed here - https://payu.readthedocs.io/en/stable/usage.html#experiment-names | string | my_expt-perturb-416af8c6 | Yes | |
| variable_id | A list of short variable names, separated by commas, for the data variable/s that appear in this file (e.g. tas for surface temperature but not time/latitude/longitude). These names should match the netCDF variable names. | string |
|
No |
Variable Attributes
Variable attributes provide information on the data variable such as the units used, standard_name, or cell_methods used to generate the data.
In netCDF files there can be multiple coordinate variables such as time, latitude, or time_bnds and the main output field variable of which there should be only one.
Where possible variables and their attributes should follow CF-v1.11 conventions.
| Title | Description | Type | Examples |
|---|---|---|---|
| cell_methods | A string comprising a list of space-separated pairs, "name:method", which indicate that for axis "name" the values representing the fields have been determined by "method". | string |
|
| long_name | A long descriptive name which may, for example, be used for labelling plots. | string |
|
| standard_name | Where possible use the CF standard_name of the variable, otherwise use a unique short phrase separated by underscores to describe the variable. | string |
|
| units | The units of measurement for the variable | string |
|
time and time_bnds
Variables describing the time dimension must be named time and have the following metadata:
| Title | Description | Type | Examples | Required |
|---|---|---|---|---|
| axis | Must have the value 'T' | string | T | Yes |
| bounds | Must have the value 'time_bnds' | string | time_bnds | No |
| calendar | Calendar defines the set of valid datetimes and their order. Follows the CF-Convention names using lower-case strings. It is recommended that "proleptic_gregorian" is used for data with leap days and "no_leap"/"365_day" for data without leap days. | string | Yes | |
| long_name | Must have the value 'time' | string | time | Yes |
| standard_name | Must have the value 'time' | string | time | Yes |
| units | Units for time should be given as "days since X" where X is a date (yyyy-mm-dd) or a datetime (yyyy-mm-dd HH:MM or yyyy-mm-dd HH:MM:SS) | string |
|
Yes |
Where possible, time variables will have their boundaries described by a time_bnds variable.
The time_bnds variable itself will have no attributes.
Acknowledgements
We would like to acknowlege the specifications and conventions we have used and consulted to construct this specification and the tremendous work of their authors: