下载数据
1、进入风云卫星遥感数据服务网 https://satellite.nsmc.org.cn/PortalSite/Default.aspx,登录账号,如无则需实名注册
2、点击数据 -> 数据下载 -> 风云二号/FY2H/VISSR/产品 -> 总云量(CTA)-> 9210格式总云量数据 -> 选择需要的时间段 -> 搜索
3、勾选想要的时间数据,或者点击全选,后进入购物车
4、提交订单,会到回调过程,等待回调完成,一般半个小时多一些
5、回调完成后,进入我的订单,点击下载,便会出现ftp文件,可单击下载,也可以利用浏览器的downthemall插件,批量化下载所有的ftp文件
处理数据
处理数据的代码来自https://github.com/wqshen/AwxReader
我自己改了一些,删除了一些画图和转换nc文件,添加了批量处理,并将云量写入data.txt
# -*- coding: utf-8 -*-
import os
import numpy as np
from struct import unpack
from datetime import datetime, timedelta
class AwxGridField(object):
"""AWX grid field file reader 9210"""
def __init__(self, pathfile, lat, lon, autoload=True):
self._variable_dict()
self.pathfile = pathfile
self.tlat = lat
self.tlon = lon
self._deconstruct_filename()
self.file = open(pathfile, 'rb')
self._load_head_level1()
self._load_head_level2()
self._contruct_coords()
if autoload: self._load()
def __repr__(self):
"""print file info"""
s = ['=========文件信息=========\n']
for k in self._head_level1.keys():
s.append('{}: {}\n'.format(self._head_level1[k], self.head_level1[k]))
s.append('------------\n')
for k in self._head_level2.keys():
s.append('{}: {}\n'.format(self._head_level2[k], self.head_level2[k]))
return ''.join(s)
def __getitem__(self, item):
if isinstance(item, slice):
return self.lon, self.lat[self._reconstruct_lat_slice(item)], self.data[self._reconstruct_lat_slice(item)]
elif isinstance(item, tuple) and isinstance(item[0], slice):
slice_lon = self._reconstruct_lon_slice(item[1])
slice_lat = self._reconstruct_lat_slice(item[0])
return self.lon[slice_lon], self.lat[slice_lat], self.data