This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
David, You are correct, I assumed it was the same bug that was reported before you. Sorry about that, your recommeded fix has been installed. Robb... On Wed, 3 Mar 2004, David Larson wrote: > The example bulletin I gave only had one report in it and it *did* use > the = sign to seperate reports. It also exhibited a problem ... could > we be talking about two different problems? > > I'll keep a look out for the problem to which you are referring, and > I'll have a look at your new changes. > > Dave > > Robb Kambic wrote: > > >David, > > > >Yes, I know about the problem. The problem exists in bulletins that don't > >use the = sign to seperate reports. The solution is to assume that bulletins > >that don't use = only have one report. I scanned many raw reports and this > >seems to be true, so I changed the code to: > > > >< @reports = split ( /\n/ ) ; > >--- > > > > > >> #@reports = split ( /\n/ ) ; > >> s#\n# #g ; > >> next if( /\d{4,6}Z.*\d{4,6}Z/ ) ; > >> $reports[ 0 ] = $_; > >> > >> > > > >The new code is attached. I'm also working on a newer version of the > >decoder, it's in the ftp decoders directory. ie > > > >metar2nc.new and metar.cdl.new > > > >The pqact.conf entry needs to change \2:yy to \2:yyyy because it now uses > >the century too. The cdl is different, merges vars that have different > >units into one. ie wind knots, mph, and m/s are all store using winds > >m/s. Also, store all reports per station into one record. Take a look, I > >would appreciate any comments before it's released. > > > >Robb... > > > > > >On Tue, 2 Mar 2004, David Larson wrote: > > > > > > > >>Robb, > >> > >>I've been chasing down a problem that seems to cause perfectly good > >>reports to be discarded by the perl metar decoder. There is a comment > >>in the 2.4.4 decoder that reads "reports appended together wrongly", the > >>code in this area takes the first line as the report to process, and > >>discards the next line. > >> > >>To walk through this, I'll refer to the following report: > >> > >>132 > >>SAUS80 KWBC 021800 RRD > >>METAR > >>K4BL 021745Z 12005KT 3SM BR OVC008 01/M01 RMK SLP143 NOSPECI 60011 > >> 8/2// T00061006 10011 21017 51007= > >> > >>The decoder attempts to classify the report type ($rep_type on line 257 > >>of metar2nc), in doing so, it classifies this report as a "SPECI" ... > >>which isn't what you'd expect by visual inspection of the report. > >>However, perl is doing the right thing given that it is asked to match > >>on #(METAR|SPECI) \d{4,6}Z?\n# which exists in the remarks of the report. > >> > >>The solution is probably to bind the text to the start of the line with > >>a caret. Seems to work pretty well so far. > >> > >>I've changed the lines (257-263) in metar2nc-v2.4.4 from: > >> > >> if( s#(METAR|SPECI) \d{4,6}Z?\n## ) { > >> $rep_type = $1 ; > >> } elsif( s#(METAR|SPECI)\s*\n## ) { > >> $rep_type = $1 ; > >> } else { > >> $rep_type = "METAR" ; > >> } > >> > >>To: > >> > >> if( s#^(METAR|SPECI) \d{4,6}Z?\n## ) { > >> $rep_type = $1 ; > >> } elsif( s#^(METAR|SPECI)\s*\n## ) { > >> $rep_type = $1 ; > >> } else { > >> $rep_type = "METAR" ; > >> } > >> > >>I simply added the caret (^) to bind the pattern to the start of the report. > >> > >>Let me know what you think. > >>Dave > >> > >> > >> > > > >=============================================================================== > >Robb Kambic Unidata Program Center > >Software Engineer III Univ. Corp for Atmospheric > >Research > >address@hidden WWW: http://www.unidata.ucar.edu/ > >=============================================================================== > > > > > > > =============================================================================== Robb Kambic Unidata Program Center Software Engineer III Univ. Corp for Atmospheric Research address@hidden WWW: http://www.unidata.ucar.edu/ ===============================================================================