收藏本站 劰载中...网站公告 | 吾爱海洋论坛交流QQ群:835383472

Matlab海洋绘图:海面热通量分布——以南海为例 - 海洋地质热流测量

[复制链接]
2 S( v' K5 R9 I4 K

图片赏析

* p) N( R6 e/ P T# C$ D! Y
1 r- y8 O a, I/ P1 X. j
2 }3 Y2 _' x, r% j

: O7 W$ s/ j4 M8 i

前言

3 H9 k+ |3 t& h8 E8 p2 J2 [

- [# c: {+ G% z8 |% p" h& j

南海的经纬度:南海范围北纬2°至北纬25° 东经104°至东经124°

1 ~7 r: k% G- P% I8 l& Y

数据来源:

6 Y1 h2 V$ t" r1 x 2 l- X$ D2 m9 i+ t5 C# }8 Z

数据链接提供者:广东海洋大学海洋与气象学院海洋科学系纪同学

3 a/ W5 ]8 L8 `( n

数据来源机构:NOAA美国国家海洋与大气管理局-NCDC环境信息国家中心

3 p6 z# X: V& W* j/ D

产品名称:Ocean Heat Fluxes海洋热通量

' b9 g8 [, N4 S" r) M9 F) s& }

时间精度:每日3-hourly记录

9 v5 _: o# n1 V4 `- ^' F

空间精度:0.25°

' j8 Y8 Z7 V" Q+ B: _: }

注:本程序需调用UBC英属哥伦比亚大学Rich Pawlowicz 开发的程序包m_map

4 b; J0 `+ o% {$ E4 Y" H

亦需调用gshhs高精度海岸线数据。

0 }+ b+ y$ R7 ]1 w) g9 ^( s$ t

源代码

O1 L& w* D6 ]: G6 y
%南海1998年12月31日某时的海面热通量数据及分布图8 g0 a" v) `7 V9 z. Q %% 4 j2 l- {* }0 t) [0 l. J7 F, R; R %第一步:数据的展示7 M$ e6 e' q/ t( L" {/ K6 o+ H tic;Path="E:\OneDrive - Inc\Share_science\NC文件\";%文件夹地址, e: |: t/ f: z filename="SEAFLUX-OSB-CDR_V02R00_FLUX_D19981231_C20160824.nc";%文件名! z, ^& Z) o) u abs_path=fullfile(Path,filename);%合并,绝对路径文件 1 _/ G. _& `" C8 e7 q clearvars -except abs_path;%清除除了abs_path以外所有变量 4 a" X+ _. K0 S; y# M ncdisp(abs_path);%读取所选文件- ^7 J! n9 D0 e) K whos;toc; / w3 H5 w% ~6 J3 q% ] %% " F4 ~& E4 y- I& b8 } %第二步:数据读取$ O6 k6 |0 N P* o9 e( ?1 k tic;Lat_ini=ncread(abs_path,lat);% _+ a- X+ ~- a9 G Lon_ini=ncread(abs_path,lon);3 e+ ?) P2 V0 z" V& o Time_ini=ncread(abs_path,time);- }: O* Y/ o2 r- y Lflx_ini=ncread(abs_path,surface_upward_latent_heat_flux);. N' b$ `& O# T; J2 [& p Sflx_ini=ncread(abs_path,surface_upward_sensible_heat_flux); 3 z! v/ o/ g! n8 h9 I toc;clear abs_path; 1 W; j6 ]$ G# }& L %%9 u- ?' ]( e" v$ V, u %第三步:确定边界/截取数据$ a1 a) Q0 s, y( o4 e %空间边界:南海范围北纬2°至北纬25° 东经104°至东经124°0 d! n2 H ^* H6 h tic;Boundary=[104,124;2,25;]%修改范围[经度;纬度],注意顺序# k R. |" y* c k7 Y% a Spatial_Resolution=abs(Lat_ini(1)-Lat_ini(2));Sp_Re=Spatial_Resolution;%自动确定精度 $ x" o- l, z7 r8 \5 R Lon_start_No=find(Lon_ini-(Boundary(1))<=Sp_Re&Lon_ini-(Boundary(1))>=0);%找到离104°最近格点的编号(行号) # u' ]5 b# _$ J$ x2 k Lon_end_No=find(Lon_ini-(Boundary(3))<=Sp_Re&Lon_ini-(Boundary(3))>=0);%找到离124°最近格点的编号(行号) c! D/ u; j( V$ ] Lat_start_No=find(Lat_ini-(Boundary(2))<=Sp_Re&Lat_ini-(Boundary(2))>=0);%找到离2°最近格点的编号(行号) 4 X; E( X: i% }( g- W: x: K7 ~ Lat_end_No=find(Lat_ini-(Boundary(4))<=Sp_Re&Lat_ini-(Boundary(4))>=0);%找到离25°最近格点的编号(行号)5 G8 {1 ~% }& S# N1 s Lon=Lon_ini(Lon_start_No:Lon_end_No); 8 {7 s2 |/ @9 m7 t5 k* a Lat=Lat_ini(Lat_start_No:Lat_end_No);%北半球可能要颠倒一下编号,因为是从北极往赤道计数的 7 t+ v/ S7 U8 b; ^* `6 v clear Lat_ini;clear Lon_ini;%回收内存; L: J @4 Q2 Y V1 C" ^7 ^+ { Lat=double(Lat);Lon=double(Lon);%双精度化 ; D2 a6 V k' t! y! P9 I8 s( [: V- d latlim=[min(Lat),max(Lat)];lonlim=[min(Lon),max(Lon)]; 6 x3 J5 R, `% h3 T# z Time=9%输入时间,注意三小时的倍数 + H3 `! X8 K8 ?7 _3 U' i Time_No=Time/3+1;3 e4 L% x2 `# r) _/ d8 Q %截取数据并降维度( f8 V/ S- L, y3 D( O Lflx=squeeze(Lflx_ini(Lon_start_No:Lon_end_No,Lat_start_No:Lat_end_No,Time_No));;%北半球有时可能要颠倒一下编号,因为是从北极往赤道计数的 1 x7 f2 C& R7 F: M8 _ Sflx=squeeze(Sflx_ini(Lon_start_No:Lon_end_No,Lat_start_No:Lat_end_No,Time_No));;%北半球有时可能要颠倒一下编号,因为是从北极往赤道计数的) _% A" S# ]8 e3 r ^ clear Sp_Re;toc;%清除不再使用的变量 : W/ T+ z+ I9 V) P4 _+ {3 M %% " M9 g2 s" l( ^5 {( k( i %第四步:绘图% _0 s- P7 f* {/ W- J tic;figure;, i$ L0 U% U3 b3 k ~ m_proj(mercator,lat,latlim,lon,lonlim); ; x4 G8 Q8 K0 N' P1 L) L4 m [longrid,latgrid]=meshgrid(Lon,Lat); % w' S' X$ I& S2 Q1 Y m_pcolor(longrid,latgrid,Sflx); %pcolor或contourf: k( s9 ?# Q* W! s" b tic;m_gshhs_f(patch,k);toc;%添加海岸线:c<l<h<f 5 U9 ^3 ] m; g/ R0 ]; Z" n m_grid(box,fancy,tickdir,in);%网格化! t# @, O: m$ q' ? %brighten(.5);%亮化 6 t7 ^8 C8 \6 Y+ _ colormap(hsv);# Z7 `6 N& y4 V$ }& P% S h = colorbar(h);%色标% G) V5 I- G( |/ {2 s p& y- o h.Label.String = W·m^{-2}) z( g$ Q% Y4 S6 x. w h.Location = eastoutside;%色标位置 . N2 v8 [* {/ p& O0 v+ y title([1998年12月31日,num2str(Time),:00,南海海面感热通量],... * a0 K; A; l) @ FontName,黑体,fontsize,12,FontWeight,"bold") %标题 , h; g B" U I( I* z xlabel(Longitude);ylabel(Latitude) ;set(gca,fontsize,9); 1 B) ?/ {% ]- Q. _( o toc;4 t" s t# P q, [ S
. x& ^4 k+ a3 ~9 y+ y8 p0 }

附上另外俩残次品绘图结果,数据来源:IOCADS

1 U, u2 z5 u7 Q! Q! }
$ C6 s1 v, D+ y' e* V5 B' V
s) s/ r; H& \9 F( J $ \$ e- S- K' e( X$ R* a5 X2 q% ?2 E9 }( H$ W; o- Z $ h( ?0 B7 \; a. R. i& d% w2 H, k- D" }% z# y u
回复

举报 使用道具

相关帖子

全部回帖
暂无回帖,快来参与回复吧
懒得打字?点击右侧快捷回复 【吾爱海洋论坛发文有奖】
您需要登录后才可以回帖 登录 | 立即注册
汉再兴
活跃在2 小时前
快速回复 返回顶部 返回列表