《海洋数据处理及可视化》课程实习报告
气压层的气温·降水量·气压·海表温度相关性的初步探讨————以北纬30°为例
专 业:海洋科学(物理海洋)
学 号:
姓 名:
指导老师:
时 间:二零##年一月九日
我对网上下载的数据通过粗糙的处理,大体上了解海洋表面以及海上的大气层温度、降水量、气压、海表温度(sst)之间的相关性。即:气压层850m的气温和海表温度(sst)负相关,相关系数约为-0.2773。降水量和海表温度(sst)负相关,相关系数约为-0.3555。(北纬30°)
想要全面的了解占地球面积71%的海洋,就得先把握它控制物理变化的各种要素,及要素之间的相互关系。目前,能够利用各种手段几乎全方位,全天时的获得海平面以上及其大气的各种相关物理要素,对研究海洋和大气有至关重要的作用。利用获取的相关数据对其分析处理,是研究海洋的重要手段。本次实习数据是由:NOAA Earth System Research Laboratory
网站下载NCEP数据,网址:http://www.esrl.noaa.gov/psd/data/gridded/;本实验用到的数据有:air.mon.mean、slp.mon.mean.、sst.mean.、pr_wtr.eatm.mon.mean;
1、计算1982年——20##年平均的气压层的气温、将水量、海表气压、海表温度。绘制全球这些量分别分布及其变化。
2、以北纬30°为例进行相关性假设并且试图用相关性函数计算证明猜想。
3、最终通过分析数据得出结论。
绘制全球这些量分别分布及其变化。如下图所示:
为了能更加清楚的了解平均海表气压,我们将海表气压的图单独拿出来;如下:
从全球1982年——20##年平均的气压层的气温、将水量、海表温度可以看出,这些变量沿着纬线变化不大,主要在经度方向由于太阳辐射不均匀变化很显著。大气层温度,降水,sst的最大量几乎都集中在南北纬30°,径向并且依次向东太平洋海域递减。我猜想他们之间有很大的相关性;对于海表平均气压,它是大气层温度最直接的反馈(理想气体状态方程:PV=nRT),从最直观上想,它应该和降水量,sst通过温度的纽带最用应该也有很大的相关性。单从上面1982——20##年平均海表气压的这张图上面来看,东太平洋地区明显比西太平洋地区的气压高,(沃克环流),温度高的海洋加热大气向东跑,东部高压大气向西跑。在大气迁移的过程中又会有降水,大气温度,海表面温度的变化。
这四个量之间相互影响,但到底从在什么样的相关行呢?我们以北纬30°为例来讨论研究。
1、选择北纬30°的原因:
在这一纬度有两个高压,可以相对将准确的研究海表气压与其他三个量之间的关系;北纬30°是太阳直射的最北端,就平均太阳辐射而言四季变化现对较明显,更加有利于在不同太阳辐射量之下比较,得出更有说服力的相关性研究结论;要研究的四个变量的变化明显,这一纬度陆地面积最多,结论对生产生活来说更有实用性。
2、从直观上观察这四个两之间的关系:
1)大气层气温(850m,500m,250m高度)和SST的关系:(如下图所示)
从图上大概可以了解到:850m大气温度和SST呈负相关;500m大气温度和SST呈负相关;250米大气温度和SST负相关性不太明显。
2)降水量和海表气压的关系(如下图所示):
从图上大概可以得知:随着经度的变化降水量的最高值总是出现在气压最高值以西,降水量最低值总是出现在气压最低值以东。
3)SST和250m高度的大气温度的关系(如下图所示):
从上图看不出明显的相关性。
3、分别计算:降水量和海表气压、大气层温度和SST、降水量和SST、大气层500m气温和降水量的相关性(计算函数(corrcoef))(如下表所示):
相关性的计算
4、结果分析:
从上表可以看出:
1)气压层850m的气温和海表温度(sst)负相关,相关系数约为-0.2773;降水量和海表温度(sst)负相关,相关系数约为-0.3555。
2)降水量和海表气压有关;气压层500m的气温和降水量有关;
计算得出的结论和画图从图中观察得出的结论大体上一直;而计算得到的更加真实可靠,通过对北纬30°二十八年的数据做平均再做相关性的计算还是具有一定的可信度。但是通过计算得到的结论我还是有几个问题不是很明白:
1、降水量为什么和SST呈负相关?(虽然相关系数绝对值不是很大)
2、为什么大气层250m温度和SST相关性不大,但是800m大气层温度和SST呈现较明显的负相关。
1、路漫漫其修远兮,吾将上下而求索。
2、纸上得来终觉浅,绝知此事要躬行。
3、这次实习收获确实不小,学到了很多,为毕业论文打了较好的基础。
%% 全球的气温,sst,降水,气压。
%% start
clear,clc,clf
%% open nc files:气温,sst,降水,气压。
fair=netcdf('air.mon.mean.nc','nowrite');
fsst=netcdf('sst.mnmean.nc','nowrite');
fpr_wtr=netcdf('pr_wtr.eatm.mon.mean.nc','nowrite');
fpr_wtr=netcdf('pr_wtr.eatm.mon.mean.nc','nowrite');
fslp=netcdf('slp.mon.mean.nc','nowrite');
%% data:
%北纬30°的850,500,250米的气压层的气温。
air250=squeeze(fair{'air'}(:,9,:,:)*fair{'air'}.scale_factor+fair{'air'}.add_offset);
%北纬30°的sst。
sst=squeeze(fsst{'sst'}(1:361,:,:)*fsst{'sst'}.scale_factor+fsst{'sst'}.add_offset);
%北纬30°的降水量。
pr_wtr=squeeze(fpr_wtr{'pr_wtr'}(:,:,:)*fpr_wtr{'pr_wtr'}.scale_factor+fpr_wtr{'pr_wtr'}.add_offset);
%北纬30°的气压量。
slp=squeeze(fslp{'slp'}(:,:,:)*fslp{'slp'}.scale_factor+fslp{'slp'}.add_offset);
%所有的时间(1981_2010)平均。
air250_m=squeeze(mean(air250));
sst_m=squeeze(mean(sst));
pr_wtr_m=squeeze(mean(pr_wtr));
slp_m=squeeze(mean(slp));
%经度
LON=fair{'lon'}(:);
LAT=fair{'lat'}(:);
lon=fsst{'lon'}(:);
lat=fsst{'lat'}(:);
lonp=fpr_wtr{'lon'}(:);
Latp=fpr_wtr{'lat'}(:);
lons=fslp{'lon'}(:);
lats=fslp{'lat'}(:);
%% 1982_2010年250m高度平均温度
subplot(2,2,1)
[xx,yy]=meshgrid(LON,LAT);
m_proj('hammer','clong',180);
m_pcolor(xx,yy,air250_m)
hold on
shading interp;
colormap(jet)
h=colorbar;
hold on
m_grid('xtick',[],'ytick',[],'linestyle','-');
m_coast('patch','g');
set(get(h,'xlabel'),'string','1982——20##年250m高度平均温度');
%% 1982_2010年平均sst。
subplot(2,2,2)
[xx,yy]=meshgrid(lon,lat);
m_proj('hammer','clong',180);
m_pcolor(xx,yy,sst_m)
hold on
shading interp;
colormap(jet)
h=colorbar;
hold on
m_grid('xtick',[],'ytick',[],'linestyle','-');
m_coast('patch','g');
set(get(h,'xlabel'),'string','1982——20##年平均sst');
%% 1982_2010年平均降水
subplot(2,2,3)
[xx,yy]=meshgrid(lonp,Latp);
m_proj('hammer','clong',180);
m_pcolor(xx,yy,pr_wtr_m)
hold on
shading interp;
colormap(jet)
h=colorbar;
hold on
m_grid('xtick',[],'ytick',[],'linestyle','-');
m_coast('patch','g');
set(get(h,'xlabel'),'string','1982——20##年平均降水');
%% 1982_2010年平均海表气压。
subplot(2,2,4)
[xx,yy]=meshgrid(lons,lats);
m_proj('hammer','clong',180);
[C,H]=m_contourf(xx,yy,slp_m)
clabel(C,H,'manual')
hold on
colormap(jet)
h=colorbar;
hold on
m_grid('xtick',[],'ytick',[],'linestyle','-');
m_coast('patch','g');
set(get(h,'xlabel'),'string','1982——20##年平均海表气压');
%% prepare:
clear all;close all;clc;
%% open nc files:气温,sst,降水,气压。
fair=netcdf('air.mon.mean.nc','nowrite');
fsst=netcdf('sst.mnmean.nc','nowrite');
fpr_wtr=netcdf('pr_wtr.eatm.mon.mean.nc','nowrite');
fpr_wtr=netcdf('pr_wtr.eatm.mon.mean.nc','nowrite');
fslp=netcdf('slp.mon.mean.nc','nowrite');
%% data:
%北纬30°的850,500,250米的气压层的气温。
air850=squeeze(fair{'air'}(:,3,25,:)*fair{'air'}.scale_factor+fair{'air'}.add_offset);
air500=squeeze(fair{'air'}(:,6,25,:)*fair{'air'}.scale_factor+fair{'air'}.add_offset);
air250=squeeze(fair{'air'}(:,9,25,:)*fair{'air'}.scale_factor+fair{'air'}.add_offset);
%北纬30°的sst。
sst=squeeze(fsst{'sst'}(1:361,25,:)*fsst{'sst'}.scale_factor+fsst{'sst'}.add_offset);
%北纬30°的降水量。
pr_wtr=squeeze(fpr_wtr{'pr_wtr'}(:,25,:)*fpr_wtr{'pr_wtr'}.scale_factor+fpr_wtr{'pr_wtr'}.add_offset);
%北纬30°的气压量。
slp=squeeze(fslp{'slp'}(:,25,:)*fslp{'slp'}.scale_factor+fslp{'slp'}.add_offset);
%所有的时间(1981_2010)平均。
air850_m=squeeze(mean(air850));
air500_m=squeeze(mean(air500));
air250_m=squeeze(mean(air250));
sst_m=squeeze(mean(sst));
pr_wtr_m=squeeze(mean(pr_wtr));
slp_m=squeeze(mean(slp));
%经度
LON=fair{'lon'}(:);
lon=fsst{'lon'}(:);
lonp=fpr_wtr{'lon'}(:);
lons=fslp{'lon'}(:);
figure (1)
plotyy(LON,air250_m,lon,sst_m)
xlabel('经度')
ylabel('温度')
title('250m')
LEGEND('气温','sst')
figure (2)
plotyy(lonp,pr_wtr_m,lons,slp_m)
LEGEND('降水量','海表气压')
%% air250_m插值
l=linspace(0.5,395.5,360);
new_air250_m=interp1(LON,air250_m,l,'spline');
new_air850_m=interp1(LON,air850_m,l,'spline');
new_air500_m=interp1(LON,air500_m,l,'spline');
new_pr_wtr_m=interp1(lonp,pr_wtr_m,l,'spline');
%% 分别计算降水量和海表压强,250m处的气温和海表面温度的相关性。
%海表气压和降水量的相关性
[r,p]=corrcoef(pr_wtr_m,slp_m)
[i,j]=find(p<0.05);
[i,j]
%气压层的气温和sst的相关性
[R250,P250]=corrcoef(new_air250_m,sst_m)
[a250,b250]=find(P250<0.05);
[a250,b250]
[R500,P500]=corrcoef(new_air500_m,sst_m)
[a500,b500]=find(P500<0.05);
[a500,b500]
[R850,P850]=corrcoef(new_air850_m,sst_m)
[a850,b850]=find(P850<0.05);
[a850,b850]
[R500,P500]=corrcoef(air500_m,pr_wtr_m)
[a250,b250]=find(P500<0.05);
[a500,b500]
%降水量和sst的相关性
[x,y]=corrcoef(new_pr_wtr_m,sst_m)
[x1,y1]=find(y<0.05);
[x1,y1]
MATLAB实习报告姓名:学院:电气信息工程学院专业:电子信息工程班级学号:信息(2)班指导教师:实习时间:20xx,5,13至2…
MATLAB实习报告1实验一MATLAB运算基础王夏20xx301610405一实验目的1熟悉启动和退出MATLAB的方法2熟悉M…
1求fx4x6xx395在0100上最大值最小值根使用函数fminbndrootsgtgtxyfminbnd394x6xx3953…
湖南大学MATLAB工程实训报告题目学院名称专业班级学生姓名学号指导老师目录第一节MATLAB工程实训意义111MATLAB工程训…
仿真平台与工具应用实践报告院系专业班级姓名学号指导老师一设计目的Matlab现在的发展已经使其成为一种集数值运算符号运算数据可视化…
通过《matlab仿真》实验使我学习掌握了许多知识。首先是对matlab有了一个全新的认识,其次是对matlab的更多操作和命令的…
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可…
MatLab实习心得体会我从中国石油大学(北京)来到大庆油田勘探开发研究院实习,刚刚来到这里时我内心充满了激动和喜悦,对这个有着辉…
Matlab学习心得数学实验周我们学习了Matlab软件这是一个十分实用和重要的软件初次结识MATLAB感觉这是一个很好的软件语言…
MATLAB教程及实训实验报告班级:10级专升本学号:姓名:实验1熟悉matlab的开发环境及矩阵操作一、实验的教学目标通过本次实…
1Convmmfunctionynyconvmxnxhnhnybnx1nh1nyenxlengthxnhlengthhnynybnyeyconvxh2…