You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The GRIB1 load translation code (here) is still using GribWrappers, which is the only thing preventing us throwing all the old loader code away, including the GribWrapper class.
Technical Debt summary :
fix: rewrite grib1 loading using iris_grib.message.GribMessage instead
legacy cost: clarity of main code structure; dread to maintain this (though little need has arisen)
[
In fact this is still the bulk of code in iris_grib.__init__.py, though no longer publicly exported.
globals CENTRE_TITLES, TIME_RANGE_INDICATORS, PROCESSING_TYPES, TIME_CODES_EDITION1 and unknown_string
classes GribDataProxy and GribWrapper
functions _longitude_is_cyclic and _message_values
]
There is still a slippery kludge that means when you load a GRIB1 message the 'field' argument in a callback becomes a GribWrapper instead of a GribMessage (here).
So, this is now the only thing that GribWrapper is still used for, and the only remaining occasion that a user might possibly be concerned about what a GribWrapper looks like.
We haven't addressed this yet because GRIB1 usage is very low.
We should rewrite the Grib1 loader to use the modern message object + throw away all the old GribWrapper-based processing.
The content you are editing has changed. Please copy your edits and refresh the page.
The GRIB1 load translation code (here) is still using
GribWrapper
s, which is the only thing preventing us throwing all the old loader code away, including the GribWrapper class.Technical Debt summary :
[
In fact this is still the bulk of code in
iris_grib.__init__.py
, though no longer publicly exported.CENTRE_TITLES
,TIME_RANGE_INDICATORS
,PROCESSING_TYPES
,TIME_CODES_EDITION1
andunknown_string
_longitude_is_cyclic
and_message_values
]
There is still a slippery kludge that means when you load a GRIB1 message the 'field' argument in a callback becomes a GribWrapper instead of a GribMessage (here).
So, this is now the only thing that GribWrapper is still used for, and the only remaining occasion that a user might possibly be concerned about what a GribWrapper looks like.
We haven't addressed this yet because GRIB1 usage is very low.
We should rewrite the Grib1 loader to use the modern message object + throw away all the old GribWrapper-based processing.
Tasks
The text was updated successfully, but these errors were encountered: