[ncl-talk] hdf confusion
Michael Notaro
mnotaro at wisc.edu
Tue Jun 13 20:11:47 MDT 2017
Thanks, everyone for your prompt suggestions.
I don't quite understand what #s to use in the
dim_gbits command below. My earlier ncl_filedump said that
[11-13] 3-bit range is the land/water flag with the bit field
described from right to left.
Thanks, Michael
aaa=addfile("h10v04_yellowstone/MOD13Q1.A2012001.h10v04.006.2015236172021.hdf","r")
var=aaa->250m_16_days_VI_Quality
xchunk=dim_gbits(var,10,3,0,1)
https://lpdaac.usgs.gov/dataset_discovery/modis/modis_products_table/mod13q1
[https://lpdaac.usgs.gov/sites/default/files/public/modis/mod13q1v005_gallerythumbnail.jpg]<https://lpdaac.usgs.gov/dataset_discovery/modis/modis_products_table/mod13q1>
Vegetation Indices 16-Day L3 Global 250m - LP DAAC<https://lpdaac.usgs.gov/dataset_discovery/modis/modis_products_table/mod13q1>
lpdaac.usgs.gov
The MOD13Q1 images shown are samples of the MODIS/Terra Vegetation Indices 16-Day L3 Global 250m SIN Grid. The NDVI and EVI have been pseudo-colored to represent the ...
Michael Notaro
Associate Director
Nelson Institute Center for Climatic Research
University of Wisconsin-Madison
Phone: (608) 261-1503
Email: mnotaro at wisc.edu
________________________________
From: David Brown <dbrown at ucar.edu>
Sent: Tuesday, June 13, 2017 4:48 PM
To: Marston Johnston
Cc: Michael Notaro; ncl-talk at ucar.edu
Subject: Re: [ncl-talk] hdf confusion
In particular the example from that page, hdf4eos_5.ncl<https://www.ncl.ucar.edu/Applications/Scripts/hdf4eos_5.ncl>, shows how to use the function dim_gbits to get the values of particular bits from byte, ubyte, short, ushort, or integer data. It does not really matter in this case whether the data is unsigned or signed because when decoded as bits the results are the same either way.
The default hdfeos5 reader still treats the data as signed because it does not use the advanced file system and therefore is limited to the types allowed for NetCDF3. There is an advanced version of the the reader but it is not yet recommended for general use because not all the kinks have been worked out.
-dave
On Tue, Jun 13, 2017 at 3:14 PM, Marston Johnston <shejo284 at gmail.com<mailto:shejo284 at gmail.com>> wrote:
Here’s a NCL page dedicated to the handling of HDF files used by satellites such as MODIS.
https://www.ncl.ucar.edu/Applications/HDF.shtml
/M
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Marston S. Johnston, PhD
Department of Earth Sciences
University of Gothenburg, Sweden
Email: marston.johnston at gu.se<mailto:marston.johnston at gu.se>
SkypeID: marston.johnston
Phone: +46-31-7864901<tel:+46%2031%20786%2049%2001>
Only the fruitful thing is true!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
From: Michael Notaro <mnotaro at wisc.edu<mailto:mnotaro at wisc.edu>>
Date: Tuesday, 13 June 2017 at 22:46
To: Marston Johnston <shejo284 at gmail.com<mailto:shejo284 at gmail.com>>, "ncl-talk at ucar.edu<mailto:ncl-talk at ucar.edu>" <ncl-talk at ucar.edu<mailto:ncl-talk at ucar.edu>>
Subject: Re: [ncl-talk] hdf confusion
Thanks. I tried the following and only end up with a 2d grid of values like 2066, 18709, etc.
How can I retrieve slot [11-13] land/water flag with values like 000, 001, 010, etc?
Michael
aa=addfile("h10v04_yellowstone/MOD13Q1.A2012001.h10v04.006.2015236172021.hdf.hdfeos","r")
lat2d=doubletofloat(aa->GridLat_MODIS_Grid_16DAY_250m_500m_VI(::-1,:))
lon2d=doubletofloat(aa->GridLon_MODIS_Grid_16DAY_250m_500m_VI(::-1,:))
lat2d!0="nlat"
lat2d!1="nlon"
lon2d!0="nlat"
lon2d!1="nlon"
land=short2flt_hdf(aa->250m_16_days_VI_Quality_MODIS_Grid_16DAY_250m_500m_VI)
print(land)
Michael Notaro
Associate Director
Nelson Institute Center for Climatic Research
University of Wisconsin-Madison
Phone: (608) 261-1503<tel:(608)%20261-1503>
Email: mnotaro at wisc.edu<mailto:mnotaro at wisc.edu>
________________________________
From: Marston Johnston <shejo284 at gmail.com<mailto:shejo284 at gmail.com>>
Sent: Tuesday, June 13, 2017 3:37 PM
To: Michael Notaro; ncl-talk at ucar.edu<mailto:ncl-talk at ucar.edu>
Subject: Re: [ncl-talk] hdf confusion
Hi,
Try this function: http://www.ncl.ucar.edu/Document/Functions/Contributed/short2flt_hdf.shtml
short2flt_hdf - ncl.ucar.edu<http://www.ncl.ucar.edu/Document/Functions/Contributed/short2flt_hdf.shtml>
www.ncl.ucar.edu<http://www.ncl.ucar.edu>
NCL Home > Documentation > Functions > Type converters short2flt_hdf. Converts values of type short to values of type float using the "scale" and "offset" attributes ...
/M
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Marston S. Johnston, PhD
Department of Earth Sciences
University of Gothenburg, Sweden
Email: marston.johnston at gu.se<mailto:marston.johnston at gu.se>
SkypeID: marston.johnston
Phone: +46-31-7864901<tel:+46%2031%20786%2049%2001>
Only the fruitful thing is true!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
From: <ncl-talk-bounces at ucar.edu<mailto:ncl-talk-bounces at ucar.edu>> on behalf of Michael Notaro <mnotaro at wisc.edu<mailto:mnotaro at wisc.edu>>
Date: Tuesday, 13 June 2017 at 22:33
To: "ncl-talk at ucar.edu<mailto:ncl-talk at ucar.edu>" <ncl-talk at ucar.edu<mailto:ncl-talk at ucar.edu>>
Subject: [ncl-talk] hdf confusion
Sorry for the ignorant question but I am having trouble figuring out
how to properly retrieve the land-lake-ocean mask off this MODIS hdf file.
If I ncl_filedump *hdf, it shows the variable as ushort. If I ncl_filedump *hdf.hdfeos,
it shows the variable as short. Which should I use in addfile and how do I
retrieve the values of 001=land, 000=ocean, etc?
Michael
ncl_filedump h10v04_yellowstone/MOD13Q1.A2012001.h10v04.006.2015236172021.hdf.hdfeos
short 250m_16_days_VI_Quality_MODIS_Grid_16DAY_250m_500m_VI ( YDim_MODIS_Grid_16DAY_250m_500m_VI, XDim_MODIS_Grid_16DAY_250m_500m_VI )
coordinates :
GridLat_MODIS_Grid_16DAY_250m_500m_VI, GridLon_MODIS_Grid_16DAY_250m_500m_VI
hdfeos_name :
250m 16 days VI Quality
projection :
Sinusoidal
unsigned :
True
Legend :
Bit Fields Description (Right to Left):
[0-1] : MODLAND_QA [2 bit range]
00: VI produced, good quality
01: VI produced, but check other QA
10: Pixel produced, but most probably cloudy
11: Pixel not produced due to other reasons than clouds
[2-5] : VI usefulness [4 bit range]
0000: Highest quality
0001: Lower quality
0010..1010: Decreasing quality
1100: Lowest quality
1101: Quality so low that it is not useful
1110: L1B data faulty
1111: Not useful for any other reason/not processed
[6-7] : Aerosol quantity [2 bit range]
00: Climatology
01: Low
10: Average
11: High (11)
[8] : Adjacent cloud detected; [1 bit range]
1: Yes
0: No
[9] : Atmosphere BRDF correction performed [1 bit range]
1: Yes
0: No
[10] : Mixed clouds [1 bit range]
1: Yes
0: No
[11-13] : Land/Water Flag [3 bit range]
000: Shallow ocean
001: Land (Nothing else but land)
010: Ocean coastlines and lake shorelines
011: Shallow inland water
100: Ephemeral water
101: Deep inland water
110: Moderate or continental ocean
111: Deep ocean
[14] : Possible snow/ice [1 bit range]
1: Yes
0: No
[15] : Possible shadow [1 bit range]
1: Yes
0: No
_FillValue :
-1
valid_range :
( 0, -2 )
units :
bit field
long_name :
250m 16 days VI Quality
ncl_filedump h10v04_yellowstone/MOD13Q1.A2012001.h10v04.006.2015236172021.hdf
ushort 250m_16_days_VI_Quality ( YDim_MODIS_Grid_16DAY_250m_500m_VI, XDim_MODIS_Grid_16DAY_250m_500m_VI )
long_name :
250m 16 days VI Quality
units :
bit field
valid_range :
( 0, 65534 )
_FillValue :
65535
Legend :
Bit Fields Description (Right to Left):
[0-1] : MODLAND_QA [2 bit range]
00: VI produced, good quality
01: VI produced, but check other QA
10: Pixel produced, but most probably cloudy
11: Pixel not produced due to other reasons than clouds
[2-5] : VI usefulness [4 bit range]
0000: Highest quality
0001: Lower quality
0010..1010: Decreasing quality
1100: Lowest quality
1101: Quality so low that it is not useful
1110: L1B data faulty
1111: Not useful for any other reason/not processed
[6-7] : Aerosol quantity [2 bit range]
00: Climatology
01: Low
10: Average
11: High (11)
[8] : Adjacent cloud detected; [1 bit range]
1: Yes
0: No
[9] : Atmosphere BRDF correction performed [1 bit range]
1: Yes
0: No
[10] : Mixed clouds [1 bit range]
1: Yes
0: No
[11-13] : Land/Water Flag [3 bit range]
000: Shallow ocean
001: Land (Nothing else but land)
010: Ocean coastlines and lake shorelines
011: Shallow inland water
100: Ephemeral water
101: Deep inland water
110: Moderate or continental ocean
111: Deep ocean
[14] : Possible snow/ice [1 bit range]
1: Yes
0: No
[15] : Possible shadow [1 bit range]
1: Yes
0: No
hdf_name :
250m 16 days VI Quality
Michael Notaro
Associate Director
Nelson Institute Center for Climatic Research
University of Wisconsin-Madison
Phone: (608) 261-1503<tel:(608)%20261-1503>
Email: mnotaro at wisc.edu<mailto:mnotaro at wisc.edu>
_______________________________________________ ncl-talk mailing list ncl-talk at ucar.edu<mailto:ncl-talk at ucar.edu> List instructions, subscriber options, unsubscribe: http://mailman.ucar.edu/mailman/listinfo/ncl-talk
_______________________________________________
ncl-talk mailing list
ncl-talk at ucar.edu<mailto:ncl-talk at ucar.edu>
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20170614/8ba2ac62/attachment-0001.html
More information about the ncl-talk
mailing list