The option --filter makes it possible to filter on most of the metadata in section 0 and 1 in the BUFR messages, and should be especially useful for WIS2 data which are missing GTS AHls. Here are some examples of use, extracting from the same file of GTS bulletins as used before, and combining with option --only_ahl to give readable output.

Extracting all messages with Originating Centre = 88 (Oslo) for 2016-05-16 00:00 to file oslo_20160516

bufrextract.pl sn.0113.bin --only_ahl --filter "oc=88 ye=2016 mo=5 da=16 ho=0 mi=0" --outfile oslo_20160516

Extracting all messages with synoptic and one-hour observations from marine stations and originating centre 82 (Norrköping) to file ship_82

bufrextract.pl sn.0113.bin --only_ahl --filter "oc=82 dc=1 ic=0,6" --outfile ship_82

Extracting all messages with synoptic and one-hour observations from fixed-land stations and marine stations and originating centre 82 (Norrköping) to file syno_ship_82

bufrextract.pl sn.0113.bin --only_ahl --filter "oc=82 dc=0 ic=0,1,2,6 | oc=82 dc=1 ic=0,6" --outfile syno_ship_82