era5数据内容说明_python数据处理⽓象数据的常⽤格式以及
处理⽅法
  这次我们来简单了解下⽓象数据常⽤的格式以及处理的⼯具,常⽤的数据格式包括普通的⼆进制格式、⽂本数据、NetCDF、HDF4/5以及GRIB1/2数据。我们可以利⽤编程语⾔例如python、matlab以及c语⾔,根据数据的说明⽂档或者相应的数据api开发⽂档进⾏读取,此外我们也可以根据提供的command命令⾏进⾏⾼效提取数据。
⼆进制⽂件和⽂本数据floor怎么读音发音
  ⽓象中的⼆进制⽂件是指利⽤ASCII及扩展ASCII字符编写的数据或程序指令的⽂件,⼀般没有格式,⽤⽂本编辑器打开只能看到⽆意义的乱码,需要特定的解码说明才能使⽤,例如⽓象雷达的数据;⽂本数据的以记录的形式存在,每⼀条记录是以ASCIIVS的回车符
CR(OD)加换⾏符LF(OA)来结束的,可以⽤⽂本编辑器查看,但也需要变量的说明⽂档,例如NOAA提
供的ghcn以及isd数据都需要进⾏处理提取数据
IR000407540.dly ⽂本数据  IR000407540194406PRCP  -9999  -9999      10  S    0  S-9999  -9999  -9999  -9999  -9999  -9999  -9999  -9999  -9999  -9999  -9999  -9999  -9999  -9999  -9999  -9999  -9999  -9999  -9999  -9999  -9999  -
python
With open("IR000407540.dly") as file:
lines = adlines()
for line in lines:
if (line[17:21] == "PRCP"):
SID = line[0:11]
YEAR_MON = line[11:17]
linux/unix  cat IR000407540.dly | awk -F'  ' '{print($1)}'
NetCDF(Network Common Data Form)
  NetCDF数据是常⽤的⽓象和卫星数据存储的数据格式,结构形式包含维数、变量、属性和数据四个⼦域,前⼏期有过利⽤python对netCDF数据处理的介绍,有感兴趣的同学可以关注查看历史精彩⽂章使⽤python处理NetCDF格式⽂件,这⾥介绍⼤家利⽤CDO如何处理netCDF格式的⽂件
  CDO(Climate Data Operators)是⽤来处理⽓候数据的命令⾏的集合,⽀持netCDF3/4以及Grib1/2数据格式,常⽤功能:
cdo   ###查看⽂件信息
cdo -f grb a.grb
cdo -f nc ###grb和nc⽂件转换
cdo mergetime * ###合并netCDF⽂件
cdo -selyear,2019 -selmonth,01 -selday,25 -seltime,08:00 -remapnn,lon=121_lat= ###选择特定时间特定点的数据
cdo -outputtab,loa,lat,date, > a.txt ###以表格形式江nc⽂件输出
#python调⽤cdo气象python零基础入门教程
from cdo import *
cdo=Cdo()
cdo.infov(input=ifile)
cdo.showlevel(input=ifile)
GRIB1和GRIB2⽂件
  GRIB(GRIdded Binary)和GRIB2(General Regularly-distributed Information in Binary Form)是与计算机⽆关的压缩的⼆进制编码,主要⽤来存放数值天⽓分析和预报产品资料。处理grib⽂件的常⽤⼯具包pygrib,Grib格式数据处理有详细介绍,gribapi也⾃带python接⼝,可以通过ECMWF提供的ecCodes或cgrib安装包进⾏安装使⽤。此外利⽤wgrib以及wgrib2命令⾏⼯具也可以⾼效处理grib ⽂件。
###wgrib2命令⾏
wgrib2 -d b2 - ###将grib⽂件转位nc⽂件
b2 -d 1 -s -lon 249 39 -lon 255 33 ###提取过后经纬度点的数值
b2 -set_grib_type c2 -small_grib 109:110 35:37 b2 ###将⽂件裁剪到中国区域范围
###eccodes包
import eccodes
import gribapi
with GribFile(filename) as grib:
len(grib)
for msg in grib:
print(msg[key_name])
###cfgrib包
import cfgrib
ds = cfgrib.open_file('ib')
ds.attributes['GRIB_edition']
md编辑器是什么###利⽤xarray和cfgrib直接读取为数组
import xarray as xr
ds = xr.open_dataset('ib', engine='cfgrib')
HDF、HDF-EOS、HDF5和HDF-EOS5
  HDF(Hierarchical Data Format)数据格式是⼀种具有⾃描述性、可扩展性、⾃我组织形的数据存储格式。HDF5数据克服了HDF4的不⾜,可以⽀持超过2G⼤⼩的⽂件,以及并⾏I/O;HDF-EOS是NASA开发专门处理EOS产品,可以有效的存储地理定位数据。HDF、HDF-EOS、HDF5和HDF-EOS5数据多⽤于卫星资料的存储和发布。
###读取NASA AIRS HDF-EOS2⽂件
from pyhdf.SD import SD, SDC
# Open file.
FILE_NAME = 'AIRS.2002.08.01.L3.RetStd_H031.v4.0.21.0.G06104133732.hdf'
with SD(FILE_NAME, SDC.READ) as hdf:
# List available SDS datasets.
print(hdf.datasets())
# Read dataset.
线程和进程的概念
DATAFIELD_NAME='RelHumid_A'
data3D = hdf.select(DATAFIELD_NAME)
data = data3D[11,:,:]
# Read geolocation dataset.
lat = hdf.select('Latitude')
latitude = lat[:,:]
lon = hdf.select('Longitude')
longitude = lon[:,:]
###读取 OMI L3 version 2 product HDF-EOS5的数据
import h5py
FILE_NAME = 'OMI-Aura_L3-OMTO3e_2005m1214_v002-2006m0929t143855.he5' DATAFIELD_NAME = '/HDFEOS/GRIDS/OMI Column Amount O3/Data Fields/ColumnAmountO3' with h5py.File(FILE_NAME, mode='r') as f:
#List available datasets.
print(f.keys())
# Read dataset.
dset = f[DATAFIELD_NAME]
data = dset[:]
matlab编程第二版数据下载 | 探空数据⾃动下载&可视化基础
学习资源 | ⼤⽓所夏江江⽼师:机器学习在⼤⽓科学中的应⽤(视频)
通达oa2019
QGIS下载天地图各省⽮量数据
Python可视化 | Seaborn经济学⼈经典图表仿制数据处理·机器学习·可视化
⾏业资讯·学习资料
长按关注不迷路

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。