By xpan
Date 2007-03-23 13:05
Does anyone know how to add a new dataset to hdf file? For example, for a present hdf file which has xsize=444, ysize=444, and zsize=5, I want to add a new dataset which has dimensions of 444x444 to the hdf file so that the zsize = 5+1=6. How can I do it in IDL commands? The IDL online help is some confused. Thanks.
By xpan
Date 2007-03-30 14:08
Thanks, Mike. Another problem is that the created hdf files do not include the geolocation infomation (e.g. latitude, longitude, coastal line, etc.) same as the L2 products. So when I applied seadas to map the images of new hdf files, coastl line was not allowed to added in. Is it possible to add the geolocation info to new hdf files?
By xpan
Date 2007-05-31 13:27
Mike,
I have another question about IDL. I used the following program to read the seawifs HDF products (for example, 'solz'). Seadas showed that the range of 'solz' was reasonable from 42.7111 through 49.7361 degrees. But when I used the following command:
solz=READ_HDF_PROD(all_fnames(m), 'solz')
print,size(solz),'solz',solz(0),min(solz),max(solz)
stop
It showed that 'solz' ranged from -17024.0 to -14495.0 as:
SeaWiFS file name: /home/xpan/data/seawifs/L2_map/S2000060172315_MLAC_map.hdf
2 722 722 2 521284
solz -14697 -17024 -14495
That is absolutely wrong.
The HDF read program is shown in the following:
FUNCTION read_hdf_prod, filename, prod
if prod eq 'Sea Surface Temperature' then begin ;apparently pathfinder sst in not eos hdf
; Open STANDARD-HDF file and get data
file=HDF_OPEN(filename)
hdf_dfr8_restart
hdf_dfr8_getimage,filename,arr
HDF_CLOSE,file
arr=float(arr)
endif else begin ;read in eos-hdf
; Open EOS-HDF file and get data
sd_id = hdf_sd_start(filename)
index= hdf_sd_nametoindex(sd_id, prod)
sds_id= hdf_sd_select(sd_id, index)
hdf_sd_getdata, sds_id, arr
hdf_sd_endaccess, sds_id
hdf_sd_end, sd_id
endelse
return, arr
END
By mark
Date 2007-06-01 14:29
xpan,
I suspect what is happening is that maybe you did not output the mapped data in float format. When you use the output function to create an HDF SD file, it gives you a number of options for the format of the data(BYTE,INT,LONG,FLOAT,DOUBLE). Did you specify FLOAT?
Mark