eccodes/tests/bufr_keys_iter.sh

413 lines
13 KiB
Bash
Raw Permalink Normal View History

2016-10-24 16:34:12 +00:00
#!/bin/sh
2020-01-28 14:32:34 +00:00
# (C) Copyright 2005- ECMWF.
2016-10-24 16:34:12 +00:00
#
# This software is licensed under the terms of the Apache Licence Version 2.0
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
#
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
#
. ./include.ctest.sh
2016-10-24 16:34:12 +00:00
2016-11-29 16:42:47 +00:00
tempOut=temp.bufr_keys_iter.$$.out
tempRef=temp.bufr_keys_iter.$$.ref
2019-10-28 15:50:24 +00:00
# Test: check ident key is present
# -------------------------------------------
input=${data_dir}/bufr/syno_multi.bufr
$EXEC ${test_dir}/bufr_keys_iter -a $input > $tempOut
2019-10-28 15:53:47 +00:00
grep -q '^ident$' $tempOut
2019-10-28 15:50:24 +00:00
# Test: check full output
# -------------------------------------------
input=${data_dir}/bufr/aaen_55.bufr
$EXEC ${test_dir}/bufr_keys_iter -a $input > $tempOut
2016-11-29 16:42:47 +00:00
# Check the output of BUFR keys iterator
# Note: the two hidden keys 'typicalDate' and 'typicalTime' are NOT in the iterator output
cat > $tempRef<<EOF
edition
masterTableNumber
bufrHeaderCentre
bufrHeaderSubCentre
updateSequenceNumber
dataCategory
internationalDataSubCategory
dataSubCategory
masterTablesVersionNumber
localTablesVersionNumber
typicalYear
typicalMonth
typicalDay
typicalHour
typicalMinute
typicalSecond
typicalDate
typicalTime
2016-11-29 16:42:47 +00:00
rdbType
2017-05-19 13:22:47 +00:00
oldSubtype
localYear
localMonth
localDay
localHour
localMinute
localSecond
2016-11-29 16:42:47 +00:00
rdbtimeDay
rdbtimeHour
rdbtimeMinute
rdbtimeSecond
rdbtimeTime
2016-11-29 16:42:47 +00:00
rectimeDay
rectimeHour
rectimeMinute
rectimeSecond
2020-07-22 22:03:18 +00:00
restricted
2016-11-29 16:42:47 +00:00
correction1
correction1Part
correction2
correction2Part
correction3
correction3Part
correction4
correction4Part
qualityControl
2017-05-19 13:22:47 +00:00
newSubtype
2016-11-29 16:42:47 +00:00
numberOfSubsets
localLongitude1
localLatitude1
localLongitude2
localLatitude2
localNumberOfObservations
satelliteID
observedData
compressedData
unexpandedDescriptors
#1#tovsOrAtovsProductQualifier
#1#centre
#1#subCentre
#2#tovsOrAtovsProductQualifier
#2#centre
#2#subCentre
#1#satelliteIdentifier
#1#satelliteSensorIndicator
#1#orbitNumber
#1#satelliteAntennaCorrectionsVersionNumber
#1#scanLineNumber
#1#fieldOfViewNumber
#1#majorFrameCount
#1#scanLineStatusFlagsForAtovs
#1#scanLineQualityFlagsForAtovs
#1#year
#1#month
#1#day
#1#hour
#1#minute
#1#second
#1#latitude
#1#longitude
#1#heightOfStation
#1#satelliteZenithAngle
#1#bearingOrAzimuth
#1#solarZenithAngle
#1#solarAzimuth
#1#fieldOfViewQualityFlagsForAtovs
#1#radiometerIdentifier
#1#instrumentTemperature
#2#radiometerIdentifier
#2#instrumentTemperature
#3#radiometerIdentifier
#3#instrumentTemperature
#4#radiometerIdentifier
#4#instrumentTemperature
#1#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#1#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#1#bandwidthCorrectionCoefficient1ForAtovs
#1#bandwidthCorrectionCoefficient2ForAtovs
#1#channelQualityFlagsForAtovs
#1#brightnessTemperature
#2#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#2#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#2#bandwidthCorrectionCoefficient1ForAtovs
#2#bandwidthCorrectionCoefficient2ForAtovs
#2#channelQualityFlagsForAtovs
#2#brightnessTemperature
#3#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#3#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#3#bandwidthCorrectionCoefficient1ForAtovs
#3#bandwidthCorrectionCoefficient2ForAtovs
#3#channelQualityFlagsForAtovs
#3#brightnessTemperature
#4#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#4#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#4#bandwidthCorrectionCoefficient1ForAtovs
#4#bandwidthCorrectionCoefficient2ForAtovs
#4#channelQualityFlagsForAtovs
#4#brightnessTemperature
#5#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#5#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#5#bandwidthCorrectionCoefficient1ForAtovs
#5#bandwidthCorrectionCoefficient2ForAtovs
#5#channelQualityFlagsForAtovs
#5#brightnessTemperature
#6#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#6#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#6#bandwidthCorrectionCoefficient1ForAtovs
#6#bandwidthCorrectionCoefficient2ForAtovs
#6#channelQualityFlagsForAtovs
#6#brightnessTemperature
#7#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#7#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#7#bandwidthCorrectionCoefficient1ForAtovs
#7#bandwidthCorrectionCoefficient2ForAtovs
#7#channelQualityFlagsForAtovs
#7#brightnessTemperature
#8#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#8#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#8#bandwidthCorrectionCoefficient1ForAtovs
#8#bandwidthCorrectionCoefficient2ForAtovs
#8#channelQualityFlagsForAtovs
#8#brightnessTemperature
#9#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#9#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#9#bandwidthCorrectionCoefficient1ForAtovs
#9#bandwidthCorrectionCoefficient2ForAtovs
#9#channelQualityFlagsForAtovs
#9#brightnessTemperature
#10#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#10#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#10#bandwidthCorrectionCoefficient1ForAtovs
#10#bandwidthCorrectionCoefficient2ForAtovs
#10#channelQualityFlagsForAtovs
#10#brightnessTemperature
#11#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#11#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#11#bandwidthCorrectionCoefficient1ForAtovs
#11#bandwidthCorrectionCoefficient2ForAtovs
#11#channelQualityFlagsForAtovs
#11#brightnessTemperature
#12#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#12#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#12#bandwidthCorrectionCoefficient1ForAtovs
#12#bandwidthCorrectionCoefficient2ForAtovs
#12#channelQualityFlagsForAtovs
#12#brightnessTemperature
#13#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#13#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#13#bandwidthCorrectionCoefficient1ForAtovs
#13#bandwidthCorrectionCoefficient2ForAtovs
#13#channelQualityFlagsForAtovs
#13#brightnessTemperature
#14#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#14#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#14#bandwidthCorrectionCoefficient1ForAtovs
#14#bandwidthCorrectionCoefficient2ForAtovs
#14#channelQualityFlagsForAtovs
#14#brightnessTemperature
#15#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#15#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#15#bandwidthCorrectionCoefficient1ForAtovs
#15#bandwidthCorrectionCoefficient2ForAtovs
#15#channelQualityFlagsForAtovs
#15#brightnessTemperature
#16#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#16#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#16#bandwidthCorrectionCoefficient1ForAtovs
#16#bandwidthCorrectionCoefficient2ForAtovs
#16#channelQualityFlagsForAtovs
#16#brightnessTemperature
#17#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#17#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#17#bandwidthCorrectionCoefficient1ForAtovs
#17#bandwidthCorrectionCoefficient2ForAtovs
#17#channelQualityFlagsForAtovs
#17#brightnessTemperature
#18#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#18#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#18#bandwidthCorrectionCoefficient1ForAtovs
#18#bandwidthCorrectionCoefficient2ForAtovs
#18#channelQualityFlagsForAtovs
#18#brightnessTemperature
#19#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#19#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#19#bandwidthCorrectionCoefficient1ForAtovs
#19#bandwidthCorrectionCoefficient2ForAtovs
#19#channelQualityFlagsForAtovs
#19#brightnessTemperature
#20#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#1#albedoRadianceSolarFilteredIrradianceForAtovs
#1#albedoRadianceEquivalentFilterWidthForAtovs
#20#channelQualityFlagsForAtovs
#1#channelRadiance
EOF
diff $tempRef $tempOut
2016-10-24 16:34:12 +00:00
## Now iterate over Data Section keys and skip all others
# ---------------------------------------------------------
$EXEC ${test_dir}/bufr_keys_iter -d $input > $tempOut
cat > $tempRef<<EOF
#1#tovsOrAtovsProductQualifier
#1#centre
#1#subCentre
#2#tovsOrAtovsProductQualifier
#2#centre
#2#subCentre
#1#satelliteIdentifier
#1#satelliteSensorIndicator
#1#orbitNumber
#1#satelliteAntennaCorrectionsVersionNumber
#1#scanLineNumber
#1#fieldOfViewNumber
#1#majorFrameCount
#1#scanLineStatusFlagsForAtovs
#1#scanLineQualityFlagsForAtovs
#1#year
#1#month
#1#day
#1#hour
#1#minute
#1#second
#1#latitude
#1#longitude
#1#heightOfStation
#1#satelliteZenithAngle
#1#bearingOrAzimuth
#1#solarZenithAngle
#1#solarAzimuth
#1#fieldOfViewQualityFlagsForAtovs
#1#radiometerIdentifier
#1#instrumentTemperature
#2#radiometerIdentifier
#2#instrumentTemperature
#3#radiometerIdentifier
#3#instrumentTemperature
#4#radiometerIdentifier
#4#instrumentTemperature
#1#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#1#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#1#bandwidthCorrectionCoefficient1ForAtovs
#1#bandwidthCorrectionCoefficient2ForAtovs
#1#channelQualityFlagsForAtovs
#1#brightnessTemperature
#2#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#2#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#2#bandwidthCorrectionCoefficient1ForAtovs
#2#bandwidthCorrectionCoefficient2ForAtovs
#2#channelQualityFlagsForAtovs
#2#brightnessTemperature
#3#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#3#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#3#bandwidthCorrectionCoefficient1ForAtovs
#3#bandwidthCorrectionCoefficient2ForAtovs
#3#channelQualityFlagsForAtovs
#3#brightnessTemperature
#4#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#4#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#4#bandwidthCorrectionCoefficient1ForAtovs
#4#bandwidthCorrectionCoefficient2ForAtovs
#4#channelQualityFlagsForAtovs
#4#brightnessTemperature
#5#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#5#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#5#bandwidthCorrectionCoefficient1ForAtovs
#5#bandwidthCorrectionCoefficient2ForAtovs
#5#channelQualityFlagsForAtovs
#5#brightnessTemperature
#6#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#6#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#6#bandwidthCorrectionCoefficient1ForAtovs
#6#bandwidthCorrectionCoefficient2ForAtovs
#6#channelQualityFlagsForAtovs
#6#brightnessTemperature
#7#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#7#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#7#bandwidthCorrectionCoefficient1ForAtovs
#7#bandwidthCorrectionCoefficient2ForAtovs
#7#channelQualityFlagsForAtovs
#7#brightnessTemperature
#8#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#8#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#8#bandwidthCorrectionCoefficient1ForAtovs
#8#bandwidthCorrectionCoefficient2ForAtovs
#8#channelQualityFlagsForAtovs
#8#brightnessTemperature
#9#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#9#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#9#bandwidthCorrectionCoefficient1ForAtovs
#9#bandwidthCorrectionCoefficient2ForAtovs
#9#channelQualityFlagsForAtovs
#9#brightnessTemperature
#10#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#10#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#10#bandwidthCorrectionCoefficient1ForAtovs
#10#bandwidthCorrectionCoefficient2ForAtovs
#10#channelQualityFlagsForAtovs
#10#brightnessTemperature
#11#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#11#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#11#bandwidthCorrectionCoefficient1ForAtovs
#11#bandwidthCorrectionCoefficient2ForAtovs
#11#channelQualityFlagsForAtovs
#11#brightnessTemperature
#12#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#12#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#12#bandwidthCorrectionCoefficient1ForAtovs
#12#bandwidthCorrectionCoefficient2ForAtovs
#12#channelQualityFlagsForAtovs
#12#brightnessTemperature
#13#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#13#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#13#bandwidthCorrectionCoefficient1ForAtovs
#13#bandwidthCorrectionCoefficient2ForAtovs
#13#channelQualityFlagsForAtovs
#13#brightnessTemperature
#14#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#14#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#14#bandwidthCorrectionCoefficient1ForAtovs
#14#bandwidthCorrectionCoefficient2ForAtovs
#14#channelQualityFlagsForAtovs
#14#brightnessTemperature
#15#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#15#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#15#bandwidthCorrectionCoefficient1ForAtovs
#15#bandwidthCorrectionCoefficient2ForAtovs
#15#channelQualityFlagsForAtovs
#15#brightnessTemperature
#16#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#16#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#16#bandwidthCorrectionCoefficient1ForAtovs
#16#bandwidthCorrectionCoefficient2ForAtovs
#16#channelQualityFlagsForAtovs
#16#brightnessTemperature
#17#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#17#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#17#bandwidthCorrectionCoefficient1ForAtovs
#17#bandwidthCorrectionCoefficient2ForAtovs
#17#channelQualityFlagsForAtovs
#17#brightnessTemperature
#18#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#18#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#18#bandwidthCorrectionCoefficient1ForAtovs
#18#bandwidthCorrectionCoefficient2ForAtovs
#18#channelQualityFlagsForAtovs
#18#brightnessTemperature
#19#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#19#log10OfTemperatureRadianceCentralWaveNumberForAtovs
#19#bandwidthCorrectionCoefficient1ForAtovs
#19#bandwidthCorrectionCoefficient2ForAtovs
#19#channelQualityFlagsForAtovs
#19#brightnessTemperature
#20#tovsOrAtovsOrAvhrrInstrumentationChannelNumber
#1#albedoRadianceSolarFilteredIrradianceForAtovs
#1#albedoRadianceEquivalentFilterWidthForAtovs
#20#channelQualityFlagsForAtovs
#1#channelRadiance
EOF
diff $tempRef $tempOut
2016-11-29 16:42:47 +00:00
rm -f $tempRef $tempOut