爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 12675|回复: 9

[程序设计] 用Matlab分析西太平洋副高脊线位置与中国东部整层向北水汽通量的相关性

[复制链接]

新浪微博达人勋

发表于 2020-7-7 11:25:42 | 显示全部楼层 |阅读模式

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

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

x
资料说明:
    ERA5再分析资料1980—2016年6月中国大陆范围整层向北水汽通量;
    6月份西太平洋副高脊线位置,国家气候中心提供。

画图说明:
   由Matlab计算中国大地范围6月整层向北水汽通量和6月西太平洋副高脊线Pearson相关系数,将结果保存为txt格式,然后再手动添加相关信息,再将文件格式txt改为grd即可,用Surfer画图。

代码:
  1. %读取6月向北水汽通量nc文件,1980-2016年37年,经度60-150,纬度10-65,计算其与Elnio34区海温指数的相关系数,版本2019a

  2.                                              
  3. InPath = 'C:\Users\LENOVO\Desktop\shuiqitongliang.nc'; %设置nc文件路径,保存在桌面方便处理
  4. ncdisp(InPath) ;                                       %获取所读取nc文件的基本信息

  5. varname2 = 'p72.162';                              %命名变量名称:向北水汽通量p72.162,其他nc文件自行修改,经度60-150,纬度10-65,时间1980-2016年6月,361*221*37(lon*lat*time)
  6. start = [1,1,1];                                          %创建start变量,每一维开始读取的位置,从每一维第1个开始读取
  7. locount = 361; lacount = 221; ticount = 37;  %设置每一维要读取的格点数,这里是经纬度全部读取,时间也全部读取
  8. count = [locount,lacount,ticount];                 %创建count变量,从每一维的start开始读取的总数目
  9. stride1 = [1,1,1];                                            %设置读取的步长,这里是每一维每个格点都读取
  10. p72data=ncread('C:\Users\LENOVO\Desktop\shuiqitongliang.nc',varname2,start,count,stride1);      %开始读取nc文件




  11.                                                                                                                  %计算Pearson相关系数
  12. Elni=xlsread('C:\Users\LENOVO\Desktop\34quhaiwen.xls');                %读取Elnino34区海温xls数据,按列保存,单列即可,不需要时间列
  13. len=length(Elni);                                                                                      %读取Elnino34区海温数据年数
  14. p72data_1=p72data(:,:,1:end);                                          
  15. Elni_1=Elni(1:end);

  16. for i=1:361
  17.     for j=1:221
  18.         xbtl=reshape(p72data_1(i,j,:),37,1);                                %将向北水汽通量3维矩阵转为37列,每列为1年各个格点的值
  19.         [r_temp,t_temp]=corrcoef(xbtl,Elni_1);                            %计算各个格点与Elni34区海温相关系数
  20.         r(i,j)=r_temp(1,2);   
  21.         t(i,j)=t_temp(1,2);
  22.     end
  23. end
  24. r=rot90(r);                                                               %将计算得到的相关系数矩阵旋转顺时针旋转90度,方便画图处理                                         
  25. t=rot90(t);
  26. rdazhi=max(max(r));                                               %统计最大值和最小值,方便存为grd文件,用Surfer画图处理
  27. rxiaozhi=min(max(r));
  28. tdazhi=max(max(t));
  29. txiaozhi=min(min(t));
  30.     save rfile.txt -ascii r;                                               %将相关系数保存为txt文件
  31.     save tfile.txt -ascii t;
复制代码





本帖被以下淘专辑推荐:

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2020-7-7 20:39:44 | 显示全部楼层
你这个代码是不是改的别人的  感觉很多语句没啥用
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 成长值: 32430
发表于 2020-7-8 09:04:16 | 显示全部楼层
不太能理解最后为啥子还要导出之后用别的软件画图
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-7-8 09:13:15 | 显示全部楼层
请问ERA5有水汽通量这个变量吗?是直接下载还是自己计算出的?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-7-8 10:39:06 | 显示全部楼层
wjy_ecnu 发表于 2020-7-7 20:39
你这个代码是不是改的别人的  感觉很多语句没啥用

是改的别人的,有些代码可以更精简一些
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-7-8 10:51:30 | 显示全部楼层
mushroom111 发表于 2020-7-8 09:13
请问ERA5有水汽通量这个变量吗?是直接下载还是自己计算出的?

有的,有整层积分数据,还有各层次数据,很多可以选择
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-7-8 17:04:29 | 显示全部楼层
rabialee 发表于 2020-7-8 10:51
有的,有整层积分数据,还有各层次数据,很多可以选择

可否问楼主求个链接?我自己在网站上没有找到
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-7-14 11:26:22 | 显示全部楼层
mushroom111 发表于 2020-7-8 17:04
可否问楼主求个链接?我自己在网站上没有找到

https://cds.climate.copernicus.e ... thly-means?tab=form
ERA5的数据下载页面,具体变量去里面找,整层水汽积分在Vertical integrals里面
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-7-27 09:52:33 | 显示全部楼层
请问一下为什么在后面需要顺时针旋转90度呢?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-8-3 22:21:37 | 显示全部楼层
mushroom111 发表于 2020-7-8 09:13
请问ERA5有水汽通量这个变量吗?是直接下载还是自己计算出的?

直接下载,有南北向和东西向整层的;也可以自己算
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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