爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 20280|回复: 8

[程序设计] nc数据全解读-3 数据处理:月数据变季度数据,年数据,数据标准化

[复制链接]

新浪微博达人勋

发表于 2020-3-22 11:26:48 | 显示全部楼层 |阅读模式

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

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

x

nc数据全解读-3  数据处理:月数据变季度数据,年数据,数据标准化

直接看附件,太麻烦了传图

ncdisp('air.mon.mean.nc');

ncdisp之后发现air数据是从19481月至20201月共865个月的逐月数据,此时,若是需要1948-2020年北京区域(E115-117.5,N37.5-40)冬季的数据,定义1212为冬季,则共71个冬季,因为19年冬季缺20202月份数据。。。

思路:先将1948年冬季-2018年冬季共213个月挑出来,再每三个月求平均,即可得到71年冬季平均数据。

%读取air数据 只有一层,且范围是全球】

1.1月数据变季度数据,

lat=ncread('air.mon.mean.nc','lat');

lon=ncread('air.mon.mean.nc','lon');

time=ncread('air.mon.mean.nc','time');

air=ncread('air.mon.mean.nc','air');


%读取北京地区865个月温度数据

bjair=air(47:48,21:22);%

for i=1:1:865;

bjair=squeeze(air(47:48,21:22,i));%bjair是第865个月的北京区域数值,前面864个数值被覆盖了

beijing(i,:)=reshape(bjair,1,4);%将三维变量变为二维

end

%先将冬季月数据挑选出来

Y=zeros(213,4);%先设置数组,等待填充,865个月共有71个冬季,213个月,北京地区只有4个数据点

for i=1:71;

  Y(3*(i-1)+1:3*i,:)=beijing(12*i:12*i+2,:);%挑选12*1行至12*1+2行,也就是第12-14行(194812-次年2月)数据填充到1-3行。。。直至挑选12*7112*71+2行(201812-次年2月)填充到211-213行(71年,所以是213个数据)

End

%季度数据

%213行数据每3年求平均变为71年冬季平均地面温度

airyear=zeros(71,4);

for i=1:3:213;

airyear((i+2)/3,:)=(Y(i,:)+Y(i+1,:)+Y(i+2,:))/3;

end


1.2月数据变年数据

%将月数据变为年数据

lat=ncread('air.mon.mean.nc','lat');

lon=ncread('air.mon.mean.nc','lon');

time=ncread('air.mon.mean.nc','time');

air=ncread('air.mon.mean.nc','air');


%读取北京地区865个月温度数据

bjair=air(47:48,21:22);%

for i=1:1:865;

bjair=squeeze(air(47:48,21:22,i));%bjair是第865个月的北京区域数值,前面864个数值被覆盖了

beijing(i,:)=reshape(bjair,1,4);%将三维变量变为二维

end


airyear2=zeros(71,4);

for i=1:3:213;

airyear2((i+2)/3,:)=(beijing(i,:)+beijing(i+1,:)+beijing(i+2,:)+beijing(i+3,:)+beijing(i+4,:)+beijing(i+5,:)+beijing(i+6,:)+beijing(i+7,:)+beijing(i+8,:)+beijing(i+9,:)+beijing(i+10,:)+beijing(i+11,:))/12;


end

2数据标准化

注意,进行数据标准化是因为将温度变为无量纲数,然后才能跟别的数据,如850hpa高度数据进行进一步相关分析、eof、svd等分析,

ncstudy3.m

1.12 KB, 下载次数: 33, 下载积分: 金钱 -5

nc数据全解读-3 数据处理:月数据变季度数据,年数据,数据标准化.docx

526.71 KB, 下载次数: 71, 下载积分: 金钱 -5

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

新浪微博达人勋

发表于 2020-3-23 14:29:17 | 显示全部楼层
还没入门的菜鸟谢谢楼主的分享,感谢
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-3-23 20:19:12 | 显示全部楼层
--惊鸿- 发表于 2020-3-23 14:29
还没入门的菜鸟谢谢楼主的分享,感谢


我也就会这些,后面接着学习
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-3-24 13:54:38 | 显示全部楼层
相关分析之前是不用标准化的,eof之类的矩阵分解也不是都要标准化,有些只要距平即可
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-3-25 09:01:03 | 显示全部楼层
膘膘 发表于 2020-3-24 13:54
相关分析之前是不用标准化的,eof之类的矩阵分解也不是都要标准化,有些只要距平即可

.....谢谢指点.....
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-4-6 17:07:31 | 显示全部楼层
谢谢分享,正好需要
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-4-13 08:29:11 | 显示全部楼层
感谢
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2021-10-1 11:10:17 | 显示全部楼层
代码里乱码
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-11-16 10:39:58 | 显示全部楼层
不需要这么麻烦处理nc文件,cdo了解一下,都是一行命令就解决的事儿,完爆Matlab, R语言,还有Python
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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