matlab课程实习报告

 

《海洋数据处理及可视化》课程实习报告

气压层的气温·降水量·气压·海表温度相关性的初步探讨————以北纬30°为例

          业:海洋科学(物理海洋)

                号:

   名:

指导老师:

    间:二零##年一月九日

气压层的气温·降水量·气压·海表温度相关性的初步探讨

   ————以北纬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。

    绘制全球这些量分别分布及其变化。如下图所示:

为了能更加清楚的了解平均海表气压,我们将海表气压的图单独拿出来;如下:

从全球1982年——20##年平均的气压层的气温、将水量、海表温度可以看出,这些变量沿着纬线变化不大,主要在经度方向由于太阳辐射不均匀变化很显著。大气层温度,降水,sst的最大量几乎都集中在南北纬30°,径向并且依次向东太平洋海域递减。我猜想他们之间有很大的相关性;对于海表平均气压,它是大气层温度最直接的反馈(理想气体状态方程:PV=nRT),从最直观上想,它应该和降水量,sst通过温度的纽带最用应该也有很大的相关性。单从上面1982——20##年平均海表气压的这张图上面来看,东太平洋地区明显比西太平洋地区的气压高,(沃克环流),温度高的海洋加热大气向东跑,东部高压大气向西跑。在大气迁移的过程中又会有降水,大气温度,海表面温度的变化。

这四个量之间相互影响,但到底从在什么样的相关行呢?我们以北纬30°为例来讨论研究。

二、以北纬30°为例来研究海表气压、大气层温度、降水量、SST之间的相关性。

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_2010250m高度平均温度

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]

相关推荐