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

Reply via email to