Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 34 additions & 34 deletions lib/iris/fileformats/_pyke_rules/fc_rules_cf.krb
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ fc_provides_grid_mapping_rotated_latitude_longitude
assert
python cf_grid_var = engine.cf_var.cf_group.grid_mappings[$grid_mapping]
python coordinate_system = build_rotated_coordinate_system(engine, cf_grid_var)
python engine.provides['coordinate_system'] = coordinate_system
python engine.cube_parts['coordinate_system'] = coordinate_system
facts_cf.provides(coordinate_system, rotated_latitude_longitude)
python engine.rule_triggered.add(rule.name)

Expand All @@ -62,7 +62,7 @@ fc_provides_grid_mapping_latitude_longitude
assert
python cf_grid_var = engine.cf_var.cf_group.grid_mappings[$grid_mapping]
python coordinate_system = build_coordinate_system(cf_grid_var)
python engine.provides['coordinate_system'] = coordinate_system
python engine.cube_parts['coordinate_system'] = coordinate_system
facts_cf.provides(coordinate_system, latitude_longitude)
python engine.rule_triggered.add(rule.name)

Expand All @@ -81,7 +81,7 @@ fc_provides_grid_mapping_transverse_mercator
assert
python cf_grid_var = engine.cf_var.cf_group.grid_mappings[$grid_mapping]
python coordinate_system = build_transverse_mercator_coordinate_system(engine, cf_grid_var)
python engine.provides['coordinate_system'] = coordinate_system
python engine.cube_parts['coordinate_system'] = coordinate_system
facts_cf.provides(coordinate_system, transverse_mercator)
python engine.rule_triggered.add(rule.name)

Expand All @@ -102,7 +102,7 @@ fc_provides_grid_mapping_mercator
assert
python cf_grid_var = engine.cf_var.cf_group.grid_mappings[$grid_mapping]
python coordinate_system = build_mercator_coordinate_system(engine, cf_grid_var)
python engine.provides['coordinate_system'] = coordinate_system
python engine.cube_parts['coordinate_system'] = coordinate_system
facts_cf.provides(coordinate_system, mercator)
python engine.rule_triggered.add(rule.name)

Expand All @@ -123,7 +123,7 @@ fc_provides_grid_mapping_stereographic
assert
python cf_grid_var = engine.cf_var.cf_group.grid_mappings[$grid_mapping]
python coordinate_system = build_stereographic_coordinate_system(engine, cf_grid_var)
python engine.provides['coordinate_system'] = coordinate_system
python engine.cube_parts['coordinate_system'] = coordinate_system
facts_cf.provides(coordinate_system, stereographic)
python engine.rule_triggered.add(rule.name)

Expand All @@ -142,7 +142,7 @@ fc_provides_grid_mapping_lambert_conformal
assert
python cf_grid_var = engine.cf_var.cf_group.grid_mappings[$grid_mapping]
python coordinate_system = build_lambert_conformal_coordinate_system(engine, cf_grid_var)
python engine.provides['coordinate_system'] = coordinate_system
python engine.cube_parts['coordinate_system'] = coordinate_system
facts_cf.provides(coordinate_system, lambert_conformal)
python engine.rule_triggered.add(rule.name)

Expand All @@ -161,7 +161,7 @@ fc_provides_grid_mapping_lambert_azimuthal_equal_area
assert
python cf_grid_var = engine.cf_var.cf_group.grid_mappings[$grid_mapping]
python coordinate_system = build_lambert_azimuthal_equal_area_coordinate_system(engine, cf_grid_var)
python engine.provides['coordinate_system'] = coordinate_system
python engine.cube_parts['coordinate_system'] = coordinate_system
facts_cf.provides(coordinate_system, lambert_azimuthal_equal_area)
python engine.rule_triggered.add(rule.name)

Expand All @@ -180,7 +180,7 @@ fc_provides_grid_mapping_albers_equal_area
assert
python cf_grid_var = engine.cf_var.cf_group.grid_mappings[$grid_mapping]
python coordinate_system = build_albers_equal_area_coordinate_system(engine, cf_grid_var)
python engine.provides['coordinate_system'] = coordinate_system
python engine.cube_parts['coordinate_system'] = coordinate_system
facts_cf.provides(coordinate_system, albers_equal_area)
python engine.rule_triggered.add(rule.name)

Expand All @@ -200,7 +200,7 @@ fc_provides_grid_mapping_vertical_perspective
python cf_grid_var = engine.cf_var.cf_group.grid_mappings[$grid_mapping]
python coordinate_system = \
build_vertical_perspective_coordinate_system(engine, cf_grid_var)
python engine.provides['coordinate_system'] = coordinate_system
python engine.cube_parts['coordinate_system'] = coordinate_system
facts_cf.provides(coordinate_system, vertical_perspective)
python engine.rule_triggered.add(rule.name)

