Re: Read particular band from air temperature image among MOD07 air products [message #54452] |
Fri, 15 June 2007 13:38 |
James Kuyper
Messages: 425 Registered: March 2000
|
Senior Member |
|
|
DirtyHarry wrote:
> Goodday, Everyone! I would like to ask how to process MODIS 07 air
> product.
>
> I am working on 3D-MOD07 image. As most of you may know, the dimension
> of this file is, at least in my knowledge....
>
> sample number(ns): 270, Line number(nl): 406, 그리고 band number(nb): 20
>
> In order to get the map of band20, I wrote a source code below, but
> this procedure is not working properly.
>
> -----------------------------
> pro test
> close, /all
> ns = 270
> nl = 406
> nb =20
> file = 'MOD072003001.0130_Ta_5km.img'
> openr, 1, file
>
> image = bytarr(ns, nl, nb)
> readu, 1, image
> close, 1
>
> tvscl, image(*, *, 19)
>
> end
>
> -----------------------
> In my opinion, there must be something wrong at this line shown
> below...
>
> "image = bytarr(ns, nl, nb)"
>
> However, I don't know how to solve this problem... I tried read_jpg,
> and read_gif instead of bytarr, but all of these trials were not so
> successful.
Like all MODIS products, MOD07 is in HDF-EOS format, which is built on
top of HDF. IDL provides wrappers for all of the HDF and HDF-EOS
library functions, and you should be using those routines to read this
file. It's format is laid out at <http://modis-atmos.gsfc.nasa.gov/
MOD07_L2/format.html>. You'll see that it's far more complicated than
just a simple multi-dmensional array of a single data type.
|
|
|
Re: Read particular band from air temperature image among MOD07 air products [message #54455 is a reply to message #54452] |
Fri, 15 June 2007 11:26  |
Jeff N.
Messages: 120 Registered: April 2005
|
Senior Member |
|
|
On Jun 15, 2:00 pm, DirtyHarry <kim20...@gmail.com> wrote:
> Goodday, Everyone! I would like to ask how to process MODIS 07 air
> product.
>
> I am working on 3D-MOD07 image. As most of you may know, the dimension
> of this file is, at least in my knowledge....
>
> sample number(ns): 270, Line number(nl): 406, 그리고 band number(nb): 20
>
> In order to get the map of band20, I wrote a source code below, but
> this procedure is not working properly.
>
> -----------------------------
> pro test
> close, /all
> ns = 270
> nl = 406
> nb =20
> file = 'MOD072003001.0130_Ta_5km.img'
> openr, 1, file
>
> image = bytarr(ns, nl, nb)
> readu, 1, image
> close, 1
>
> tvscl, image(*, *, 19)
>
> end
>
> -----------------------
> In my opinion, there must be something wrong at this line shown
> below...
>
> "image = bytarr(ns, nl, nb)"
>
> However, I don't know how to solve this problem... I tried read_jpg,
> and read_gif instead of bytarr, but all of these trials were not so
> successful.
>
> Please give me any suggestions. Thanks.
>
> Harry
At the very least, you also need to know the file's interleave, so
that you can make sure you are reading the data into memory in the
correct order.
Jeff
|
|
|
Re: Read particular band from air temperature image among MOD07 air products [message #54456 is a reply to message #54455] |
Fri, 15 June 2007 11:15  |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
DirtyHarry writes:
> Goodday, Everyone! I would like to ask how to process MODIS 07 air
> product.
> In my opinion, there must be something wrong at this line shown
> below...
>
> "image =3D bytarr(ns, nl, nb)"
>
> However, I don't know how to solve this problem... I tried read_jpg,
> and read_gif instead of bytarr, but all of these trials were not so
> successful.
>
> Please give me any suggestions.
I think the problem might have occurred earlier, when you
assumed satellite data would be packaged in a form that is
easily digested by IDL.
My suggestion would be to get onto a MODIS web page and
spend a few minutes reading about their data products.
Who knows what useful information might turn up!
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|