Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Step-by-step guide

The following keys allow the user to extract a set of BUFR subsets that pertain to a time interval:

Code Block
extractDateTimeYearStart
extractDateTimeMonthStart
extractDateTimeDayStart
extractDateTimeHourStart
extractDateTimeMinuteStart
extractDateTimeSecondStart
extractDateTimeYearEnd
extractDateTimeMonthEnd
extractDateTimeDayEnd
extractDateTimeHourEnd
extractDateTimeMinuteEnd
extractDateTimeSecondEnd
doExtractDateTime
extractedDateTimeNumberOfSubsets

Currently the implementation of this feature is limited to compressed data. Implementation for uncompressed data will come in a future release.


To explain the use of these keys the following example using the using bufr_filter is provided, but please note that these same keys can be set using the Fortran and Python interfaces as well and no special functions have been implemented in the bufr_filter for this feature.

...

Code Block
languagebash
firstline1
titleextract.filter
linenumberstrue
transient originalNumberOfSubsets = numberOfSubsets;
set unpack=1;
transient extractDateTimeYearStart=2012;
transient extractDateTimeMonthStart=10;
transient extractDateTimeDayStart=31;
transient extractDateTimeHourStart=0;
transient extractDateTimeMinuteStart=1;
transient extractDateTimeSecondStart=31.6;

transient extractDateTimeYearEnd=2012;
transient extractDateTimeMonthEnd=10;
transient extractDateTimeDayEnd=31;
transient extractDateTimeHourEnd=0;
transient extractDateTimeMinuteEnd=1;
transient extractDateTimeSecondEnd=39.6;

set doExtractDateTime=1; # This does an implicit 'pack'
if (extractedDateTimeNumberOfSubsets != 0) {
  write;
}

print "extracted [extractDateTimeNumberOfSubsetsextractedDateTimeNumberOfSubsets] of [originalNumberOfSubsets] subsets";

...

This example can be used on any multi-subset input file in compressed form as follows:

Code Block
>% bufr_filter -o out.bufr extract.filter in.bufr



Content by Label
showLabelsfalse
max5
spaces~usa
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel = in ("kb-how-to-article","eccbufr-faqs","bufr","bufr_filter","compression","time") and label in ("bufr","bufr_filter","subsets") and type = "page" and space = "UDOC"
labelskb-how-to-article

...