Expand All @@ -221,7 +221,7 @@ fc_provides_grid_mapping_geostationary
python cf_grid_var = engine.cf_var.cf_group.grid_mappings[$grid_mapping]
python coordinate_system = \
build_geostationary_coordinate_system(engine, cf_grid_var)
python engine.provides['coordinate_system'] = coordinate_system
python engine.cube_parts['coordinate_system'] = coordinate_system
facts_cf.provides(coordinate_system, geostationary)
python engine.rule_triggered.add(rule.name)

Expand Down Expand Up @@ -531,7 +531,7 @@ fc_build_coordinate_latitude
python cf_coord_var = engine.cf_var.cf_group.coordinates[$coordinate]
python build_dimension_coordinate(engine, cf_coord_var,
coord_name=CF_VALUE_STD_NAME_LAT,
coord_system=engine.provides['coordinate_system'])
coord_system=engine.cube_parts['coordinate_system'])
python engine.rule_triggered.add(rule.name)


Expand All @@ -552,7 +552,7 @@ fc_build_coordinate_latitude_rotated
python cf_coord_var = engine.cf_var.cf_group.coordinates[$coordinate]
python build_dimension_coordinate(engine, cf_coord_var,
coord_name=CF_VALUE_STD_NAME_GRID_LAT,
coord_system=engine.provides['coordinate_system'])
coord_system=engine.cube_parts['coordinate_system'])
python engine.rule_triggered.add(rule.name)


Expand All @@ -573,7 +573,7 @@ fc_build_coordinate_longitude
python cf_coord_var = engine.cf_var.cf_group.coordinates[$coordinate]
python build_dimension_coordinate(engine, cf_coord_var,
coord_name=CF_VALUE_STD_NAME_LON,
coord_system=engine.provides['coordinate_system'])
coord_system=engine.cube_parts['coordinate_system'])
python engine.rule_triggered.add(rule.name)


Expand All @@ -594,7 +594,7 @@ fc_build_coordinate_longitude_rotated
python cf_coord_var = engine.cf_var.cf_group.coordinates[$coordinate]
python build_dimension_coordinate(engine, cf_coord_var,
coord_name=CF_VALUE_STD_NAME_GRID_LON,
coord_system=engine.provides['coordinate_system'])
coord_system=engine.cube_parts['coordinate_system'])
python engine.rule_triggered.add(rule.name)


Expand Down Expand Up @@ -660,7 +660,7 @@ fc_build_coordinate_projection_x_transverse_mercator
python cf_coord_var = engine.cf_var.cf_group.coordinates[$coordinate]
python build_dimension_coordinate(engine, cf_coord_var,
coord_name=CF_VALUE_STD_NAME_PROJ_X,
coord_system=engine.provides['coordinate_system'])
coord_system=engine.cube_parts['coordinate_system'])
python engine.rule_triggered.add(rule.name)


Expand All @@ -680,7 +680,7 @@ fc_build_coordinate_projection_y_transverse_mercator
python cf_coord_var = engine.cf_var.cf_group.coordinates[$coordinate]
python build_dimension_coordinate(engine, cf_coord_var,
coord_name=CF_VALUE_STD_NAME_PROJ_Y,
coord_system=engine.provides['coordinate_system'])
coord_system=engine.cube_parts['coordinate_system'])
python engine.rule_triggered.add(rule.name)

#
Expand All @@ -699,7 +699,7 @@ fc_build_coordinate_projection_x_lambert_conformal
python cf_coord_var = engine.cf_var.cf_group.coordinates[$coordinate]
python build_dimension_coordinate(engine, cf_coord_var,
coord_name=CF_VALUE_STD_NAME_PROJ_X,
coord_system=engine.provides['coordinate_system'])
coord_system=engine.cube_parts['coordinate_system'])
python engine.rule_triggered.add(rule.name)


Expand All @@ -719,7 +719,7 @@ fc_build_coordinate_projection_y_lambert_conformal
python cf_coord_var = engine.cf_var.cf_group.coordinates[$coordinate]
python build_dimension_coordinate(engine, cf_coord_var,
coord_name=CF_VALUE_STD_NAME_PROJ_Y,
coord_system=engine.provides['coordinate_system'])
coord_system=engine.cube_parts['coordinate_system'])
python engine.rule_triggered.add(rule.name)


