North American Multi-Model Ensemble (NMME)保姆级数据下载与简单介绍

前言

North American Multi-Model Ensemble (NMME) 多模式集成系统,可用于季内-年际(ISI)预报。详细参考文献可见《THE NORTH AMERICAN MULTIMODEL ENSEMBLE》(2014, BAMS)。但是这个数据的下载和使用,对于第一次接触的人(比如我), 是真的有点摸不着头脑。经过几天整理才大概给弄明白。

下载

网站:https://iridl.ldeo.columbia.edu/SOURCES/.Models/.NMME/

North American Multi-Model Ensemble (NMME)保姆级数据下载与简单介绍_第1张图片

其中有不同的模式,有些模式提供了历史回报数据(Hindcast)实时预报数据(Forecast),有些仅提供实时预报数据(Forecast)数据,这两个数据只是预报时间不一样,数据结构都是类似的,以下载历史回报数据(Hindcast)为例 (以CanCM4i模式为例,其他模式类似):

North American Multi-Model Ensemble (NMME)保姆级数据下载与简单介绍_第2张图片
North American Multi-Model Ensemble (NMME)保姆级数据下载与简单介绍_第3张图片

North American Multi-Model Ensemble (NMME)保姆级数据下载与简单介绍_第4张图片

North American Multi-Model Ensemble (NMME)保姆级数据下载与简单介绍_第5张图片
North American Multi-Model Ensemble (NMME)保姆级数据下载与简单介绍_第6张图片
North American Multi-Model Ensemble (NMME)保姆级数据下载与简单介绍_第7张图片
North American Multi-Model Ensemble (NMME)保姆级数据下载与简单介绍_第8张图片
North American Multi-Model Ensemble (NMME)保姆级数据下载与简单介绍_第9张图片

NCL脚本:

ncl在windows上安装稍微复杂一点,推荐在linux上直接pip install ncl

安装完直接运行下面这个脚本即可下载了

load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"
begin


f = addfile("http://iridl.ldeo.columbia.edu/SOURCES/.Models/.NMME/.CanSIPS-IC3/.HINDCAST/.MONTHLY/.prec/99999/setmissing_value/dods","r")
precipitation = f->prec
printVarSummary(precipitation)
; ============================ 写入nc文件 =====================================
S = dimsizes(precipitation&S)
M = dimsizes(precipitation&M)
L = dimsizes(precipitation&L)
Y = dimsizes(precipitation&Y)
X = dimsizes(precipitation&X)
system("/bin/rm -f "+"/data/Hindcast/CanCM4i/precipitation.nc")
fout = addfile("/data/Hindcast/CanCM4i/precipitation.nc","c")
setfileoption(fout,"DefineMode",True)
dimNames = (/"S","M","L","Y","X"/)
dimSizes = (/ S, M, L, Y, X/)
dimUnlim = (/False,False,False,False,False/)
filedimdef(fout,dimNames,dimSizes,dimUnlim)

filevardef(fout,"S", typeof(precipitation&S), getvardims(precipitation&S))
filevardef(fout,"M", typeof(precipitation&M), getvardims(precipitation&M))
filevardef(fout,"L", typeof(precipitation&L), getvardims(precipitation&L))
filevardef(fout,"Y", typeof(precipitation&Y), getvardims(precipitation&Y))
filevardef(fout,"X", typeof(precipitation&X),getvardims(precipitation&X))
filevardef(fout,"prec", typeof(precipitation),getvardims(precipitation))

filevarattdef(fout,"S", precipitation&S)
filevarattdef(fout,"M", precipitation&M)
filevarattdef(fout,"L", precipitation&L)
filevarattdef(fout,"Y", precipitation&Y)
filevarattdef(fout,"X", precipitation&X)
filevarattdef(fout,"prec", precipitation)
setfileoption(fout,"DefineMode",False)

fout->S = (/precipitation&S/)
fout->M = (/precipitation&M/)
fout->L = (/precipitation&L/)
fout->Y = (/precipitation&Y/)
fout->X = (/precipitation&X/)
fout->prec = (/precipitation/)


end

你可能感兴趣的:(数据库)