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

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

[复制链接]
" k7 T" i9 Z! Q! P# i8 x0 `

图片赏析

$ ^. o- {/ I3 t0 ~8 L( _0 t
6 @, r/ H1 ^6 z+ ?. I# U7 `5 P" ?
3 O% N* F/ F; P8 T$ ]- F J

' i& w/ M7 o' r6 c4 E

前言

( m% v2 i* G* E# H) b* F

; K7 h5 u3 z* A3 C

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

9 k# X/ Y, l& ^7 p" y

数据来源:

V7 Q& j; U* n 0 n- K: s7 @0 D( Z; I; H3 o) j

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

, I5 X8 X% d6 }& q2 P

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

5 i- `' h0 z) M7 V

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

9 T$ t. y( v% E Y5 u; r

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

( p* s+ A' ~2 L6 r# E

空间精度:0.25°

7 F; b+ o5 W, g0 |

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

- L% O, x: G# O6 D

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

7 E( b) a7 Y# U; s' k

源代码

! o" U1 p( m: c" C0 _7 r
%南海1998年12月31日某时的海面热通量数据及分布图# U8 ]0 D4 R2 h2 Q% C %% 3 B w% _+ x7 T5 j %第一步:数据的展示 6 L1 v6 q/ b$ y9 |- I' A tic;Path="E:\OneDrive - Inc\Share_science\NC文件\";%文件夹地址 # p/ o# \- O; Z8 B: J; u/ N filename="SEAFLUX-OSB-CDR_V02R00_FLUX_D19981231_C20160824.nc";%文件名 & g' G6 T ?# @9 }/ S5 r3 S! M abs_path=fullfile(Path,filename);%合并,绝对路径文件 , ~( n E, J( N clearvars -except abs_path;%清除除了abs_path以外所有变量/ P$ n5 O& ]) i ncdisp(abs_path);%读取所选文件, ~* t# |% S, { whos;toc;0 R! ]/ e7 j7 j5 B8 I2 a1 K %% / s$ z/ D3 m! f v x %第二步:数据读取 ; e: N. F4 l: @ M: D tic;Lat_ini=ncread(abs_path,lat); 1 u* ?2 j9 f8 q9 \% i; x _+ ] Lon_ini=ncread(abs_path,lon);( f: t9 u; v- g4 v Time_ini=ncread(abs_path,time); L g0 W! w! e Lflx_ini=ncread(abs_path,surface_upward_latent_heat_flux);$ j5 C- A3 \' W Sflx_ini=ncread(abs_path,surface_upward_sensible_heat_flux);8 {, a2 ^0 }3 k( U+ F* b& V toc;clear abs_path;7 v0 _& b7 H# B5 t+ i %%5 N# @/ n5 K5 O %第三步:确定边界/截取数据 2 b: }! Y ?! H/ R! N5 c %空间边界:南海范围北纬2°至北纬25° 东经104°至东经124° J4 J& F# Q3 a- }2 O# i tic;Boundary=[104,124;2,25;]%修改范围[经度;纬度],注意顺序 ! H- @/ i5 A) L( z Spatial_Resolution=abs(Lat_ini(1)-Lat_ini(2));Sp_Re=Spatial_Resolution;%自动确定精度 9 X- ?: f5 Z, i k6 q; ?+ ]! T( c Lon_start_No=find(Lon_ini-(Boundary(1))<=Sp_Re&Lon_ini-(Boundary(1))>=0);%找到离104°最近格点的编号(行号)& V2 `! t7 c' f- d6 W Lon_end_No=find(Lon_ini-(Boundary(3))<=Sp_Re&Lon_ini-(Boundary(3))>=0);%找到离124°最近格点的编号(行号)6 M& \' u9 {3 g$ C8 Q Lat_start_No=find(Lat_ini-(Boundary(2))<=Sp_Re&Lat_ini-(Boundary(2))>=0);%找到离2°最近格点的编号(行号) 3 o: Y1 F) w- W5 P Lat_end_No=find(Lat_ini-(Boundary(4))<=Sp_Re&Lat_ini-(Boundary(4))>=0);%找到离25°最近格点的编号(行号), b& L% [& a" B; h$ v9 W& V" K Lon=Lon_ini(Lon_start_No:Lon_end_No);+ H- {" J! X) k& H2 f8 w Lat=Lat_ini(Lat_start_No:Lat_end_No);%北半球可能要颠倒一下编号,因为是从北极往赤道计数的$ t' F, M7 q6 f7 p8 r/ v clear Lat_ini;clear Lon_ini;%回收内存 . f% _ b7 j0 b( d$ R) l3 Q) f+ d, [ Lat=double(Lat);Lon=double(Lon);%双精度化: c/ i1 S! x5 x: w' }9 u latlim=[min(Lat),max(Lat)];lonlim=[min(Lon),max(Lon)];, J+ b6 n$ q( c2 }! M8 [0 o# E( j Time=9%输入时间,注意三小时的倍数 , P& a- O, @1 s8 ~1 [* S% j0 i: E Time_No=Time/3+1; . z& J8 r! B: s" t N %截取数据并降维度 $ b, @* |: i+ ]; p0 Y, c' z Lflx=squeeze(Lflx_ini(Lon_start_No:Lon_end_No,Lat_start_No:Lat_end_No,Time_No));;%北半球有时可能要颠倒一下编号,因为是从北极往赤道计数的1 F) k& M) D* X5 ^' V Sflx=squeeze(Sflx_ini(Lon_start_No:Lon_end_No,Lat_start_No:Lat_end_No,Time_No));;%北半球有时可能要颠倒一下编号,因为是从北极往赤道计数的 / J/ m$ Y' l: N, B% i2 L/ z- E clear Sp_Re;toc;%清除不再使用的变量 - u& a- C& j! \) k- {$ T; F %% 5 |0 W; B# j# u& ~; { %第四步:绘图 0 Z: Y, [- X+ \3 q. \ tic;figure;) \3 J# Q; w7 S m_proj(mercator,lat,latlim,lon,lonlim);1 c/ D5 Q8 `0 ^$ o( x7 g. B [longrid,latgrid]=meshgrid(Lon,Lat);( e: h, O1 J) N$ W4 c9 z m_pcolor(longrid,latgrid,Sflx); %pcolor或contourf 0 T$ r/ m. j: \( I) d tic;m_gshhs_f(patch,k);toc;%添加海岸线:c<l<h<f ; p: [& S9 C) D$ { m_grid(box,fancy,tickdir,in);%网格化 ) I1 s1 U! N' o0 c4 C %brighten(.5);%亮化4 w7 o- R5 I& L colormap(hsv); " @ `$ k5 e6 E7 u( d# g h = colorbar(h);%色标 , h. k6 S- Z- s h.Label.String = W·m^{-2} 1 A8 x7 R7 u5 `) t! s h.Location = eastoutside;%色标位置* T' j+ U9 }: K- @ E# C title([1998年12月31日,num2str(Time),:00,南海海面感热通量],... 5 P* `9 Q6 K; r- |- R FontName,黑体,fontsize,12,FontWeight,"bold") %标题9 D/ ?! s2 l8 L* j xlabel(Longitude);ylabel(Latitude) ;set(gca,fontsize,9);* r7 x d* Q$ D! J/ K N0 ] toc;! I: O$ i7 K5 C" u# Z; U0 T, O( F2 B
8 ?1 \6 ?6 P+ c& g

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

9 l4 \$ _& w% x4 D
) [6 r; @3 U- H- V6 e) e
3 p: i5 [3 ^/ I3 m7 T D6 \: L2 C; u, J, r+ } $ p- X2 [0 z6 h0 q3 j 4 [* |5 @$ a9 X5 J 3 p* z( [" P( T: r& o
回复

举报 使用道具

相关帖子

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