爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 9750|回复: 17

EOF分解平均值和距平值的结果一样

[复制链接]

新浪微博达人勋

发表于 2018-11-13 17:11:38 | 显示全部楼层 |阅读模式

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

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

x
这两天做EOF分解发现一个问题。先用原始数据做了一次EOF分解,再用dim_rmvmean_n_Wrap这个函数求数据的距平值再做一次EOF分解,两次的结果一样,有点不理解怎么会出现这样的结果。想问下有人遇到过这样的情况吗?
下面是处理数据和EOF的NCL脚本
f0 = addfile("precip.mon.mean.2.5x2.5.nc","r")
    vname = getfilevarnames(f0)
  print(vname)
  ;exit

  yrStrt = 1958
  yrLast = 2013
  TIME   = f0->time
  YYYY   = cd_calendar(TIME,-1)/100                 ; entire file
  iYYYY  = ind(YYYY.ge.yrStrt .and. YYYY.le.yrLast)
  prep    = f0->precip(iYYYY,:,:)
  printVarSummary(prep)
   
;prep = dim_rmvmean_n_Wrap(prep,0)
Prep = month_to_season(prep(:,{0:60},{100:160}),"JJA")
nyrs   = dimsizes(Prep&time)

  w = sqrt(cos(0.01745329*Prep&lat))
  wp = Prep*conform(Prep, w, 1)
  copy_VarCoords(Prep, wp)
  x = wp(lat|:,lon|:,time|:)

  optEOF = True      
  optEOF@jopt = 0  
  eof1 = eofunc_Wrap(x, 2, optEOF)
  eof = eof1*10
  copy_VarCoords(eof1, eof)
  ;optEOF=True
  ;optEOF@jopt = 1
  sig_pcv = eofunc_north(eof@pcvar, nyrs, False)
  eof_ts = eofunc_ts_Wrap(x, eof, False)
  eof_ts = dim_standardize_n(eof_ts, 1, 1)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-11-15 10:59:16 | 显示全部楼层

eofunc_Wrap用ncl的这个函数。昨天做过的同学告诉我ncl函数会自动把元数据计算距平再做eof分解,如果元数据是距平就直接做分解。
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2018-11-13 19:31:25 | 显示全部楼层
有人遇到过这个问题吗
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-11-14 15:54:28 | 显示全部楼层
@Aires @言深深 麻烦两位大大帮忙看看,谢谢啦
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2018-11-14 22:45:21 | 显示全部楼层
你怎么做eof的?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2018-11-16 13:16:30 | 显示全部楼层
刘勇的下铺 发表于 2018-11-15 10:59
eofunc_Wrap用ncl的这个函数。昨天做过的同学告诉我ncl函数会自动把元数据计算距平再做eof分解,如果元数 ...

是的,据我所知也是,ncl的函数默认是先距平,再分解的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2018-11-16 13:16:35 | 显示全部楼层
刘勇的下铺 发表于 2018-11-15 10:59
eofunc_Wrap用ncl的这个函数。昨天做过的同学告诉我ncl函数会自动把元数据计算距平再做eof分解,如果元数 ...

是的,据我所知也是,ncl的函数默认是先距平,再分解的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-11-17 15:12:43 | 显示全部楼层
我用站点数据做eof,距平和原数据的结果是一样的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-11-17 20:40:37 | 显示全部楼层
言深深 发表于 2018-11-16 13:16
是的,据我所知也是,ncl的函数默认是先距平,再分解的

那应该是这样了。还想问下版主有没有做过矢量的EOF分解,我现在分别对U,V做EOF分解,然后把分解的结果用画流线的方法进行合成,不知道对不对。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-11-17 20:43:00 | 显示全部楼层
笨拙的土豆 发表于 2018-11-17 15:12
我用站点数据做eof,距平和原数据的结果是一样的

用NCL的EOF函数,得到的结果是一样的。如果是距平数据函数会直接进行分解,是原始数据函数会先计算距平在进行分解。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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