SurfaceCurrentContainerDCF3

class s100py.s111.v1_2.api.SurfaceCurrentContainerDCF3(*args, **opts)

Bases: FeatureContainerDCF3, SurfaceCurrentContainerBase

Inheritance diagram of SurfaceCurrentContainerDCF3

Attributes Summary

axis_names

sequence of character strings

common_point_rule

The procedure used for evaluating the coverage at a position that falls on the boundary or in an area of overlap between geometric objects Values from CV_CommonPointRule (Table 10c-19).

coordinate_size

coordinate_size_dtype

data_coding_format

Indication of the type of coverage in instances of this feature.

dimension

The dimension of the feature instances This is the number of coordinate axes, not the rank of the HDF5 arrays storing coordinates or values.

feature_attribute_table

horizontal_position_uncertainty

The uncertainty in horizontal coordinates.

interpolation_type

S100 table 10c-21

max_dataset_current_speed

method_currents_product

min_dataset_current_speed

num_instances

Number of instances of the feature (Records in the same time series or moving platform sequence are counted as a single instance, not as separate instances)

surface_current

The surface current data, a list of SurfaceCurrent :returns: Contains a list of SurfaceCurrent objects via the SurfaceCurrent_List class :rtype: S111_MetadataList_base

time_uncertainty

Uncertainty in time values.

type_of_current_data

vertical_uncertainty

The uncertainty in vertical coordinate(s).

Methods Summary

add_data(key, value)

axis_names_create()

The attribute axisNames has the value class Sequence<CharacterString> that shall be used to assign names to the grid axis.

common_point_rule_create()

Creates a blank, empty or zero value for common_point_rule

coordinate_size_create()

Creates a blank, empty or zero value for coordinate_size

data_coding_format_create()

Creates a blank, empty or zero value for data_coding_format

dimension_create()

Creates a blank, empty or zero value for dimension

feature_attribute_table_create()

Creates a blank, empty or zero value for feature_attribute_table

get_all_keys()

Gets all the non-standard keys that are contained in this object currently as well as all the standard keys (S100/HDF5 style names) that could be added.

get_compound_dtype()

Override this method if the dtype of compound dataset items is important

get_data(key)

get_hdf5_from_file(file_obj)

get_s1xx_attr(s1xx_name)

get_standard_keys()

Returns the S100 (HDF5) names for the things that are listed in the specs for this class.

get_standard_list_properties()

Returns a list of properties that are lists (children based on S1xxCollection).

get_standard_properties()

This function autodetermines the properties implemented (which have get/set @properties and _hdf_name associated)

get_standard_properties_mapping()

This function autodetermines the HDF5 or xml names and their associated property names.

get_write_dtypes()

Override this method if the data types of attributes/groups/dataset items is important

get_write_order()

Override this method if the write order of attributes/groups/dataset items is important

horizontal_position_uncertainty_create()

Creates a blank, empty or zero value for horizontal_position_uncertainty

initialize_properties([...])

Calls the create function for all the properties of the class.

interpolation_type_create()

Creates a blank, empty or zero value for interpolation_type

max_dataset_current_speed_create()

Creates a blank, empty or zero value for max_dataset_current_speed

method_currents_product_create()

Creates a blank, empty or zero value for method_currents_product

min_dataset_current_speed_create()

Creates a blank, empty or zero value for min_dataset_current_speed

num_instances_create()

Creates a blank, empty or zero value for num_instances

read(group_object)

Given an h5py.File or a h5py group then read the data based on the encoded S100+ spec.

read_simple_attributes(group_object)

Reads the standard simple types (strings, ints, floats, datetimes, enums) from the given group as specified by the class specs.

set_datetime_attribute(val, hdf_name, date_type)

set_enum_attribute(val, hdf_name, enum_type)

Function to set an attribute that is an enumeration type using either it's string or numeric value or enumeration instance.

set_s1xx_attr(s1xx_name, val)

surface_current_create()

time_uncertainty_create()

