Truncate radian floats in data files.

* weather.py(correlate): The radian values in data files have a tendency
to vary by the tiniest rounding errors from one Python release to
another. By truncating them to the 7th decimal place, which is still
sub-meter resolution, this problem is minimized and the resulting data
diffs become far less noisy.
This commit is contained in:
Jeremy Stanley
2012-09-19 00:58:31 +00:00
parent 0cfa643cef
commit 1c5bbfd74c

View File

@@ -1909,6 +1909,13 @@ def correlate():
for airport in sorted( airports.keys() ):
airports_fd.write("\n\n[%s]" % airport)
for key, value in sorted( airports[airport].items() ):
if type(value) is float: value = "%.7f"%value
elif type(value) is tuple:
elements = []
for element in value:
if type(element) is float: elements.append("%.7f"%element)
else: elements.append( repr(element) )
value = "(%s)"%", ".join(elements)
airports_fd.write( "\n%s = %s" % (key, value) )
count += 1
airports_fd.write("\n")
@@ -1925,6 +1932,13 @@ def correlate():
for fips in sorted( places.keys() ):
places_fd.write("\n\n[%s]" % fips)
for key, value in sorted( places[fips].items() ):
if type(value) is float: value = "%.7f"%value
elif type(value) is tuple:
elements = []
for element in value:
if type(element) is float: elements.append("%.7f"%element)
else: elements.append( repr(element) )
value = "(%s)"%", ".join(elements)
places_fd.write( "\n%s = %s" % (key, value) )
count += 1
places_fd.write("\n")
@@ -1941,6 +1955,13 @@ def correlate():
for station in sorted( stations.keys() ):
stations_fd.write("\n\n[%s]" % station)
for key, value in sorted( stations[station].items() ):
if type(value) is float: value = "%.7f"%value
elif type(value) is tuple:
elements = []
for element in value:
if type(element) is float: elements.append("%.7f"%element)
else: elements.append( repr(element) )
value = "(%s)"%", ".join(elements)
stations_fd.write( "\n%s = %s" % (key, value) )
count += 1
stations_fd.write("\n")
@@ -1957,6 +1978,13 @@ def correlate():
for zcta in sorted( zctas.keys() ):
zctas_fd.write("\n\n[%s]" % zcta)
for key, value in sorted( zctas[zcta].items() ):
if type(value) is float: value = "%.7f"%value
elif type(value) is tuple:
elements = []
for element in value:
if type(element) is float: elements.append("%.7f"%element)
else: elements.append( repr(element) )
value = "(%s)"%", ".join(elements)
zctas_fd.write( "\n%s = %s" % (key, value) )
count += 1
zctas_fd.write("\n")
@@ -1973,6 +2001,13 @@ def correlate():
for zone in sorted( zones.keys() ):
zones_fd.write("\n\n[%s]" % zone)
for key, value in sorted( zones[zone].items() ):
if type(value) is float: value = "%.7f"%value
elif type(value) is tuple:
elements = []
for element in value:
if type(element) is float: elements.append("%.7f"%element)
else: elements.append( repr(element) )
value = "(%s)"%", ".join(elements)
zones_fd.write( "\n%s = %s" % (key, value) )
count += 1
zones_fd.write("\n")