cuixh0324的个人博客分享 http://blog.sciencenet.cn/u/cuixh0324

博文

SMOS L1C 亮温数据DBL(zip)格式读取说明

已有 6459 次阅读 2018-1-2 14:25 |个人分类:SMOS|系统分类:科研笔记

   

SMOS L1C 亮温数据格式读取说明


想要做SMOS 的SM反演,SMOS的观测亮温是必不可少的。然而SMOS L1c亮温的数据格式并不属于常规的CDF 或者HDF,tiff格式。一个完整的L1C文件(zip),主要由一个HDR头文件和DBL 数据块文件组成。

现有的关于该文件格式的表述,陈建[1]采用matlab API接口实现了对SMOS 数据的读取。但是这种办法是基于Array提供的matlab RWAPI接口基础上的。虽然方便了使用,但也限制了其他语言的使用。关键是如果你没有matlab 的ESA 的反演软件,那么使用一种自己熟悉的语言写反演程序,即必须要将数据读取程序集成到自己的反演过程中。

   然后,关于读取的方法就是各种打包好的SMOS数据软件,读取和可视化没问题,想要实现程序化,貌似很困难。那么其他语言是否可以读取呢?如下图所示,貌似有人已经给出了答案。


   那么像作者说的ad-hoc专门的程序在哪呢?我也不知道,估计是不好找,或者没人愿意给

还有一点要说明的在ESA的提供的API接口说明中,他把文件结构图画成下图(彩色):这是与个别smos数据读取软件读取得到的结构式不一样的。如果读写程序还是按下面的结构图进行,不要根据viewer的列表读写,否则会蒙圈~那么是否可以完全按着图中的结构进行读取呢?可以,但仅适用于RWAPI 的方式。真实的文件中的内容可并不是这样存储的!之所以有图中的这种表述;1.因为这是针对Array 提供的接口函数库而言,2;这种方式的表述的更容易被接受。



和陈建的文章中写道的:


  需要说明的是,按SMOS blog 的说法SMOS L1C 为ASCII-XML混合格式,那么这里的header 就是HDR,这个HDR为XML格式,而剩下的Data Block 就是DBL格式的文件,也就是一个用二进制书写用来存储所有数据的一个数据文件。

   HDR文建中有关于如何读取DBL 的方法或者索引吗?没有!HDR只包含一些元数据之类的信息,如文件名,时间,轨道等信息。这个读取相当简单,在程序内直接解压,以TXT的格式直接读取就ok。读取的关键还是在DBL文件的读取方式。

既然DBL为一个纯的二进制文件那么读取的就需要知道文件的数据结构,ESA的说明文档格式各种各样,看的令人眼花缭乱~

,那就按说明书读取指定字节,按指定的数据类型进行转义即可,由于数据量较大,建议采用字典存储关键的键值进行存储。

对于一个读取到的item 其下面根据固定的经纬度同时对应不同极化方式和不同时间下的snapshot 以及产生的不同观测角度的亮温数据,这一点在读取的时候则需要注意。

并且之前提到对于单角度的反演过程,42.5度的亮温并不是都会存在,那么对某个像元的反演过程,则通过插值的方式获取。


总之,有资源的有资源的方法,没资源的有没资源的本办法~


R

[1]陈建, 张韧, 王辉赞,等. Matlab对基于二进制-XML混合格式的SMOS盐度数据的提取方法与实现[J]. 海洋通报, 2011, 30(6):692-696.




https://blog.sciencenet.cn/blog-3314854-1092707.html

上一篇:如何获取SMOS 42.5度亮温
下一篇:What is the difference between land cover and land use
收藏 IP: 223.90.3.*| 热度|

1 陈昌春

该博文允许注册用户评论 请点击登录 评论 (1 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-9-19 05:39

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部