Creates a blank, empty or zero value for time_uncertainty

type_of_current_data_create()

Creates a value using the first item in the enumeration of type_of_current_data

vertical_uncertainty_create()

Creates a blank, empty or zero value for vertical_uncertainty

write(group_object)

write the contained data and all it's children into an HDF5 file using h5py.

write_as_xml(etree_object)

write_simple_attributes(group_object)

Attributes Documentation

axis_names

sequence of character strings

S100 Spec: Array (1-D): 0..D-1 where D is the value of the dimension attribute Axes should be in major-minor order; that is, if storage is to be in row-major order the X/longitude axis should be first.

common_point_rule

The procedure used for evaluating the coverage at a position that falls on the boundary or in an area of overlap between geometric objects Values from CV_CommonPointRule (Table 10c-19).

see COMMON_POINT_RULE

coordinate_size
coordinate_size_dtype
data_coding_format

Indication of the type of coverage in instances of this feature. Used to read the data (see Table 10c-4) or DATA_CODING_FORMAT

dimension

The dimension of the feature instances This is the number of coordinate axes, not the rank of the HDF5 arrays storing coordinates or values. For example, a fixed stations dataset with positions in latitude and longitude will have dimension=2

feature_attribute_table
horizontal_position_uncertainty

The uncertainty in horizontal coordinates. For example, -1.0 (unknown/inapplicable) or positive value (m)

interpolation_type

S100 table 10c-21

max_dataset_current_speed
method_currents_product
min_dataset_current_speed
num_instances

Number of instances of the feature (Records in the same time series or moving platform sequence are counted as a single instance, not as separate instances)

surface_current

The surface current data, a list of SurfaceCurrent :returns: Contains a list of SurfaceCurrent objects via the SurfaceCurrent_List class :rtype: S111_MetadataList_base

time_uncertainty

Uncertainty in time values. For example, -1.0 (unknown/inapplicable) or positive value (s)

Only for time series data

type_of_current_data
vertical_uncertainty

The uncertainty in vertical coordinate(s). For example, -1.0 (unknown/inapplicable) or positive value (m)

Methods Documentation

add_data(key, value)
axis_names_create()

The attribute axisNames has the value class Sequence<CharacterString> that shall be used to assign names to the grid axis. The grid axis names shall be “Latitude” and “Longitude” for unprojected data sets or “Northing” and “Easting” in a projected space.

common_point_rule_create()

Creates a blank, empty or zero value for common_point_rule

coordinate_size_create()

Creates a blank, empty or zero value for coordinate_size

data_coding_format_create()

Creates a blank, empty or zero value for data_coding_format

dimension_create()

Creates a blank, empty or zero value for dimension

feature_attribute_table_create()

Creates a blank, empty or zero value for feature_attribute_table

get_all_keys()

Gets all the non-standard keys that are contained in this object currently as well as all the standard keys (S100/HDF5 style names) that could be added.

Return type:

list

get_compound_dtype()

Override this method if the dtype of compound dataset items is important

Return type:

A list of dtype, None otherwise.

get_data(key)
get_hdf5_from_file(file_obj)
get_s1xx_attr(s1xx_name)
get_standard_keys()

Returns the S100 (HDF5) names for the things that are listed in the specs for this class.

Returns:

The S102 HDF5 group/attribute/dataset names from this object that will be written or read from an HDF5 file. e.g. BathymetryCoverage or westBoundLongitude etc.

For the class “Root”: [‘BathymetryCoverage’, ‘Group_F’, ‘TrackingListCoverage’]

Return type:

list

get_standard_list_properties()

Returns a list of properties that are lists (children based on S1xxCollection). Basically a way of finding which items will be named <name>_001, <name>_002 etc

Returns:

The property names that will have auto-generated names based on their index in a list.

Return type:

list

classmethod get_standard_properties()

This function autodetermines the properties implemented (which have get/set @properties and _hdf_name associated)

Returns:

Names of the properties implemented.

