-
Notifications
You must be signed in to change notification settings - Fork 23
Closed
Labels
enhancementNew feature or requestNew feature or requestperformanceRelating to speed and memory performanceRelating to speed and memory performance
Milestone
Description
This enhancements imports changes from cfdm v1.8.9.0: NCAS-CMS/cfdm#132 by making the *identity, **filter_kwargs API available to construct selection methods:
>>> import cf
>>> f = cf.example_field(1)
>>> f.domain_axes(filter_by_size=(cf.gt(1),))
<CF Constructs: domain_axis(2)>
>>> f.dimension_coordinates('X', 'Y')
<CF Constructs: dimension_coordinate(2)>
>>> f.coordinates('X', 'Y')
<CF Constructs: auxiliary_coordinate(2), dimension_coordinate(2)>
>>> f.coordinates('X', 'Y', filter_by_naxes=(1,))
<CF Constructs: dimension_coordinate(2)>Consequences
The only possibly bad effect that this could have is for the default argument to be consumed by the *identity arguments if it is given as a positional parameter. For example, to Specify a default of None:
>>> f.construct('altitude', None) # ok at v3.8.0
>>> f.construct('altitude', None) # NOT ok with proposed change
>>> f.construct('altitude', default=None) # ok with proposed change and at v3.8.0Regardless of this potential for code breaking, I think this change will be beneficial.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestperformanceRelating to speed and memory performanceRelating to speed and memory performance