clef.model¶
Model of NCI’s MAS database
The MAS database has two main tables - path and metadata. These base
tables are available in the model as Path and Metadata, they
have a SQLAlchemy relationship so that the two table can be joined in queries.
There may be multiple Metadata entries for a single Path,
these represent different metadata types, such as checksums, netCDF attributes
and POSIX file attributes. The type can be identified from
Metadata.type, and is used as a polymorphic identity to SQLAlchemy’s
single table inheritance,
creating the Checksum, Netcdf and Posix models.
The C5Dataset and C6Dataset models represent datasets like
you would find on ESGF, although without a version. They are created in the
database from a DISTINCT view of the NetCDF attributes, and can be used to
group paths on the filesystem into datasets.
-
class
clef.model.C5Dataset(**kwargs)[source]¶ A CMIP5-era ESGF dataset
This class only has access to attributes from the file itself, so version information is not present.
See the CMIP documentation for descriptions of the attributes
-
cmor_table¶
-
ensemble¶
-
experiment¶
-
institute¶
-
model¶
-
project¶
-
realm¶
-
time_frequency¶
-
-
class
clef.model.C6Dataset(**kwargs)[source]¶ A CMIP6-era ESGF dataset
This class only has access to attributes from the file itself, so version information is not present.
See the CMIP documentation for descriptions of the attributes
-
activity_id¶
-
experiment_id¶
-
frequency¶
-
grid_label¶
-
institution_id¶
-
member_id¶
-
nominal_resolution¶
-
project¶
-
realm¶
-
source_id¶
-
source_type¶
-
sub_experiment_id¶
-
table_id¶
-
variable_id¶
-
variant_label¶
-
-
class
clef.model.Checksum(**kwargs)[source]¶ Checksum of a file on Raijin
-
md5¶ md5 checksum
-
sha256¶ sha256 checksum
-
-
class
clef.model.ExtendedMetadata(**kwargs)[source]¶ Extra metadata not present in the file’s attributes
-
class
clef.model.Info(**kwargs)[source]¶ General information about a dataset file
This is a database view, its columns shouldn’t be used for searching as they are large and not indexed.
-
contact¶
-
description¶
-
further_info_url¶
-
license¶
-
parent_experiment_id¶
-
source¶
-
title¶
-
tracking_id¶
-
variant_info¶
-
-
class
clef.model.Metadata(**kwargs)[source]¶ Generic base class for Metadata of a file on Raijin
See
PosixandNetcdffor specific metadata information-
json¶ Metadata value
-
type¶ Metadata type
-
-
class
clef.model.Netcdf(**kwargs)[source]¶ NetCDF metadata of a file on Raijin
As would be found by
ncdump -h-
attributes¶ File attributes
-
dimensions¶ File dimensions
-
variables¶ File variables
-
-
class
clef.model.Path(**kwargs)[source]¶ Path of a file on Raijin, with links to metadata
-
path¶ File path at NCI
-