爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 21805|回复: 13

ncl站点资料做EOF

[复制链接]

新浪微博达人勋

发表于 2019-9-13 17:22:15 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
我想请问,ncl使用站点资料来做EOF分析,思路步骤应该是这怎样?ncl小白有点懵,毫无头绪,请各位大佬指点,就是简单说一下最开始应该做什么,然后是要做什么之类的,这问题困惑一段时间了,查了网站也不太明白,拜托各位了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-10-24 12:21:00 | 显示全部楼层
本帖最后由 MgLily 于 2019-10-24 12:23 编辑
qxlong 发表于 2019-10-24 11:22
得到evecv的结果之后,是可以直接画图,不需要插值了是吗?还有就是,后面我画图出现了这些问题,可以帮 ...

不可以的,得到的结果是站点数据,你要是想用gsn_csm_contour_map函数的话,需要的数组是格点经纬度的二维数组。

;---------------------使用natgrid进行插值---------------------------
latN = 55.                          ;中国区域(你要插值的范围)
latS = 15.
lonW = 70.
lonE = 140.

dlt = 0.5                           ;插值格点精度
latnum =floattoint(180/dlt)+1       ;纬度格点数
lonnum =floattoint(360/dlt)         ;经度格点数
latitude =latGlobeF(latnum,"lat","latitude","degrees_north")
longitude=lonGlobeF(lonnum,"lon","longitude","degrees_east")

lat=latitude({latS:latN})    ;截取插值范围格点
lon=longitude({lonW:lonE})

nlat=dimsizes(lat)
nlon=dimsizes(lon)

griddata=new((/nlat,nlon/),"float")   

griddata(:,:,:)=natgrid(lats,lons,evecv(:,:),lat,lon) ;站点数据插值,lats,lons是要插值的站点的经纬度信息,你得到的是griddata(模态,lat,lon)这样的数组
griddata!0="lat"
griddata&lat=lat
griddata!1="lon"
griddata&lon=lon
密码修改失败请联系微信:mofangbao
回复 支持 2 反对 0

使用道具 举报

新浪微博达人勋

发表于 2019-10-22 12:47:45 | 显示全部楼层
本帖最后由 MgLily 于 2019-10-24 12:27 编辑

思路的话,先分析,从EOF分析的这个函数eofunc_Wrap (x,neval,False)出发,将你想分析的数据变成这个函数需要的data形式,即时间维总是在最右边,data(sta | :,time | :),设置好参数,用函数出结果evecv(evn|:,sta|:),然后再考虑怎么表示这个结果(画图)。
密码修改失败请联系微信:mofangbao
回复 支持 0 反对 1

使用道具 举报

新浪微博达人勋

发表于 2019-10-21 20:58:28 | 显示全部楼层
一样的呀,都是用eofunc_Wrap函数
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-10-22 12:39:34 | 显示全部楼层
这个是官网的站点EOF例子http://www.ncl.ucar.edu/Applications/Scripts/eof_0.ncl
EOF分析的函数一般用eofunc_Wrap,你可以去官网看看这个函数的解释
以及论坛上也有很多例子的,可以搜搜看
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-10-23 18:57:03 | 显示全部楼层
MgLily 发表于 2019-10-22 12:47
思路的话,先分析,从EOF分析的这个函数eofunc_Wrap (x,neval,False)出发,将你想分析的数据变成这个函数需 ...

好的好的,谢谢你
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-10-23 18:59:27 | 显示全部楼层
MDAmike 发表于 2019-10-21 20:58
一样的呀,都是用eofunc_Wrap函数

好的,我先试试
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-10-24 11:22:16 | 显示全部楼层
本帖最后由 qxlong 于 2019-10-24 11:32 编辑
MgLily 发表于 2019-10-22 12:47
思路的话,先分析,从EOF分析的这个函数eofunc_Wrap (x,neval,False)出发,将你想分析的数据变成这个函数需 ...

得到evecv的结果之后,是可以直接画图,不需要插值了是吗?还有就是,后面我画图出现了这些问题,可以帮我看看吗?
图一是报错,图二是printVarSummary(evecv)的结果,图三图四是部分程序img]file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\1095312682\QQ\WinTemp\RichOle\I9NO2@QITD@{D`}LDM[MPXV.png[/img][img]file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\1095312682\QQ\WinTemp\RichOle\B%2}N45ENL80F3)RH09Y5@N.png[/img]file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\1095312682\QQ\WinTemp\RichOle\82I7WQBU()XUKG%ARGXU4QS.png
82I7WQBU()XUKG%ARGXU4QS.png
B%2}N45ENL80F3)RH09Y5@N.png
I9NO2@QITD@{D`}LDM[MPXV.png
0ZI_4WCVNP%XY(6UG)$RE}O.png
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-4-13 10:19:42 | 显示全部楼层
第一个要设置变量维度名称和属性
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-4-25 10:35:14 | 显示全部楼层
感谢感谢,非常有用
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表