请选择 进入手机版 | 继续访问电脑版
爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6517|回复: 4

[讨论] matlab 利用SODA数据绘制南中国海SCS四季流场图

[复制链接]

新浪微博达人勋

发表于 2019-8-26 16:12:13 | 显示全部楼层 |阅读模式

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

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

x


matlab 利用SODA数据绘制南中国海SCS四季流场图

download SODA 2015年数据,读取其中的u,v方向的current矢量,在选取目标海域绘制流场图

这里选取了[4 7 10 1]月作为代表月,展示spring,summer,autumn,winter 流场

数据太大,需要自己下载哦

  1. clc; clear; close;

  2. path = '/xx]);

  3. lat = ncread([path,'soda2015.nc'],'latitude');
  4. lon = ncread([path,'soda2015.nc'],'longitude');
  5. u = ncread([path,'soda2015.nc'],'u');
  6. v = ncread([path,'soda2015.nc'],'v');

  7. u_surface = squeeze(u(:,:,1,:));
  8. v_surface = squeeze(v(:,:,1,:));
  9. u_surface(u_surface == -1.000000020040877e+20) = nan;
  10. v_surface(v_surface == -1.000000020040877e+20) = nan;
  11. U_surface = sqrt(u_surface.^2 + v_surface.^2);

  12. lonmin = 98;
  13. lonmax = 130;
  14. latmin = 0;
  15. latmax = 30;
  16. ix = find(lon>lonmin & lon<lonmax);
  17. iy = find(lat>latmin & lat<latmax);
  18. tlon = lon(ix);
  19. tlat = lat(iy);
  20. u_sf = u_surface(ix,iy,:);
  21. v_sf = v_surface(ix,iy,:);
  22. U_sf = U_surface(ix,iy,:);
  23. %U_sf(U_sf = inf) = nan;
  24. u_sf(u_sf < -1.0000000e+2) = nan;
  25. v_sf(v_sf < -1.0000000e+2) = nan;
  26. %U_sf(U_sf < 0) = nan;
  27. U_sf(U_sf > 100) = nan;

  28. U_sp = U_sf(:,:,4);U_sm = U_sf(:,:,7);
  29. U_fl = U_sf(:,:,10);U_wt = U_sf(:,:,1);
  30. [xx,yy] = meshgrid(tlon,tlat);
  31. size = 1;
  32. %% [spring summer fail winter 1 4 7 10]
  33. close
  34. figure
  35. subplot(221)
  36. contourf(xx,yy,U_sp',66,'LineColor','none'); colorbar;caxis([0 1]);
  37. mycolor=zeros(3,202);
  38. mycolor(1,:)=[0:0.01:1 zeros(1,101)+1];
  39. mycolor(2,:)=[0:0.01:1 1:-0.01:0];
  40. mycolor(3,:)=[zeros(1,101)+1 1:-0.01:0];
  41. mycolor = mycolor';
  42. colormap(mycolor);
  43. grid on;
  44. xlabel('longitude(E)','FontSize',14);ylabel('latitude(S)','FontSize',14) ;
  45. set(gca,'fontsize',14);
  46. hold on;
  47. quiver(xx,yy,u_sf(:,:,4)'./size,v_sf(:,:,4)'./size,0,'color','k')';
  48. set(gca,'xtick',lonmin:5:lonmax,'fontsize',14);
  49. set(gca,'ytick',latmin:5:latmax,'fontsize',14);
  50. hold on;
  51. text(lonmin+2,latmax-2,'spring','fontsize',14);

  52. subplot(222)
  53. contourf(xx,yy,U_sm',66,'LineColor','none'); colorbar;caxis([0 1]);
  54. mycolor=zeros(3,202);
  55. mycolor(1,:)=[0:0.01:1 zeros(1,101)+1];
  56. mycolor(2,:)=[0:0.01:1 1:-0.01:0];
  57. mycolor(3,:)=[zeros(1,101)+1 1:-0.01:0];
  58. mycolor = mycolor';
  59. colormap(mycolor);
  60. grid on;
  61. xlabel('longitude(E)','FontSize',14);ylabel('latitude(S)','FontSize',14) ;
  62. set(gca,'fontsize',14);
  63. hold on;
  64. quiver(xx,yy,u_sf(:,:,7)'./size,v_sf(:,:,7)'./size,0,'color','k');
  65. set(gca,'xtick',lonmin:5:lonmax,'fontsize',14);
  66. set(gca,'ytick',latmin:5:latmax,'fontsize',14);
  67. hold on;
  68. text(lonmin+2,latmax-2,'summer','fontsize',14);

  69. subplot(223)
  70. contourf(xx,yy,U_fl',66,'LineColor','none'); colorbar;caxis([0 1]);
  71. mycolor=zeros(3,202);
  72. mycolor(1,:)=[0:0.01:1 zeros(1,101)+1];
  73. mycolor(2,:)=[0:0.01:1 1:-0.01:0];
  74. mycolor(3,:)=[zeros(1,101)+1 1:-0.01:0];
  75. mycolor = mycolor';
  76. colormap(mycolor);
  77. grid on;
  78. xlabel('longitude(E)','FontSize',14);ylabel('latitude(S)','FontSize',14) ;
  79. set(gca,'fontsize',14);
  80. hold on;
  81. quiver(xx,yy,u_sf(:,:,10)'./size,v_sf(:,:,10)'./size,0,'color','k');
  82. set(gca,'xtick',lonmin:5:lonmax,'fontsize',14);
  83. set(gca,'ytick',latmin:5:latmax,'fontsize',14);
  84. hold on;
  85. text(lonmin+2,latmax-2,'autumn','fontsize',14);

  86. subplot(224)
  87. contourf(xx,yy,U_wt',66,'LineColor','none'); colorbar;caxis([0 1]);
  88. mycolor=zeros(3,202);
  89. mycolor(1,:)=[0:0.01:1 zeros(1,101)+1];
  90. mycolor(2,:)=[0:0.01:1 1:-0.01:0];
  91. mycolor(3,:)=[zeros(1,101)+1 1:-0.01:0];
  92. mycolor = mycolor';
  93. colormap(mycolor);
  94. grid on;
  95. xlabel('longitude(E)','FontSize',14);ylabel('latitude(S)','FontSize',14) ;
  96. set(gca,'fontsize',14);
  97. hold on;
  98. quiver(xx,yy,u_sf(:,:,1)'./size,v_sf(:,:,1)'./size,0,'color','k');
  99. set(gca,'xtick',lonmin:5:lonmax,'fontsize',14);
  100. set(gca,'ytick',latmin:5:latmax,'fontsize',14);
  101. hold on;
  102. text(lonmin+2,latmax-2,'winter','fontsize',14);
复制代码


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

新浪微博达人勋

发表于 2019-8-27 08:03:19 | 显示全部楼层
学习学习
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2019-8-27 19:36:34 | 显示全部楼层
楼主图画的真漂亮
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-9-23 16:19:34 | 显示全部楼层
请问楼主您的SODA数据怎么下载的,我看官网上只到2008年的数据
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-9-27 17:01:05 | 显示全部楼层
zhizunbao 发表于 2019-9-23 16:19
请问楼主您的SODA数据怎么下载的,我看官网上只到2008年的数据

https://www.baidu.com/link?url=reGULci2ANdfcvd1gQ-w_Yle9REfJqS4Bh_OeNIXJ03j3qoRYcC8IJilZHM5sT91d708cVPKOcre-uqcKVcwa-O7tdL4N7PZk_Or7t6Bm5O&wd=&eqid=f3d933af00062ad9000000065d8dce5c
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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