; $Header$ Function get_sd, filename, name ;Attempt to catch some errors CATCH, Error_status If Error_status NE 0 then begin Print, 'Error index: ', Error_status Print, 'Error message: ', !ERR_STRING var = -99999. return, var endif sd_id = hdf_sd_start(filename,/read) index = hdf_sd_nametoindex(sd_id, name) sds_id = hdf_sd_select(sd_id,index) hdf_sd_getdata, sds_id, var hdf_sd_endaccess, sds_id hdf_sd_end, sd_id return, var end ;############# Choose time ############## yr='2008' mm='04' dd='14' nlev=72 dir_in = 'YOUR DATA DIRECTORY' ; The GEOS-5 data can be downloaded from GSFC NCCS MSS dirac at the directory ; /archive/dao_ops/dao_ops/ARCTAS_REPLAY/GEOSdas-2_1_2/d5_arctas_02/chem/Y2008/ ; /archive/dao_ops/ARCTAS_REPLAY/GEOSdas-2_1_2/d5_arctas_02/chem/Y2008/ ; sciafile = dir_in+'d5_arctas_02.tavg2d_aer_x.'+yr+mm+dd+'_1630z.hdf' ; ;Does the filename exist? ;if(file_search(sciafile) eq '') then begin ; print, sciafile+': not found, continuing' ; continue ;endif print,sciafile ;Open HDF file file_id = hdf_open(sciafile, /read) lat = get_sd(sciafile, 'lat') lon = get_sd(sciafile, 'lon') nt = get_sd(sciafile, 'time') duaot = get_sd(sciafile, 'DUEXTTAU') hdf_close, file_id ;print,'size of duaot=',SIZE(duaot,/dimensions) end