Bill gdal uses degrib to read grib files, best I can tell is it does whatever degrib does by default
Brian On Thu, 2011-05-05 at 22:33 +0000, Cassanova, Bill wrote: > I have noticed the same thing. My question is why would gdal do a conversion > that you had not asked for? We create some of our own grib2 files that may > at times have unitless values. For some odd reason they are being converted > to Celsius as well. > > Sent from my iPad > > On May 5, 2011, at 5:09 PM, "Brian Case" <[email protected]> wrote: > > > Matt, > > > > At a quick glance I would say pygrib is outputting in kelvin and gdal > > Celsius. also it looks like there not in the same order. > > > > Brian > > > > > > > > On Thu, 2011-05-05 at 14:57 -0600, [email protected] wrote: > >> Hi, > >> i am a little confused. I am using the gdal/python and trying to read > >> values from a grib file (i can email the file if needed). I am using > >> pygrib to compare against. I do this with the following code: > >> > >> import struct > >> > >> import pygrib > >> > >> from osgeo import gdal > >> from osgeo import ogr > >> from osgeo import osr > >> from osgeo import gdal_array > >> from osgeo import gdalconst > >> from osgeo.gdalconst import * > >> > >> import numpy as np > >> from numpy import * > >> > >> #path = "../Data" > >> #filename = "%s/ds.temp.bin" % (path) > >> filename = "ds.temp.bin" > >> > >> print "\n\nTesting with pygrib, opening file: %s\n" % (filename) > >> grbs = pygrib.open(filename) > >> rows = -1 > >> cols = -1 > >> grbs.seek(0) > >> for grb in grbs: > >> print "grb:" > >> grb > >> print "grb.keys():" > >> print grb.keys() > >> for key in grb.keys(): > >> print "\nKey: " + key > >> print "data:" > >> print grb[key] > >> > >> > >> > >> #print "grb['values']" > >> #print grb['values'] > >> #print "grb['codedValues']" > >> #print grb['codedValues'] > >> > >> (pg_lats,pg_lons) = grb.latlons() > >> pg_rows = pg_lats.shape[0] > >> pg_cols = pg_lats.shape[1] > >> #print test > >> #print lats.shape, lats.min(), lats.max(), lons.shape, > >> lons.min(), lons.max() > >> #lat_pygrib_arr = [] > >> print size(pg_lats) > >> print "\n\n" > >> > >> > >> ## open with gdal > >> ds = gdal.Open(filename) > >> band = ds.GetRasterBand(1) > >> data = band.ReadAsArray(0,0,band.XSize,band.YSize)#.flatten() > >> print "data:" > >> print data > >> > >> > >> The data values i get from pygrib are: > >> data: > >> [[ 294.5 294.5 294.5 ..., 298.31 298.32 298.32] > >> [ 294.5 294.5 294.5 ..., 298.32 298.22 298.22] > >> [ 294.4 294.4 294.4 ..., 298.22 298.22 298.22] > >> ..., > >> [ 280.91 280.91 280.81 ..., 264.2 264.3 264.5 ] > >> [ 280.81 280.81 280.81 ..., 263.5 263.7 263.9 ] > >> [ 280.81 280.81 280.81 ..., 262.8 263. 263.3 ]] > >> > >> The values i get from gdal are: > >> data: > >> [[ 7.65999756 7.65999756 7.65999756 ..., -10.35001221 -10.15 > >> -9.85001221] > >> [ 7.65999756 7.65999756 7.65999756 ..., -9.65 -9.45001831 > >> -9.2500061 ] > >> [ 7.76000366 7.76000366 7.65999756 ..., -8.95001831 -8.85001221 > >> -8.65 ] > >> ..., > >> [ 21.2499939 21.2499939 21.2499939 ..., 25.07000122 25.07000122 > >> 25.07000122] > >> [ 21.35 21.35 21.35 ..., 25.17000732 25.07000122 > >> 25.07000122] > >> [ 21.35 21.35 21.35 ..., 25.15999756 25.17000732 > >> 25.17000732]] > >> > >> Is there anything obvious that i am doing wrong? > >> > >> thanks > >> matt > >> > >> > >> _______________________________________________ > >> gdal-dev mailing list > >> [email protected] > >> http://lists.osgeo.org/mailman/listinfo/gdal-dev > > > > > > _______________________________________________ > > gdal-dev mailing list > > [email protected] > > http://lists.osgeo.org/mailman/listinfo/gdal-dev _______________________________________________ gdal-dev mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/gdal-dev
