Here is a walkthrough of how to read metadata and data from a level1b file. I've used the the converter I downloaded from this link to produce the Aqua granule netcdf file in this download directory: http://clouds.eos.ubc.ca/~phil/Downloads/a301/MYD021KM.A2005188.0405.005.2009232180906.nc (right click to save to your local drive)
I'm going to use http://unidata.github.io/netcdf4-python/ and two new modules (modismeta.py and netcdflib.py) to read the granule
In [0]:
    
from __future__ import print_function
import os,site
currdir=os.getcwd()
head,tail=os.path.split(currdir)
libdir=os.path.join(head,'lib')
site.addsitedir(libdir)
from modismeta import parseMeta
from netcdflib import ncdump
import glob
from netCDF4 import Dataset
    
the glob function finds a file using a wildcard to save typing (google: python glob wildcard)
In [0]:
    
nc_filename=glob.glob('*.nc')
print("found {}".format(nc_filename))
    
In [0]:
    
nc_file=Dataset(nc_filename[0])
    
netcdf files have attributes
In [0]:
    
print(nc_file.ncattrs())
    
In [0]:
    
print(nc_file.Earth_Sun_Distance)
    
In [0]:
    
print(nc_file.HDFEOSVersion)
    
netcdf files have variables -- stored in a dictionary
In [0]:
    
print(nc_file.variables)
    
In [0]:
    
print(nc_file.variables.keys())
    
In [0]:
    
the_long=nc_file.variables['longitude']
    
In [0]:
    
help(the_long)
    
In [0]:
    
the_long.ncattrs()
    
In [0]:
    
long_data=the_long[:10,:10]
    
In [0]:
    
print(long_data)
    
In [0]:
    
from modismeta import parseMeta
    
In [0]:
    
print(parseMeta(nc_file))
    
In [0]:
    
from netcdflib import ncdump
    
In [0]:
    
ncdump(nc_file)
    
In [0]:
    
import os
os.getcwd()
    
In [0]: