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

Matlab海洋绘图:海面热通量分布——以南海为例

[复制链接]
) G. j% v6 p: }. |- R

图片赏析

) G8 [( J, ]7 M6 [2 ?$ F
# W+ G0 d- \5 w. ?" W
7 p2 O, _- B! ^- v' E* m

$ O% B+ }& q& p

前言

0 G0 I4 D# U+ R1 `9 Y4 I* e! V

: @0 E Z7 Z S) ]8 Q3 r2 w

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

; }7 \* |! ^3 x% S- r. h1 A

数据来源:

% _$ |% f# P3 r4 S, Y5 \' d 7 j$ L) _! u: v8 k& g6 O' m

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

* R8 x; X5 \0 E

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

5 p( p0 z4 s7 J% u

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

- F! e3 l. F4 B

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

3 g* t5 U) w: `) x( A9 D4 P3 V# f

空间精度:0.25°

U7 p& B' `. \$ ]' }) M

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

3 z( @9 c( a' f$ `, H5 [0 k

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

. X0 a' C7 r4 R2 u [

源代码

0 [" T) y1 i$ q. B u2 N' Q
%南海1998年12月31日某时的海面热通量数据及分布图 ~6 a; ~" P* L# W5 ^4 W %% $ i9 M y/ n* M6 r8 d: e: C %第一步:数据的展示 + u2 C4 c2 J! I1 D tic;Path="E:\OneDrive - Inc\Share_science\NC文件\";%文件夹地址 & h! J- K3 |5 @ b filename="SEAFLUX-OSB-CDR_V02R00_FLUX_D19981231_C20160824.nc";%文件名0 d- p8 o2 B0 E3 S9 Y% j; j abs_path=fullfile(Path,filename);%合并,绝对路径文件 9 K" ]) n" n' s- Y clearvars -except abs_path;%清除除了abs_path以外所有变量 ( t& l- V, j" [' W ncdisp(abs_path);%读取所选文件6 w; O, O. o0 K: ~ whos;toc;$ A2 j1 _5 X* o( F2 L. E# w %% 7 b5 Y( A. g& k3 J3 K0 R %第二步:数据读取/ f6 j' ]% V7 A( ~' W9 n" z2 u5 i tic;Lat_ini=ncread(abs_path,lat);: O& B6 X. [, s4 z$ n Lon_ini=ncread(abs_path,lon);4 ^+ K% k, w; K. }6 \ f Time_ini=ncread(abs_path,time);; S4 _( U z5 E: m1 R Lflx_ini=ncread(abs_path,surface_upward_latent_heat_flux); " k6 l; j+ ~: ^( i4 O) N% M Sflx_ini=ncread(abs_path,surface_upward_sensible_heat_flux); . H# h! H6 n1 C toc;clear abs_path;7 i% b$ _, P- `3 S6 |- M! c %% & P$ @4 q# w6 O/ X %第三步:确定边界/截取数据8 w4 `9 q0 f, ]( l %空间边界:南海范围北纬2°至北纬25° 东经104°至东经124° : ^: I: D; H2 W9 W N, o% Q$ @" R, @ tic;Boundary=[104,124;2,25;]%修改范围[经度;纬度],注意顺序 & t1 ?2 D5 }& @: ] Spatial_Resolution=abs(Lat_ini(1)-Lat_ini(2));Sp_Re=Spatial_Resolution;%自动确定精度 . L& i+ k+ T8 F4 h Lon_start_No=find(Lon_ini-(Boundary(1))<=Sp_Re&Lon_ini-(Boundary(1))>=0);%找到离104°最近格点的编号(行号) % X, V9 \ y6 i. \1 j& B6 e% V# q( m Lon_end_No=find(Lon_ini-(Boundary(3))<=Sp_Re&Lon_ini-(Boundary(3))>=0);%找到离124°最近格点的编号(行号)1 v0 l! T* m( e+ v# p7 S: o# u Lat_start_No=find(Lat_ini-(Boundary(2))<=Sp_Re&Lat_ini-(Boundary(2))>=0);%找到离2°最近格点的编号(行号), d! s N) w" m Lat_end_No=find(Lat_ini-(Boundary(4))<=Sp_Re&Lat_ini-(Boundary(4))>=0);%找到离25°最近格点的编号(行号) ) s! L S) j9 K4 d; f Lon=Lon_ini(Lon_start_No:Lon_end_No);" {: L9 G3 {+ D/ J$ f3 Q Lat=Lat_ini(Lat_start_No:Lat_end_No);%北半球可能要颠倒一下编号,因为是从北极往赤道计数的+ l p7 k& m2 v6 c. P; a" e! y clear Lat_ini;clear Lon_ini;%回收内存+ Q2 H( ^# c J$ F Lat=double(Lat);Lon=double(Lon);%双精度化 7 n3 N. i; D* f+ n4 K latlim=[min(Lat),max(Lat)];lonlim=[min(Lon),max(Lon)]; 2 L% J' d: y3 W5 [ Time=9%输入时间,注意三小时的倍数 / i; C4 F1 U' [& B) z' k Time_No=Time/3+1; 0 R2 D5 S! j8 E$ o! u %截取数据并降维度2 l' k# h: X0 }+ K3 ] A Lflx=squeeze(Lflx_ini(Lon_start_No:Lon_end_No,Lat_start_No:Lat_end_No,Time_No));;%北半球有时可能要颠倒一下编号,因为是从北极往赤道计数的$ a7 b8 M! x1 V1 j Sflx=squeeze(Sflx_ini(Lon_start_No:Lon_end_No,Lat_start_No:Lat_end_No,Time_No));;%北半球有时可能要颠倒一下编号,因为是从北极往赤道计数的3 _' Z6 e0 ~" d9 d2 J" ]9 m! ~3 R# h clear Sp_Re;toc;%清除不再使用的变量5 D |" u" Z! P! j- }, o %% 1 f- N) X N8 e i. n %第四步:绘图+ M# x1 e/ d* e* _: I tic;figure;+ o! j _ H9 i& X7 Z m_proj(mercator,lat,latlim,lon,lonlim); ) x( L2 Q% a/ P/ U5 f [longrid,latgrid]=meshgrid(Lon,Lat); c# ]) X4 R% g) A( x1 @ ?3 F m_pcolor(longrid,latgrid,Sflx); %pcolor或contourf! }. N9 E' e0 Q/ L6 ]9 P# C: ^ tic;m_gshhs_f(patch,k);toc;%添加海岸线:c<l<h<f 4 j8 F! ?3 A" t- f; g+ N$ A8 Y1 r m_grid(box,fancy,tickdir,in);%网格化 - M/ ^' W* h3 a4 x' f %brighten(.5);%亮化 7 R9 b' A- }% @; k) `0 u) b colormap(hsv); h+ ?! ]( F, V' F6 x. n h = colorbar(h);%色标 ) A3 e8 y" i- [8 a! N5 k h.Label.String = W·m^{-2}7 k1 i) A% x% ?0 } h.Location = eastoutside;%色标位置) {+ l& ?6 Y* s+ \8 H$ I- }& g title([1998年12月31日,num2str(Time),:00,南海海面感热通量],... f. a6 k! N1 f! @2 V! I9 { FontName,黑体,fontsize,12,FontWeight,"bold") %标题 3 J q3 j1 \& u8 v4 B. W xlabel(Longitude);ylabel(Latitude) ;set(gca,fontsize,9); ! D7 y5 l, D! J$ X3 w1 q toc; * \+ Z& Q7 e: `- I' o( K
* @, M0 H: m$ E/ }# k( N8 g. @

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

: P6 _. j9 V l2 E9 T: C+ r
* g% g; D/ K" A! p4 U7 T5 ]3 U
$ x+ M7 F( Q6 V) p 1 b( ]3 K, a% z7 p$ { + H+ c. h$ g# L4 a. L5 C& ?. M; I4 r1 C7 q4 T% Q+ e - b" p7 J7 r2 i9 Y. h5 H
回复

举报 使用道具

相关帖子

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