For eample class “Root” might have (for S102): [‘bathymetry_coverage’, ‘feature_information’, ‘tracking_list_coverage’]

Return type:

list

get_standard_properties_mapping()

This function autodetermines the HDF5 or xml names and their associated property names. Keys are the s100 (HDF5 spelling) strings and the values are the python style naming.

Returns:

dictionary of xml element names as keys and property names as values.

For the class “Root”: {‘BathymetryCoverage’: ‘bathymetry_coverage’, ‘Group_F’: ‘feature_information’, ‘TrackingListCoverage’: ‘tracking_list_coverage’}

Return type:

dict

get_write_dtypes()

Override this method if the data types of attributes/groups/dataset items is important

Return type:

A list of tuples having key names and type, None otherwise.

get_write_order()

Override this method if the write order of attributes/groups/dataset items is important

Return type:

A list of key names if order is important, None otherwise.

horizontal_position_uncertainty_create()

Creates a blank, empty or zero value for horizontal_position_uncertainty

initialize_properties(recursively_create_children=False, overwrite=True)

Calls the create function for all the properties of the class. Default values will be created for each attribute that is expected to be contained in this object.

For example, say a class has simple attributes of ESPG code (int) and locatilty (str) and then a class made from S1xxObject called “extents” which has east and west inside it.

Calling initialize_properties(recursively_create_children=False) would result in EPSG=0, locality=”” and an instance of the “extents” class but NO value (nothing would be written to HDF5) for east, west.

Calling initialize_properties(recursively_create_children=True) would result in EPSG=0, locality=”” and an instance of the “extents” class but with east=0.0 and wesst=0.0 as well.

Calling initialize_properties(recursively_create_children=True, overwrite=False) with an esiting dataset, say locality=”test” would result in EPSG=0 being made, locality=”test” being retained and an instance of the “extents” class with east=0.0 and wesst=0.0 as well.

Parameters:
  • recursively_create_children – True = Create children for any child data that would have other children False = Only create data for immediate children of this instance

  • overwrite – True = Overwrite existing data with new default data False = Keep existing data if it exists but create new data otherwise

Return type:

None

interpolation_type_create()

Creates a blank, empty or zero value for interpolation_type

max_dataset_current_speed_create()

Creates a blank, empty or zero value for max_dataset_current_speed

method_currents_product_create()

Creates a blank, empty or zero value for method_currents_product

min_dataset_current_speed_create()

Creates a blank, empty or zero value for min_dataset_current_speed

num_instances_create()

Creates a blank, empty or zero value for num_instances

read(group_object)

Given an h5py.File or a h5py group then read the data based on the encoded S100+ spec.

Parameters:

group_object – The group (an h5py.File is a group too) to read from.

Return type:

None

read_simple_attributes(group_object)

Reads the standard simple types (strings, ints, floats, datetimes, enums) from the given group as specified by the class specs.

Parameters:

group_object – The group (an h5py.File is a group too) to read from.

Return type:

None

set_datetime_attribute(val, hdf_name, date_type)
set_enum_attribute(val, hdf_name, enum_type)

Function to set an attribute that is an enumeration type using either it’s string or numeric value or enumeration instance.

Parameters:
  • val – The value as a string, int or Enum().

  • hdf_name – The S100 name (hdf5 spelling).

  • enum_type – The class of enumeration to use if an instance needs to be created.

Return type:

None

set_s1xx_attr(s1xx_name, val)
surface_current_create()
time_uncertainty_create()

Creates a blank, empty or zero value for time_uncertainty

type_of_current_data_create()

Creates a value using the first item in the enumeration of type_of_current_data

vertical_uncertainty_create()

Creates a blank, empty or zero value for vertical_uncertainty

write(group_object)

write the contained data and all it’s children into an HDF5 file using h5py.

Parameters:

group_object – An h5py.File or an h5py group object

Return type:

None

write_as_xml(etree_object)
write_simple_attributes(group_object)
__init__(*args, **opts)