英语原文共 7 页,剩余内容已隐藏,支付完成后下载完整资料
绘制CALIPSO平均气溶胶消光廓线:
利用Matlab基于CALIPSO二级消光廓线产品的基础质量控制技术个例
在这次个例中,我们展示了怎样利用CALIPSO二级数据廓线产品和一些基本的数据质量控制来绘制垂直廓线。平均化消光廓线的过程是相当简单的,然而应用CALIPSO的廓线描述性的标记位来进行质量控制有一点麻烦,这是因为描述性标记位是被存储为一个三维数组而消光系数是被存储为二维数组。稍后详述。由于重视这些标记位非常重要,这个文件为将廓线描述标记位应用于检验消光数据提供了一个实用的个例。
我们将要展示的过程的情况是获取的20170417的20z轨道数据,在下图1中所示。CALIPSO的后向散射总衰减显示出一个气溶胶层跨越了印度,从加德满都左侧的恒河流域延伸至孟加拉湾,就在维萨卡帕特南之南。图1(b)中所展示的垂直特征表明了CALIPSO二级数据算法探测的气溶胶层结是从5km的高度到地面的。我们会应用这种情况,来表明如何去估算在基本质量控制下的平均消光系数的垂直廓线。
构成这个个例Matlab的代码和相关的示范数据可以在CALIPSO的数据用户向导的工具选项中下载zip文件。请将.mat和.hdf文件解压到Matlab的运行目录下,主程序叫做quality_screen_CALIPSO_profile_products.m。
图1(a)CALIPSO总后向散射率 (b)2010年4月17日印度上空气溶胶层结特征
步骤一:获得相关CALIPSO数据
CAL_LID_L2_05kmAPro-Prov-V3-01.2010-04-17T20-09-13ZN.hdf这个文件将被使用,这个文件包含在构成这个个例的压缩文件中。如果你希望使用CALIPSO搜索和预览工具来获得这个文件的简便的预览,就点击链接后选择文件类型为夜间,之后,在二级数据5km的气溶胶轮廓产品中选择532nm消光系数。
通常情况下,预览工具会反馈廓线信息,其信息包含了我们随后将用于质量检验的廓线信息的描述性标记位。现在,我们将时间范围设置为2010年四月17,并且对于地理区间,我们设置边界框为15n-25n,80e-90e,按照指示下载hdf文件。
步骤二:打开CALIPSO轮廓文件然后获取相关数据
消光系数数组和所有轮廓的描述性标记位数组可以被Matlab通过readHDF.m文件进行读取,读取工具在用户指南的工具选项下可获得。举个例子,消光系数和它的不确定数据会
被分别放在变量sigma 和sigma_uncer中。此外,用于质量监测的廓线描述性标记位cad值,大气体积描述,532nm的消光质量控制标记位都会被读入。
关于数组大小的一个注释:
消光系数和其不确定数据的两个二维数组大小是numberAlts*numberProfiles,分别象征性的表明了高度和剖面的个数,另外一方面,剖面描述标记位,诸如质量控制的消光系数和大气体积描述是三维数组,是2*numberAlts*numberProfiles在CALIPSO数据层结产品中。
这是因为CALIPSO的二级数据的特征定位和场景分级在底层对流层是在30m的垂直分辨率上进行的,但是二级层结产品是随着其海拔高度编译在60m的垂直分辨率上的,因此为了保证这个轨迹沿途两个30m分辨率是在60m消光范围内,层结产品的描述性标记位是三位数组,其第一维描述了高于两个30m分辨率层和低于两个30m分辨率层的数据构成了每个60m的层。想要获得更多关于层结描述性标记位的存储方法问题,参见记录在二级数据层结产品数据特征总结中的大气整体描述部分。
步骤三:选择性筛查消光系数
现在,我们有存有消光系数的数组sigma,现在我们要找出其中可信度相对较低的样本。
这里,我们使用一个叫做useSamples的逻辑数组,这个数组和sigma数据有着相同的大小,可以用来表明存储的是哪一个样本。这个数组中的显示为true 的元素,将被存储以便之后的平均过程,而那些列举为false的元素将被筛查而不进行平均过程。如果你需要你个更加技术性准确的个例,假设在useSample数组位置(i,j)上是fasle,随后我们会将sigma数组这个相应位置的元素从平均过程中驱逐。
筛查填值:
这是筛查过程的最简单的事情。填值表明此处没有样本记录,如果你是Matlab的新手,下面的语句会将useSamples数组中和sigma数组中对应元素为-9999的元素替换为fasle。
useSamples(sigma == -9999)=fasle
筛查出那些并不是气溶胶的特征点:
我们必须认识到,在二级气溶胶描述产品中存储的剖面描述性标记位不仅仅包含关于气溶胶的信息,还包含了关于云,平流层特征以及其他被分类器鉴定出的类型的信息。鉴于此,我们可以通过一次使用同一个数组来了解整个大气的情况。最基本就是大气整体描述(AVD)
AVD这个数据和CALIPSO二级层结数据产品中的特征分类标记位相似,在于它们都对于每一个层结都有位映射的整数来储存层级的特征种类和亚种类。我们也可以利用这个数组来筛查处云或者鉴定不可信的剖面信息,需要AVD的详细定义,参见CALIPSO的数据产品目录。
由于平流层特征同样在气溶胶剖面消光数组中有所体现,但是我们对此并不感兴趣。我们因此使用AVD来筛查出那些不是气溶胶的数组点。为实现这一目标,一旦特征类型被AVD所解码,气溶胶层的特征类型值=2,下面这条语句表达的是由AVD数组来的特征类型和亚类型,都和AVD有着相同的数组大小。
[ftype,subtype]=get_feature_type_and_subtype(AVD)
现在重申一次,我们的逻辑数组useSamples是二维数组,但是ftype是三位数组,是用来使两个30m分辨率特征可以表示一个60m分辨率。在一个已知的sigma数组中,很可能出现一个30m分辨率的元素是气溶胶但是其他元素是云、平流层特征、甚至是干洁大气。在这种情况下,我们将使用至少含有一个气溶胶特征的距离界限,接下来的Matlab代码使用了一个OR运算符,这样如果在高于或者低于30m的分辨率里有气溶胶类型,我们就可以使用这个样本。否则我们就不使用。这个SQUEEZE函数就是将括号内的逻辑表达转换为一个二维数组。和我们筛查填值一样,我们将会把不包含气溶胶类型的元素在useSample数组的对应元素元素改为false。
isAerosol=squeeze(ftype(1,:,:)==3 | ftype(2,:,:)==3);
useSamples(~isAerosol)=fasle;
通过CAD数值进行筛查:
CAD数值反映了气溶胶和云的特征区分的可信度。当CAD=-100,我们可以完全确定这个特征是气溶胶,而CAD=100就可以完全确定是云了。当CAD=0的时候我们就无法确定了。那么我们应当采用什么CAD 数值呢?这就视情况和气溶胶类型而定,但是可以确定在CAD的值在0--20之间是排斥气溶胶。这个不能筛查出所有的不可信数据,但是通过对于version3.01的数据可以知道,在此区间内由于类型错误分类会造成检索的数据不够可信。
如果想要确保可信,可以筛查出CAD值大于-80的特征点并且只保存那些具有高度可信度的气溶胶气层。
对于这个个例而言,我们选择筛查出CAD大于-20的数据,这时,如果两个30m分辨率的样本都包含了气溶胶,并且CAD大于-20,我们就抛弃整个60m的消光样本。这个过程可以通过一个简单的AND语句来实现。但是这个过程会有一点复杂就是因为在二级剖面的产品数据中,云的CAD数值也包含在CAD的数组中,为了确保我们抛弃的数据不会出现其中一个30m是气溶胶而且其CADgt;-20,而另一个30m是云的这种情况出现,我们将会提前给每个云CAD一个填值。但是要考虑到这并非实现这一过程的唯一方式。这只是用来强调这个问题的一个个例。在这个步骤之后,我们需要保证这样的情况:在第一元素下的CAD值需要小于-20或者等于填值,并且,第二组元素内的CAD值也要小于-20或者等于填值。任何不满足这一标准的元素在最后一行语句内将会被存储为fasle。
CAD_fill=-127;
CAD(CAD gt;0)=CAD_fill;
goodCAD=squeeze( (CAD(1,:,:)lt;-20 |CAD(1,:,:)==CAD_fill))amp;...
(CAD(2,:,:)lt;-20 |CAD(2,:,:)==CAD_fill);
useSamples(~goodCAD)=fasle;
通过消光系数质量控制标记位进行筛查:
CALIPSO的消光系数质量控制标记位记录了消光系数反演的最终结果。通过迭代的过程来找到一个结果,激光雷达比(通过后向散射计算消光系数时需要的一个变量)可能会被校准。通常情况下,我们更倾向于相信激光雷达比不发生改变(QC=0)或者是受约束的反演(QC=1)的反演解决方式。如果需要更多的关于反演过程和消光质量控制标记位的信息,可参见CALISPO层结数据产品质量总结中的最终激光雷达比和消光系数质量控制。
对于这个个例而言,我们保留了所有的两个30m都是消光系数质量控制值为0或1的60m元素。同CAD值数组相类似,云的消光系数的质量控制信息也包含在消光系数的数组内,所以我们必须首先把所有云相应的元素给一个填值通过特征种类数组ftype。同样的,这也不是解决这个问题的唯一方法,这仅仅是其中一个。
extQCfill=32768
extQC(ftype~=3)=extQCfill;
goodExtQC=squeeze(...
(extQC(1,:,:)==0|extQC(1,:,:)==1|extQC(1,:,:)==extQCfill)amp;...
(extQC(2,:,:)==0|extQC(2,:,:)==1|extQC(2:,:)==extQCfill)
useSamples(~goodExtQC)=fasle;
通过不确定消光来进行筛查:
CALIPSO的消光系数反演是一个迭代过程,以至于有时候并不能收敛为一个结果。当消光反演开始无界式增长得时候,近似消光系数就是指定了99.99来确定这个结果已经加剧膨胀。在近似消光的值为99.99时消光系数不可使用,所以我们使用如下语句将其筛选而出。
UseSamples(sigma_uncergt;99.9)=fasle;
步骤四:平均经过筛查过的消光系数:
对于这个个例而言,我们想要绘制经过质量控制和么经过质量控制的平均消光系数的一个垂直的剖面图,以便我们可以对此进行比较。此外,我们也将要绘制相对不确定消光系数(不确定消光除以平均消光)的垂直廓线,包括经过质量筛查和没有经过质量筛查的。
为了在Matlab上实现这个过程,我们一次就要检索这个数组的一个高度。筛查出所有不符合我们标准的样本,并且按照高度对应计算出平均值。对于没有进行筛查过的平均消光(meanSigmaUnscrreened),我们就简单的滤去所有的没有填值的消光样本(-9999)而是用逻辑数组t表示。对于已经筛查过的平均消光(meanSigmaScrreened)我们会筛查出所有在USESAMPLES中对应的元素不是true的元素。
For k=1:numberAlts
T=sigma(k,:)~=-9999
meanSigmaUnscreecend(k)=mean(sigma(k,t))
meanSigmaScreecened(k)=mean(sigma(k,useSamples(k,:)));
为了计算相对不确定度,我们必须将不确定消光传播在平均消光之上。使用标准误差传播技术被传播的不确定度是不确定度除以平均值中的样本总数的平方和再开二次方。下面的这个例子是对于未经筛查的不确定度(经过筛查的不确定度是一致的)前两行是确保在没有样本进行平均的时候不会出现被除数是0的状况;
步骤五:绘图
这个个例的最后一部分Matlab代码将平均消光系数绘制成为高度的函数,参与平均的样本个数的函数,以及相对不确定度,又分为未经检验和曾经检验两种情况。 下图是被复制的。如图所示,随着相对不确定度的降低,经过过滤进行的质量筛查提升了平均消光系数廓线的质量。
图2(a)平均消光系数(b)相对不确定度(c)参与平均的样本数量
总结与讨论:
在这个个例之中,我们通过进行了基础数据筛查的二级剖面产品的剖面描述标记位绘制了CALIPSO的平均气溶胶消光垂直廓线,我们知道了如何翻译利用三维剖面描述性标记位AVD,CAD以及质量控制等数值来筛查出不可信的消光样本。
图2中平均消光系数和相对不确定度廓线证明了在翻译一个数据的时候为什么要重视质量标记位。举个例子,1km以下的相对不确定度在进行筛查之前溢出400%,并且在移除了一部分相对较小的问题样本之后,这个比率减少到了可控的150%-200%。
图3CALIPSO气溶胶消光系数(a)未经数据筛查(b)使用描述性标记位进行筛查
为了确定哪些样本被筛查过程所剔除,我们又绘制了经过筛查和没有经过筛查的消光系数,很明显没有太多数据被剔除,但是在气层的最底部倾向于出现很大的消光值,无疑这一部分的消光不确定度也是巨大的,因为向下发射的激光雷达随着高度
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[22109],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。