最近下载并使用了GEMS的HCHO产品,网上关于GEMS的信息相当少,所以写下这篇文章,希望补充一下这个空白,制作不易欢迎点赞收藏。
附上NESC官网链接:NESC (PS:这是我见过信息量最(少)简洁的卫星官网了。。。关于数据的信息只有少量文献和ATBDs有描述)
一、GEMS介绍
首先简单介绍一下GEMS吧。
GEMS(紫外-可见光扫描光谱仪)将由韩国环境部于2019年发射,搭载于一颗静止轨道卫星(GEO-KOMPSAT 2B)上,该卫星还搭载了静止轨道海洋色成像仪2(GOCI-2)。GEMS位于约128.2°E,接近赤道,覆盖东亚和东南亚地区(5°S–45°N,75–145°E)。该仪器将在白天进行每小时一次的测量(共八次),覆盖整个区域。其扫描方式为从南到北进行一次扫描,然后使用成像时间为30分钟、传输时间为30分钟的扫描镜进行东到西的旋转扫描,从而为GOCI-2提供30分钟的数据测量。
图一、搭载在GB-2B上的GEMS
GEMS测量300–500纳米波长范围内的太阳反向散射辐射,具有0.6纳米的光谱分辨率和0.2纳米的波长间隔。GEMS的信噪比要求分别为320纳米和430纳米处信噪比720和1500,适用于自然空间分辨率(如首尔地区为3.5 km × 8 km)。然而,为了提高信噪比,像素将进行合并处理,GEMS将在韩国首尔提供7 km × 8 km或更小的空间分辨率,用于追踪气体的测量。
关于各个产品的介绍可以在产品页面中查看,有非常简洁的描述。
图二、GEMS系统属性摘要
注意:第一,“每天8次测量”并不是所有天数,有的天数只测量6次,有的测量10次。
第二,每次测量的范围并不是完全相同,可以在影像预览中查看范围。如下图三所示
图三、数据预览示意图
二、GEMS数据下载
NESC的官网特别的简洁,没有用户手册,只有一个算法说明文档,这个文档在Images中可以找到,文档主要简单说明了各产品使用的算法,输入输出等内容。关于数据下载,官网提供了几种途径。
方法一
第一种,直观但是不推荐,下载速度很慢。点击Data-Data Services-Data Services,选择你想要的数据。这里选择HCHO,可以看到有DATA和IMAGE两种格式(图五),选择DATA。选择目标时间,可以看到右边有下载选择(图六),少量数据下载的时候可以先预览影像,然后直接下载,速度相当感人。。。
图四
图五
图六
方法二:使用API
NESC官方提供了API,可以批量的下载,无需注册就可以获取。API-Key有效时间为一年
图七
申请方式,在Open-API Key Issuance中提交申请,这里QQ邮箱等国内邮箱都可以使用,大概一天后会通过邮箱发送API的钥匙。如图八所示。
图八、邮箱发送的API-Key
获得API -Key之后就可以进行下载,打开GEMS Open-API---Create Open-API URL,选择你想要的数据,选择Download,选择时间,输入你的API-Key,点击URL Deduction获得下载的URL链接,如图九所示。
复制你的URL到新的页面即可自动在浏览器中下载,当然速度比方法一快一些。但是大家肯定会说,这有啥,这还不是一样需要修改时间,每次还得点创建URL,然后挨个下载,如果数据量大还是相当耗时间的。 哈哈哈,别急,请继续往下看!
图九
下载数据的步骤是,1、选择时间,2、点击URL Deducation,3、复制URL,4、最后下载。
通过观察我们可以发现,GEMS每天收集数据的时间是固定的(图十)。都在22:45到7:45之间,且分钟数固定不变。虽然有些天数它收集数据的数量不一样,但是收集时间固定。其次通过修改时间改变URL,我们也可以发现,URL中变的只有时间一项!
也就是说,只要我们假设下载数据时间段中每天收集的数量都一样(例如我需要0:45到7:45的数据),然后批量生成只修改日期的下载链接,最后通过IDM,等批量下载工具,即可完成批量下载的操作,并且如果链接不可用则代表对应时间没有数据。理论完成下面开始实践。
图十、GEMS数据不同日期的下载时间与URL对比
批量获取下载链接
首先需要写一个代码,批量获取研究时间段内的下载链接。我基于python写了一段简单的代码。这个代码需要修改的地方有,你的研究时间区间,你的URL,在代码中都有注释。链接默认输出在你代码存放的文件夹中。
from datetime import datetime, timedelta
# 初始日期和时间,年,月,日,小时,分钟
start_time = datetime(2024, 5, 31, 1, 45)
# 结束日期
end_time = datetime(2024, 6, 30, 7, 45)
# 保存链接的文件路径
output_file = 'links.txt'
# 开始生成链接
with open(output_file, 'w') as f:
current_time = start_time
while current_time <= end_time:
for hour in range(1, 8): # 需要的时间段,我这里选择每天的1到7点
# 修改当前时间
current_time = current_time.replace(hour=hour)
# 格式化日期和时间
formatted_date = current_time.strftime('%Y%m%d%H%M')
# 构造链接
link = f"https://nesc.nier.go.kr:38032/api/GK2/L2/HCHO/data/getFileItem.do?date={formatted_date}&key=your API-Key\n"#先获得一个URL链接,然后把API-Key输入
# 写入文件
f.write(link)
# 移动到下一天
current_time += timedelta(days=1)
print(f"Links have been saved to {output_file}")
图十一、批量生成的链接
IDM下载
关于IDM的下载与使用,本文不再做过多的描述,百度、知乎和CSDN等中都有相关博客。
把链接导入到IDM中。然后开始队列,开始批量下载。