加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Matlab绘图:水汽输送

(2013-04-13 13:04:59)
分类: matlab
了解东亚夏季风的水汽输送,研究中国热带降水异常的特征:
 
资料:湿度——hgt.mon.mean.nc;风场——uwnd.mon.mean.nc,vwnd.mon.mean.nc;湿度——shum.mon.mean.nc;
 
 

 clc;clear all;close all;
%-----------------------------------------------------
% atmospheric water vapor transport associated with typical anmolous
% summer rainfall patterns in China

 file=('E:/netCDF/gh/hgt.mon.mean.nc');
 f=netcdf(file,'nowrite');
 hgt1=f{'hgt'}(:,1:8,13:49,9:73);
 lon=f{'lon'}(9:73);
 lat=f{'lat'}(13:49);
 j=1;
for i=6:12:740
    hgt([j,j+1,j+2],:,:,:)=squeeze(hgt1([i,i+1,i+2],:,:,:));
    j=j+1;
end
  logc1=hgt<0;
  hgt(logc1)=0.0;
  sum11=62*3-sum(logc1);
  sum1=sum(hgt);
  [ii]=find(sum11==0);
  sum11(ii)=1;
  hgtm=squeeze(sum1./sum11);
  clear file f hgt hgt1 logc1 sum11 sum1 ii
%----------------------------------------------------
file=('E:/netCDF/u/uwnd.mon.mean.nc');
  f=netcdf(file,'nowrite');
  uwnd1=f{'uwnd'}(:,1:8,13:49,9:73)*.01+202.65;
  j=1;
for i=6:12:740
    uwnd([j,j+1,j+2],:,:,:)=squeeze(uwnd1([i,i+1,i+2],:,:,:));
    j=j+1;
end
  logc1=uwnd>200;
  uwnd(logc1)=0.0;
  sum11=62*3-sum(logc1);
  sum1=sum(uwnd);
  [ii]=find(sum11==0);
  sum11(ii)=1;
  uwm=squeeze(sum1./sum11);
  clear file f uwnd uwnd1 logc1 sum11 sum1 ii j
%----------------------------------------------------
  
  file=('E:/netCDF/v/vwnd.mon.mean.nc');
  f=netcdf(file,'nowrite');
  vwnd1=f{'vwnd'}(:,1:8,13:49,9:73)*0.01+202.65;
  j=1;
for i=6:12:740
    vwnd([j,j+1,j+2],:,:,:)=squeeze(vwnd1([i,i+1,i+2],:,:,:));
    j=j+1;
end
  
  logc1=vwnd>200;
  vwnd(logc1)=0.0;
  sum11=62*3-sum(logc1);
  sum1=sum(vwnd);
  [ii]=find(sum11==0);
  sum11(ii)=1;
  vwm=squeeze(sum1./sum11);
  clear file f vwnd vwnd1 logc1 sum11 sum1 ii j 
%----------------------------------------------------
  
  file=('E:/netCDF/shum/shum.mon.mean.nc');
  f=netcdf(file,'nowrite');
  shum1=f{'shum'}(:,:,13:49,9:73)*0.001+32.665;
  j=1;
for i=6:12:740
    shum([j,j+1,j+2],:,:,:)=squeeze(shum1([i,i+1,i+2],:,:,:));
    j=j+1;
end
  logc1=shum>2000;
  shum(logc1)=0.0;
  sum11=62*3-sum(logc1);
  sum1=sum(shum);
  [ii]=find(sum11==0);
  sum11(ii)=1;
  shm=squeeze(sum1./sum11);
  clear file f shum shum1 logc1 sum11 sum1 ii j
 
%----------------------------------------------------
  g = 9.8;
  qu = squeeze(sum((hgtm(1:7,:,:)-hgtm(2:8,:,:)).*(uwm(1:7,:,:)+uwm
(2:8,:,:)).*(shm(1:7,:,:)+shm(2:8,:,:))/4));
  qv = squeeze(sum((hgtm(1:7,:,:)-hgtm(2:8,:,:)).*(vwm(1:7,:,:)+vwm
(2:8,:,:)).*(shm(1:7,:,:)+shm(2:8,:,:))/4));
  qu=qu/g;
  qv=qv/g;
  quiver(lon,lat,-qu,-qv)
  hold on
  worldmap2;
  axis([20 180 -30 60])

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有