Expand All @@ -739,7 +739,7 @@ fc_build_coordinate_projection_x_mercator
python cf_coord_var = engine.cf_var.cf_group.coordinates[$coordinate]
python build_dimension_coordinate(engine, cf_coord_var,
coord_name=CF_VALUE_STD_NAME_PROJ_X,
coord_system=engine.provides['coordinate_system'])
coord_system=engine.cube_parts['coordinate_system'])
python engine.rule_triggered.add(rule.name)

#
Expand All @@ -758,7 +758,7 @@ fc_build_coordinate_projection_y_mercator
python cf_coord_var = engine.cf_var.cf_group.coordinates[$coordinate]
python build_dimension_coordinate(engine, cf_coord_var,
coord_name=CF_VALUE_STD_NAME_PROJ_Y,
coord_system=engine.provides['coordinate_system'])
coord_system=engine.cube_parts['coordinate_system'])
python engine.rule_triggered.add(rule.name)

#
Expand All @@ -777,7 +777,7 @@ fc_build_coordinate_projection_x_stereographic
python cf_coord_var = engine.cf_var.cf_group.coordinates[$coordinate]
python build_dimension_coordinate(engine, cf_coord_var,
coord_name=CF_VALUE_STD_NAME_PROJ_X,
coord_system=engine.provides['coordinate_system'])
coord_system=engine.cube_parts['coordinate_system'])
python engine.rule_triggered.add(rule.name)

#
Expand All @@ -796,7 +796,7 @@ fc_build_coordinate_projection_y_stereographic
python cf_coord_var = engine.cf_var.cf_group.coordinates[$coordinate]
python build_dimension_coordinate(engine, cf_coord_var,
coord_name=CF_VALUE_STD_NAME_PROJ_Y,
coord_system=engine.provides['coordinate_system'])
coord_system=engine.cube_parts['coordinate_system'])
python engine.rule_triggered.add(rule.name)


Expand All @@ -816,7 +816,7 @@ fc_build_coordinate_projection_x_lambert_azimuthal_equal_area
python cf_coord_var = engine.cf_var.cf_group.coordinates[$coordinate]
python build_dimension_coordinate(engine, cf_coord_var,
coord_name=CF_VALUE_STD_NAME_PROJ_X,
coord_system=engine.provides['coordinate_system'])
coord_system=engine.cube_parts['coordinate_system'])
python engine.rule_triggered.add(rule.name)


Expand All @@ -836,7 +836,7 @@ fc_build_coordinate_projection_y_lambert_azimuthal_equal_area
python cf_coord_var = engine.cf_var.cf_group.coordinates[$coordinate]
python build_dimension_coordinate(engine, cf_coord_var,
coord_name=CF_VALUE_STD_NAME_PROJ_Y,
coord_system=engine.provides['coordinate_system'])
coord_system=engine.cube_parts['coordinate_system'])
python engine.rule_triggered.add(rule.name)

#
Expand All @@ -855,7 +855,7 @@ fc_build_coordinate_projection_x_albers_equal_area
python cf_coord_var = engine.cf_var.cf_group.coordinates[$coordinate]
python build_dimension_coordinate(engine, cf_coord_var,
coord_name=CF_VALUE_STD_NAME_PROJ_X,
coord_system=engine.provides['coordinate_system'])
coord_system=engine.cube_parts['coordinate_system'])
python engine.rule_triggered.add(rule.name)


Expand All @@ -875,7 +875,7 @@ fc_build_coordinate_projection_y_albers_equal_area
python cf_coord_var = engine.cf_var.cf_group.coordinates[$coordinate]
python build_dimension_coordinate(engine, cf_coord_var,
coord_name=CF_VALUE_STD_NAME_PROJ_Y,
coord_system=engine.provides['coordinate_system'])
coord_system=engine.cube_parts['coordinate_system'])
python engine.rule_triggered.add(rule.name)

#
Expand All @@ -894,7 +894,7 @@ fc_build_coordinate_projection_x_vertical_perspective
python cf_coord_var = engine.cf_var.cf_group.coordinates[$coordinate]
python build_dimension_coordinate(engine, cf_coord_var,
coord_name=CF_VALUE_STD_NAME_PROJ_X,
coord_system=engine.provides['coordinate_system'])
coord_system=engine.cube_parts['coordinate_system'])
python engine.rule_triggered.add(rule.name)


Expand All @@ -914,7 +914,7 @@ fc_build_coordinate_projection_y_vertical_perspective
python cf_coord_var = engine.cf_var.cf_group.coordinates[$coordinate]
python build_dimension_coordinate(engine, cf_coord_var,
coord_name=CF_VALUE_STD_NAME_PROJ_Y,
coord_system=engine.provides['coordinate_system'])
coord_system=engine.cube_parts['coordinate_system'])
python engine.rule_triggered.add(rule.name)

