I have time series data in hdf format. I use the code below to read the data from the hdf files. Now I tried to join data on the basis of latitude and longitude for those data having same jdn (julian day number). Data with same julian day number represent the continuous spatial data
import glob
import numpy as np
import os
from pyhdf.SD import SD,SDC
files = glob.glob('MOD04*')
files.sort()
for f in files:
product = f[0:5]+ '-Atmospheric Product'
year = f[10:14]
jdn = f[14:17] # julian day number
# Read dataset.
hdf = SD(f, SDC.READ)
data3D = hdf.select('Deep_Blue_Aerosol_Optical_Depth_550_Land')
data = data3D[:,:].astype(np.double)
# Read geolocation dataset
lat = hdf.select('Latitude')
latitude = lat[:,:]
lon = hdf.select('Longitude')
longitude = lon[:,:]
my data are attached in this link: https://drive.google.com/folderview?id=0B2rkXkOkG7ExX2lTTWEySU1fOWc&usp=sharing
Numpy's hstack, vstack, or dstack (depending on the axis you'd like to join the arrays) will join multidimensional arrays.
Note that for MODIS aerosol data specifically, using hstack to join the arrays will occasionally throw an error because sometimes the arrays are 203 x 135 and sometimes 204 x 135 so the horizontal dimension won't always match
Building on your code (not pretty, but functional):