Skip to content
Merged
Show file tree
Hide file tree
Changes from 11 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
6 changes: 5 additions & 1 deletion src/bufr/IodaEncoder/IodaEncoder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,11 @@ namespace Ingester


var.atts.add<std::string>("long_name", { varDesc.longName }, {1});
var.atts.add<std::string>("units", { varDesc.units }, {1});

if (!(varDesc.units == "none" || varDesc.units == ""))

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rmclaren just want you to be aware of this change that @gthompsnJCSDA needs for this PR. For now this change will remain in the feature/sprint-ioda-converters branch which may not get merged into develop for a couple months. If you are okay with this change it might be worthwhile to add it to your feature branch (feature/query ?) and develop.

{
var.atts.add<std::string>("units", { varDesc.units }, {1});
}

if (varDesc.coordinates)
{
Expand Down
84 changes: 46 additions & 38 deletions test/testinput/aircar_BUFR2ioda.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ observations:
- mnemonics: [YEAR, MNTH, DAYS, HOUR, MINU, SECO]
- mnemonics: [ACID, ACRN]
- mnemonics: [CLAT, CLON]
- mnemonics: [IALT, DPOF, ROLQ]
- mnemonics: [IALT, DPOF, ROLL, ROLQ]
- mnemonics: [MIXR, TMDB, WDIR, WSPD]
- mnemonics: [TASP, ACTH]

Expand All @@ -34,19 +34,21 @@ observations:
mnemonic: CLON
height:
mnemonic: IALT
aircraftFlightNum:
aircraftIdentifier:
mnemonic: ACID
aircraftRegistrationNum:
aircraftTailNumber:
mnemonic: ACRN
aircraftFlightPhase:
mnemonic: DPOF
aircraftTrueAirspeed:
aircraftVelocity:
mnemonic: TASP
aircraftHeading:
mnemonic: ACTH
aircraftRollAngle:
mnemonic: ROLL
aircraftRollAngleQuality:
mnemonic: ROLQ
temperatureAir:
airTemperature:
mnemonic: TMDB
waterVaporMixingRatio:
mnemonic: MIXR
Expand All @@ -60,94 +62,100 @@ observations:
obsdataout: "./testrun/gdas.aircar.t00z.20210801.nc"

dimensions:
- name: "nlocs"
- name: "Location"
size: variables/latitude.nrows

variables:
- name: "MetaData/dateTime"
source: variables/timestamp
dimensions: [ "nlocs" ]
dimensions: [ "Location" ]
longName: "dateTime"
units: "seconds since 1970-01-01T00:00:00Z"

- name: "MetaData/latitude"
source: variables/latitude
dimensions: [ "nlocs" ]
dimensions: [ "Location" ]
longName: "Latitude"
units: "degrees_north"

- name: "MetaData/longitude"
source: variables/longitude
dimensions: [ "nlocs" ]
dimensions: [ "Location" ]
longName: "Longitude"
units: "degrees_east"

- name: "MetaData/height"
source: variables/height
dimensions: [ "nlocs" ]
longName: "Pressure altitude"
dimensions: [ "Location" ]
longName: "Height"
units: "m"

- name: "MetaData/aircraftRegistrationNum"
source: variables/aircraftRegistrationNum
dimensions: [ "nlocs" ]
- name: "MetaData/aircraftTailNumber"
source: variables/aircraftTailNumber
dimensions: [ "Location" ]
longName: "Aircraft registration number or other ID"
units: "none"

- name: "MetaData/aircraftFlightNum"
source: variables/aircraftFlightNum
dimensions: [ "nlocs" ]
- name: "MetaData/aircraftIdentifier"
source: variables/aircraftIdentifier
dimensions: [ "Location" ]
longName: "Aircraft flight number"
units: "none"

- name: "MetaData/aircraftFlightPhase"
source: variables/aircraftFlightPhase
dimensions: [ "nlocs" ]
dimensions: [ "Location" ]
longName: "Aircraft flight phase (ascending/descending/level)"
units: "none"

- name: "MetaData/aircraftTrueAirspeed"
source: variables/aircraftTrueAirspeed
dimensions: [ "nlocs" ]
longName: "Aircraft true airspeed"
- name: "MetaData/aircraftVelocity"
source: variables/aircraftVelocity
dimensions: [ "Location" ]
longName: "Aircraft velocity"
units: "m s-1"

- name: "MetaData/aircraftHeading"
source: variables/aircraftHeading
dimensions: [ "nlocs" ]
dimensions: [ "Location" ]
longName: "Aircraft heading"
units: "deg"
units: "degrees"

- name: "MetaData/aircraftRollAngle"
source: variables/aircraftRollAngle
dimensions: [ "nlocs" ]
dimensions: [ "Location" ]
longName: "Aircraft roll angle"
units: "degrees"

- name: "MetaData/aircraftRollAngleQuality"
source: variables/aircraftRollAngleQuality
dimensions: [ "Location" ]
longName: "Aircraft roll angle quality"
units: "none"

- name: "ObsValue/air_temperature"
- name: "ObsValue/airTemperature"
source: variables/airTemperature
coordinates: "longitude latitude"
source: variables/temperatureAir
dimensions: [ "nlocs" ]
dimensions: [ "Location" ]
longName: "Air Temperature"
units: "K"

- name: "ObsValue/specific_humidity"
coordinates: "longitude latitude"
- name: "ObsValue/waterVaporMixingRatio"
source: variables/waterVaporMixingRatio
dimensions: [ "nlocs" ]
longName: "specific humidity"
coordinates: "longitude latitude"
dimensions: [ "Location" ]
longName: "Water Vapor Mixing Ratio"
units: "kg kg-1"

- name: "ObsValue/wind_direction"
coordinates: "longitude latitude"
- name: "ObsValue/windDirection"
source: variables/windDirection
dimensions: [ "nlocs" ]
coordinates: "longitude latitude"
dimensions: [ "Location" ]
longName: "Wind Direction"
units: "degrees"

- name: "ObsValue/wind_speed"
coordinates: "longitude latitude"
- name: "ObsValue/windSpeed"
source: variables/windSpeed
dimensions: [ "nlocs" ]
coordinates: "longitude latitude"
dimensions: [ "Location" ]
longName: "Wind Speed"
units: "m s-1"
50 changes: 25 additions & 25 deletions test/testinput/airep_wmoBUFR2ioda.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,13 @@ observations:
mnemonic: CLATH
longitude:
mnemonic: CLONH
altitude:
height:
mnemonic: HMSL
aircraftFlightNum:
aircraftIdentifier:
mnemonic: ACID
aircraftFlightPhase:
mnemonic: POAF
temperatureAir:
airTemperature:
mnemonic: TMDBST
windDirection:
mnemonic: WDIR
Expand All @@ -46,63 +46,63 @@ observations:
obsdataout: "./testrun/airep_multi.nc"

dimensions:
- name: "nlocs"
- name: "Location"
size: variables/latitude.nrows

variables:
- name: "MetaData/dateTime"
source: variables/timestamp
dimensions: [ "nlocs" ]
dimensions: [ "Location" ]
longName: "dateTime"
units: "seconds since 1970-01-01T00:00:00Z"

- name: "MetaData/latitude"
source: variables/latitude
dimensions: [ "nlocs" ]
dimensions: [ "Location" ]
longName: "Latitude"
units: "degrees_north"

- name: "MetaData/longitude"
source: variables/longitude
dimensions: [ "nlocs" ]
dimensions: [ "Location" ]
longName: "Longitude"
units: "degrees_east"

- name: "MetaData/altitude"
source: variables/altitude
dimensions: [ "nlocs" ]
longName: "Altitude"
- name: "MetaData/height"
source: variables/height
dimensions: [ "Location" ]
longName: "Height"
units: "m"

- name: "MetaData/aircraftFlightNum"
source: variables/aircraftFlightNum
dimensions: [ "nlocs" ]
longName: "Aircraft flight number"
- name: "MetaData/aircraftIdentifier"
source: variables/aircraftIdentifier
dimensions: [ "Location" ]
longName: "Aircraft identifier"
units: ""

- name: "MetaData/aircraftFlightPhase"
source: variables/aircraftFlightPhase
dimensions: [ "nlocs" ]
dimensions: [ "Location" ]
longName: "Aircraft flight phase (ascending/descending/level)"
units: ""

- name: "ObsValue/temperatureAir"
- name: "ObsValue/airTemperature"
source: variables/airTemperature
coordinates: "longitude latitude"
source: variables/temperatureAir
dimensions: [ "nlocs" ]
dimensions: [ "Location" ]
longName: "Air Temperature"
units: "K"

- name: "ObsValue/windDirection"
coordinates: "longitude latitude"
source: variables/windDirection
dimensions: [ "nlocs" ]
coordinates: "longitude latitude"
dimensions: [ "Location" ]
longName: "Wind Direction"
units: "degrees true"
units: "degrees"

- name: "ObsValue/windSpeed"
coordinates: "longitude latitude"
source: variables/windSpeed
dimensions: [ "nlocs" ]
coordinates: "longitude latitude"
dimensions: [ "Location" ]
longName: "Wind Speed"
units: "m/s"
units: "m s-1"
Loading