#
Expand All @@ -933,7 +933,7 @@ fc_build_coordinate_projection_x_geostationary
python cf_coord_var = engine.cf_var.cf_group.coordinates[$coordinate]
python build_dimension_coordinate(engine, cf_coord_var,
coord_name=CF_VALUE_STD_NAME_PROJ_X,
coord_system=engine.provides['coordinate_system'])
coord_system=engine.cube_parts['coordinate_system'])
python engine.rule_triggered.add(rule.name)


Expand All @@ -953,7 +953,7 @@ fc_build_coordinate_projection_y_geostationary
python cf_coord_var = engine.cf_var.cf_group.coordinates[$coordinate]
python build_dimension_coordinate(engine, cf_coord_var,
coord_name=CF_VALUE_STD_NAME_PROJ_Y,
coord_system=engine.provides['coordinate_system'])
coord_system=engine.cube_parts['coordinate_system'])
python engine.rule_triggered.add(rule.name)


Expand Down Expand Up @@ -1892,7 +1892,7 @@ fc_extras
cube.add_aux_coord(coord, data_dims)

# Update the coordinate to CF-netCDF variable mapping.
engine.provides['coordinates'].append((coord, cf_coord_var.cf_name))
engine.cube_parts['coordinates'].append((coord, cf_coord_var.cf_name))


################################################################################
Expand Down Expand Up @@ -1958,7 +1958,7 @@ fc_extras
cube.add_aux_coord(coord, data_dims)

# Make a list with names, stored on the engine, so we can find them all later.
engine.provides['coordinates'].append((coord, cf_coord_var.cf_name))
engine.cube_parts['coordinates'].append((coord, cf_coord_var.cf_name))


################################################################################
Expand Down Expand Up @@ -2002,7 +2002,7 @@ fc_extras
cube.add_cell_measure(cell_measure, data_dims)

# Make a list with names, stored on the engine, so we can find them all later.
engine.provides['cell_measures'].append((cell_measure, cf_cm_var.cf_name))
engine.cube_parts['cell_measures'].append((cell_measure, cf_cm_var.cf_name))



Expand Down Expand Up @@ -2044,7 +2044,7 @@ fc_extras
cube.add_ancillary_variable(av, data_dims)

# Make a list with names, stored on the engine, so we can find them all later.
engine.provides['ancillary_variables'].append((av, cf_av_var.cf_name))
engine.cube_parts['ancillary_variables'].append((av, cf_av_var.cf_name))



Expand Down
12 changes: 6 additions & 6 deletions lib/iris/fileformats/netcdf.py
Original file line number Diff line number Diff line change
Expand Up @@ -460,9 +460,9 @@ def __setstate__(self, state):
def _assert_case_specific_facts(engine, cf, cf_group):
# Initialise pyke engine "provides" hooks.
# These are used to patch non-processed element attributes after rules activation.
engine.provides["coordinates"] = []
engine.provides["cell_measures"] = []
engine.provides["ancillary_variables"] = []
engine.cube_parts["coordinates"] = []
engine.cube_parts["cell_measures"] = []
engine.cube_parts["ancillary_variables"] = []

# Assert facts for CF coordinates.
for cf_name in cf_group.coordinates.keys():
Expand Down Expand Up @@ -595,7 +595,7 @@ def _load_cube(engine, cf, cf_var, filename):
# Initialise pyke engine rule processing hooks.
engine.cf_var = cf_var
engine.cube = cube
engine.provides = {}
engine.cube_parts = {}
engine.requires = {}
engine.rule_triggered = set()
engine.filename = filename
Expand All @@ -618,7 +618,7 @@ def add_unused_attributes(iris_object, cf_var):
_set_attributes(iris_object.attributes, attr_name, attr_value)

def fix_attributes_all_elements(role_name):
elements_and_names = engine.provides.get(role_name, [])
elements_and_names = engine.cube_parts.get(role_name, [])

for iris_object, cf_var_name in elements_and_names:
add_unused_attributes(iris_object, cf.cf_group[cf_var_name])
Expand Down Expand Up @@ -677,7 +677,7 @@ def coord_from_term(term):
# Convert term names to coordinates (via netCDF variable names).
name = engine.requires["formula_terms"].get(term, None)
if name is not None:
for coord, cf_var_name in engine.provides["coordinates"]:
for coord, cf_var_name in engine.cube_parts["coordinates"]:
if cf_var_name == name:
return coord
warnings.warn(
Expand Down
Loading