一、modis气溶胶数据
数据介绍如以下:
MOD/MYD04_3K(全称MODIS Terra/Aqua Aerosol 5-Min L2 Swath 3km)是NASA发布的Level 2级气溶胶产品,可用来获取全球海洋和陆地环境的大气气溶胶光学特性(如:光学厚度和大小分布)和质量浓度,通过查找表(LUT)反演得到反射和传输通量,以及其他质量控制和辅助参数,其空间分辨率为3km,以HDF4格式提供。在之前的C5版本中,仅提供了10km分辨率的气溶胶产品(MOD/MYD04_L2);在C6版本中,提供了新的3km分辨率的气溶胶产品。
该产品所使用的算法同样是C5版本10km分辨率气溶胶的反演算法,两种产品之间仅有的区别包括:(1)反演窗口的像素阵列大小不同(比如:在0.5km分辨率下对3km分辨率产品使用6×6反演窗口,即36个像素;而同样分辨率下10km的产品则使用20×20反演窗口,即400个像素);(2)气溶胶反演时所需的"Good"像素的最小百分比不同(对于3km分辨率的产品来说,最少需要5个覆盖海洋和6个覆盖陆地的像素;而对于10km分辨率的产品来说,则最少需要10个覆盖海洋和12个覆盖陆地的像素);(3)10km分辨率算法尝试进行"Poor Quality"反演,而3km分辨率则没有。除此之外,二者完全相同.
数据中,有关AOD的变量信息如下
二、数据读取
HDF格式数据,可以借助python,matlab,…等多种方式读取,可视化。但是,由于MOD04/MYD04产品数据的按照swath投影方式存储,记录变量(气溶胶信息)、地理信息(lon&lat),数据读取完成后,导出前需要定义投影类型。因此,借助MCTK处理更为方便。
当数据量较多的时候,MCTK手动操作无法满足需要求,IDL+MCTK就可以实现大量数据的快速处理。
提前安装好envi、MCTK插件
PRO mod04l2_preprocessing
COMPILE_OPT idl2
ENVI,/restore_base_save_files
ENVI_BATCH_INIT
inpath = 'E:\mod04\0406\';输入路径,注意L2后面斜杠不可少
CD,inpath
filenames = FILE_SEARCH('*.hdf',COUNT=n)
PRINT,'there are totally',n,'images.'
PRINT, '开始处理数据 : ', SYSTIME()
bridges = mctk_create_bridges()
FOR i=0,n-1 DO BEGIN
modis_swath_file = inpath+filenames[i]
filename = filenames[i]
PRINT,filename
output_location='E:\mod04\06out\';输出目录,注意L2后面斜巷
output_rootname = STRMID(filename, 0, 22)
swath_name = 'mod04'
sd_names=['AOD_550_Dark_Target_Deep_Blue_Combined'];需要提取的波段名称,大小写一一对应,自己打开hdf格式文件注意看,别写错
out_method = 1
output_projection = ENVI_PROJ_CREATE(/geographic)
interpolation_method = 0
nan_fill = FLOAT('NaN');背景值使用NaN
convert_modis_data, in_file=modis_swath_file, $
out_path=output_location, out_root=output_rootname, $
swt_name=swath_name, sd_names=sd_names, $
out_method=out_method, out_proj=output_projection, $
r_fid_array=r_fid_array, r_fname_array=r_fname_array,$
interp_method=interpolation_method, background=nan_fill,$
/no_msg
PRINT,output_rootname
ENDFOR
mctk_destroy_bridges, bridges
PRINT, '处理完成 : ', SYSTIME()
ENVI_BATCH_EXIT
END