天气学诊断分析I 实习报告(实习四)
实习4 利用风场和高度场计算运动特征参量
- 实习目的
熟悉地转风涡度在气象中的应用,掌握涡度和散度的实际编程计算。
- 实习内容
已知2020年的6h再分析资料,要素场有温度、高度、相对湿度和水平风场。求各小组负责第二日20时10-60N,60-160E的区域在200hpa和 850hpa上的涡度和散度以及500地转风涡度,并给出相应的图。
- 实习要求:
根据实习内容和资料说明,编写计算你熟悉的语言程序(如Fortran、c和matlab等),并输出计算结果和绘图(如NCL, Matlab和grads)。实习结果分析。
3.1 计算的程序
%读取.nc资料数据
indir = 'E:\天诊\';%路径
u=ncread(['E:\天诊\','uwnd.2020.nc'],'uwnd');%水平风场u
v=ncread(['E:\天诊\','vwnd.2020.nc'],'vwnd');%水平风场v
% (4维)索引变量-lon,lat,level,time
lon=ncread(['E:\天诊\','air.2020.nc'],'lon');
lat=ncread(['E:\天诊\','air.2020.nc'],'lat');
level=ncread(['E:\天诊\','air.2020.nc'],'level');
time=ncread(['E:\天诊\','air.2020.nc'],'time');
%6月9日北京20时
timez=(datenum(2020,6,9,12,0,0)-datenum('1800-01-01 00:00:0.0'))*24; %将世界12时转化为资料时间
%转换索引下标
%-200hpa
time_z=find(time==timez);
level_z=find(level==200);
minlon=find(lon==60);
maxlon=find(lon==160);
minlat=find(lat==10);
maxlat=find(lat==60);
%取出所需资料(lon,lat,level,time)
uu=u(minlon:maxlon,maxlat:minlat,level_z,time_z);
vv=v(minlon:maxlon,maxlat:minlat,level_z,time_z);
latt=lat(maxlat:minlat)/180*pi;
uu=uu';
vv=vv';
%计算涡度
r=6371*10^3;
a=1/(2*r);
d=2.5/180*pi;%经纬度网格距转为弧度制
for i=2:size(uu,1)-1
for j=2:size(uu,2)-1
vor(i,j)=a*((vv(i,j+1)-vv(i,j-1))/cos(latt(i))/d -(uu(i+1,j)-uu(i-1,j))/d+2*uu(i,j)*tan(latt(i)));
end
end
%计算散度
for i=2:size(uu,1)-1
for j=2:size(uu,2)-1
D(i,j)=a*((uu(i,j+1)-uu(i,j-1))/(cos(latt(i))*d) -(vv(i+1,j)-vv(i-1,j))/d-2*vv(i,j)*tan(latt(i)));
end
end
%对站点数据进行Cubic双立方插值
X=60+2.5:160-2.5;
Y=10+2.5:60-2.5;
lonlon=double(lon(minlon+1:maxlon-1));
latlat=double(lat(minlat-1:-1:maxlat+1));
%850hpa
level_z=find(level==850);
uu=u(minlon:maxlon,maxlat:minlat,level_z,time_z);
vv=v(minlon:maxlon,maxlat:minlat,level_z,time_z);
uu=uu';
vv=vv';
%计算涡度
for i=2:size(uu,1)-1
for j=2:size(uu,2)-1
vor(i,j)=a*((vv(i,j+1)-vv(i,j-1))/cos(latt(i))/d -(uu(i+1,j)-uu(i-1,j))/d+2*uu(i,j)*tan(latt(i)));
end
end
%计算散度
for i=2:size(uu,1)-1
for j=2:size(uu,2)-1
D(i,j)=a*((uu(i,j+1)-uu(i,j-1))/(cos(latt(i))*d) -(vv(i+1,j)-vv(i-1,j))/d-2*vv(i,j)*tan(latt(i)));
end
End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%500hpa
H=ncread(['E:\天诊\','hgt.2020.nc'],'hgt');%高度H
HH=H(minlon:maxlon,maxlat:minlat,level_z,time_z);
level_z=find(level==500);
uu=u(minlon:maxlon,maxlat:minlat,level_z,time_z);
vv=v(minlon:maxlon,maxlat:minlat,level_z,time_z);
uu=uu';
vv=vv';
HH=HH';
%计算地转风涡度
r=6371*10^3;
d=2.5/180*pi;%经纬度网格距转为弧度制
for i=2:size(uu,1)-1
for j=2:size(uu,2)-1
a=9.8/(2*(7.292*10^-5)*sin(latt(i))*r^2);
dz_vor(i,j)=a*((HH(i,j+1)+HH(i,j-1)-2*HH(i,j))/cos(latt(i))^2/d^2+(HH(i+1,j)+HH(i-1,j)-2*HH(i,j))/d^2-(H(i+1,j)-H(i-1,j))*tan(latt(i))/(2*d));
end
end
3.2 计算的绘图程序和描述文件
%200涡度
[X1 Y1 Z1]=griddata(lonlon,latlat,double(vor(2:20,2:40)),X',Y,'cubic');%范围缩小一圈是起点是+
m_proj('miller','lon',[60 160],'lat',[10 60]);
m_grid('linestyle','none','box','fancy','tickdir','out');hold on
m_contourf(X1,Y1,Z1,30,'linestyle','none'); hold on
title('200hpa涡度分布图', 'Rotation', 0, 'FontSize', 16);%显示图标题
colormap(m_colmap('jet',10));%填充颜色搭配
colorbar('Location','eastoutside');%颜色栏
m_coast('color',[0 0 0]);%海岸线-黑色三原色
hold on;
[ulon,ulat]=meshgrid([60:2.5:160],[10:2.5:60]);
m_quiver(ulon,ulat,uu,vv,'k')%风场
hold on
%200散度
[X1 Y1 Z1]=griddata(lonlon,latlat,double(D(2:20,2:40)),X',Y,'cubic');%范围缩小一圈是起点是+
m_proj('miller','lon',[60 160],'lat',[10 60]);
m_grid('linestyle','none','box','fancy','tickdir','out');hold on
m_contourf(X1,Y1,Z1,30,'linestyle','none'); hold on
title('200hpa散度分布图', 'Rotation', 0, 'FontSize', 16);%显示图标题
colormap(m_colmap('jet',10));%填充颜色搭配
colorbar('Location','eastoutside');%颜色栏
m_coast('color',[0 0 0]);%海岸线-黑色三原色
hold on;
[ulon,ulat]=meshgrid([60:2.5:160],[10:2.5:60]);
m_quiver(ulon,ulat,uu,vv,'k')%风场
hold on
%850涡度
figure
[X1 Y1 Z1]=griddata(lonlon,latlat,double(vor(2:20,2:40)),X',Y,'cubic');%范围缩小一圈是起点是+
m_proj('miller','lon',[60 160],'lat',[10 60]);
m_grid('linestyle','none','box','fancy','tickdir','out');hold on
m_contourf(X1,Y1,Z1,30,'linestyle','none'); hold on
title('850hpa涡度分布图', 'Rotation', 0, 'FontSize', 16);%显示图标题
colormap(m_colmap('jet',10));%填充颜色搭配
colorbar('Location','eastoutside');%颜色栏
m_coast('color',[0 0 0]);%海岸线-黑色三原色
hold on;
[ulon,ulat]=meshgrid([60:2.5:160],[10:2.5:60]);
m_quiver(ulon,ulat,uu,vv,'k')%风场
hold on
%850散度
figure
[X1 Y1 Z1]=griddata(lonlon,latlat,double(D(2:20,2:40)),X',Y,'cubic');%范围缩小一圈是起点是+
m_proj('miller','lon',[60 160],'lat',[10 60]);
m_grid('linestyle','none','box','fancy','tickdir','out');hold on
m_contourf(X1,Y1,Z1,30,'linestyle','none'); hold on
title('850hpa散度分布图', 'Rotation', 0, 'FontSize', 16);%显示图标题
colormap(m_colmap('jet',10));%填充颜色搭配
colorbar('Location','eastoutside');%颜色栏
m_coast('color',[0 0 0]);%海岸线-黑色三原色
hold on;
[ulon,ulat]=meshgrid([60:2.5:160],[10:2.5:60]);
m_quiver(ulon,ulat,uu,vv,'k')%风场
hold on
%500地转风涡度
figure
[X1 Y1 Z1]=griddata(lonlon,latlat,double(dz_vor(2:20,2:40)),X',Y,'cubic');%范围缩小一圈是起点是+
m_proj('miller','lon',[60 160],'lat',[10 60]);
m_grid('linestyle','none','box','fancy','tickdir','out');hold on
m_contourf(X1,Y1,Z1,30,'linestyle','none'); hold on
title('500hpa地转风涡度分布图', 'Rotation', 0, 'FontSize', 16);%显示图标题
colormap(m_colmap('jet',10));%填充颜色搭配
colorbar('Location','eastoutside');%颜色栏
m_coast('color',[0 0 0]);%海岸线-黑色三原色
hold on;
[ulon,ulat]=meshgrid([60:2.5:160],[10:2.5:60]);
m_quiver(ulon,ulat,uu,vv,'k')%风场
hold on
3.3 绘制图形、统计表格和相关分析
天气学诊断分析I 实习报告(实习四)相关推荐
- 天气学诊断分析I 实习报告(二)
实习目的 熟悉迭代方法在气象中的应用,掌握稳定度指数的实际编程计算. 实习内容 1.已知2020年的6h再分析资料,要素场有温度.高度.相对湿度和水平风场.用迭代法求某一区域(10ºN-60ºN,60 ...
- 天气学诊断分析I 实习报告(三)
实习目的 熟悉迭代方法在气象中的应用,掌握稳定度指数的实际编程计算. 实习内容 1.已知2020年的6h再分析资料,要素场有温度.高度.相对湿度和水平风场.用迭代法求某一区域(10ºN-60ºN,60 ...
- 天气学诊断实习五 计算水汽平流、水汽通量、水汽通量散度
一.实习目的: 熟悉水汽平流.水汽通量.水汽通量散度的实际编程计算. 二.实习内容: 编制计算水汽平流.水汽通量.水汽通量散度的程序,并且绘制出两个时次25日20时,26日20时的水汽平流.水汽通量. ...
- 天气学诊断实习六 计算水汽流函数和水汽势函数
一.实习目的: 熟悉水汽流函数和水汽势函数程序的实际编程计算. 二.实习内容: 编制计算水汽流函数和水汽势函数的程序,并且绘制出两个时次25日20时,26日20时的水汽流函数和水汽势函数分布(850h ...
- 天气学诊断实习四 计算垂直速度
一.实习目的: 熟悉垂直差分在气象中的应用,掌握垂直速度的实际编程计算. 二.实习内容: 编制计算垂直速度程序,并绘制500hPa垂直速度.用第二种修正方案,其中大气层顶的垂直速度可以直接采用0,也可 ...
- 天气学诊断实习三 计算涡度、散度、涡度平流和温度平流
一.实习目的: 熟悉使用差分方法解决方程中的导数.偏导数,计算涡度.散度.涡度平流和温度平流的程序 二.实习内容: 编制计算涡度.散度.涡度平流和温度平流的程序,并且绘制出两个时次25日20时,26日 ...
- 天气学诊断实习一 露点和凝结抬升高度的计算
一.实习内容 已知南京站某一时次的相对湿度(92.8%).气温(14.1ºC).气压(1017.4, hPa)及站点高度(35.2m),请利用迭代法求出: (1) 该站的露点温度 (2) 凝结高度 ...
- 实习报告--实习内容及过程
转眼已经在xx公司实习快2个月了,之前的兴奋.喜悦如今已经让我熟悉,在这里的每一天都会让我有成为一名真正财富拥有者的冲动.也许对别人来说,一定不能体会为什么在这不到10个月的时间会让一个人有翻天覆地的 ...
- java实训答辩ppt_基于JavaSwing的工作考勤管理系统设计与实现毕业论文+开题报告+实习报告+实习日历+答辩PPT+项目源码...
工作考勤管理系统 摘 要 考勤管理员的考勤的工作不仅工做量大,而且时效性强.在过去,企业多采用签到和报表式进行管理,效率和透明度较差.计算机技术特别是数据库技术的发展为企业建立管理信息系统,对改 ...
最新文章
- 逻辑心理测试题:三囚分汤
- leetcode算法题--n个骰子的点数
- linux vbox 添加串口,如何在VirtualBox中直接使用本机物理串口
- python读xml文件
- mac nginx加载php 配置,Mac下Nginx安装环境配置详解
- java查询数据比Oracle少,java对ORACLE中的于NCHAR数据的处理,查询
- Android 7.0(API 24)以上调用系统安装包问题
- 初学“Jave”心得
- 博客园8月份第3周51Aspx源码发布详情
- QThread的用法
- 未来10年,最值得投资的40个城市
- 计算机桌面任务栏窗口对话框菜单的功能,电脑下方的任务栏不显示怎么办 在任务栏和开始菜单属性对话框...
- 為Raspberry Pi 安裝Raspbian系統的詳細步驟 (Mac OS版本)
- 日本瑞萨renesas MCU---汽车电子MCU的不二之选
- 基于Python的微信好友男女比例,区域排名,签名情感分析
- 达梦数据库更换key文件的方法
- 代理是如何实现IP伪装的呢?
- 【方向盘】启动命令和IDEA如何传递:VM参数、命令行参数、系统参数、环境变量参数、main方法参数
- 微信小程序:组件Component接收不到参数id
- 人工智能很危险!?开发需谨慎?
热门文章
- Educational Codeforces Round 132 (Rated for Div. 2) C. Recover an RBS
- 根据ip查询地理位置
- 求高手指点,发现98五笔有几个字三级简码和四级简码完全不同,不知道使用98五笔的亲们怎么用的?
- 推荐系统评测指标—准确率(Precision)、召回率(Recall)、F值(F-Measure)
- MW75蓝牙5.2双模热插拔PCB
- 华为云DAYU使用Spark组件开发的学习使用心得
- ueditor编辑器复制粘贴图片上传
- 口语对话 用英语聊读书
- matlab sor解线性方程组,SOR算法解线性方程组的matlab程序
- ART世界探险(17) - 中层中间代码MIR