JCSDA-internal / ioda-converters

Various converters for getting obs data in and out of IODA
8 stars 2 forks source link

add compatibility for two labeling of speeds #1501

Closed BenjaminRuston closed 2 months ago

BenjaminRuston commented 2 months ago

Description

there have been changes to the wind speed files being ingested from Windborne, this includes changing from wind speed in the x and y to u and v.

The winds were switched in the API from mis-labeled speed_x and speed_y to speed_u and speed_v. The data was backprocssed.

However on 20240322T161500Z the files began showing both speed_u and speed_v as well as the speed_x and speed_y

changes have been made to accommodate these modifications

Issue(s) addressed

Resolves #1500

Impact

correctly decoded balloonsondes, must confirm if the speed_x and speed_y are now corrected to be the longitudinal and latitudinal winds

Checklist

BenjaminRuston commented 2 months ago

@smaticka this does warrant a thorough test most concerned with this line that requires the arrays to be in the order of the obs_data.keys(). Since these keys were renamed think we should be ok, but again should be certain.

https://github.com/JCSDA-internal/ioda-converters/blob/bd74b4809339fadacbfca63d900991fbda784580/src/conventional/balloon_sonde_json2ioda.py#L184

smaticka commented 2 months ago

@smaticka this does warrant a thorough test most concerned with this line that requires the arrays to be in the order of the obs_data.keys(). Since these keys were renamed think we should be ok, but again should be certain.

https://github.com/JCSDA-internal/ioda-converters/blob/bd74b4809339fadacbfca63d900991fbda784580/src/conventional/balloon_sonde_json2ioda.py#L184

This shouldn't be a problem since we define the order of the columns here: https://github.com/JCSDA-internal/ioda-converters/pull/1501/files#diff-dbe4cc8b28ed4b9fdc60d3e49d64bd91b7547c9ff88c4de04e7ec35364139bdbL140-L146

So the order won't change if they change their data again. Other things will break though if they change :) (like the variables we search for and store as our own, and as you found, the compatibility when converted 2 versions at the same time)