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.
Mike, The GEMPAK distribution you are downloading from our site is unmodified in regard to the XVFR code as provided by NCEP. The problem you are seeing with the 11Z observation from GBD: KGBD 131055Z AUTO 25007KT 5SM CLR 09/07 A3005 RMK AO1 is related to roundoff error. The VSBY value of 5 miles above produces an XVFR of 2.0 in the testpr.f program which calls the routine pr_xvfr: Select a subroutine or type EXIT:PR_XVFR Enter the ceiling in hundreds of feet -9999.00 Enter the visibility in miles 5.0 xvfr = 2.000000 However, when using the data stored in the decoded metar file. produces XVFR=3.: >sfparm = dset;xvfr;text GEMPAK-SFLIST>r PARM = PMSL;ALTI;TMPC;DWPC;SKNT;DRCT;GUST;WNUM;CHC1;CHC2;CHC3;VSBY;P03D;P03I; MSUN;SNOW;WEQS;P24I;TDXC;TDNC;P03C;CTYL;CTYM;CTYH;P06I;T6XC;T6NC;CEIL; P01I;XVFR STN YYMMDD/HHMM PMSL ALTI TMPC DWPC SKNT DRCT GUST WNUM CHC1 CHC2 CHC3 VSBY P03D P03I MSUN SNOW WEQS P24I TDXC TDNC P03C CTYL CTYM CTYH P06I T6XC T6NC CEIL P01I XVFR GBD 070313/1100 -9999.00 30.05 9.00 7.00 7.00 250.00 -9999.00 -9999.00 1.00 -9999.00 -9999.00 5.00 -9999.00 -9999.00 -9999.00 -9999.00 -9999.00 -9999.00 -9999.00 -9999.00 -9999.00 -9999.00 -9999.00 -9999.00 -9999.00 -9999.00 -9999.00 -9999.00 -9999.00 3.00 KGBD 131055Z AUTO 25007KT 5SM CLR 09/07 A3005 RMK AO1 The cause of this is that the VSBY being passed to the PR_XVFR routine is showing a value of vsby = 5.00000047683 and when compared by (vsby .le. 5.0) is failing that test which you would have expected to match. The metar.pack file uses a precision of .01 for the VSBY value, however this roundoff error in the representation of the number in the retrieved data is less than that. and the logical comparison is exact. The 'C' code library provides a G_DIFF function for this type of fuziness- but this routine is Fortran. As a workaround, you may want to modify the pr_xvfr.f routine ".le." comparisons as: ELSE IF ( ceil .le. 30.001 ) THEN and ELSE IF ( vsby .le. 5.001 ) THEN I will send this information to the NCEP developers for their input with AWC. Steve Chiswell Unidata User Support On Tue, 2007-03-13 at 07:42 -0500, Mike Bender wrote: > Steve, > > We did some checking of the AWC web site using their metar java tool. > GBD is showing as MVFR with the 5 mile vis and clr skies. However, > using the Unidata "out of the box" version we continue to get VFR for > GBD. Looks like they may have modified the code at AWC. > > Mike > > -- Steve Chiswell <address@hidden> Unidata