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

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

[复制链接]
: H! B! [7 L j

图片赏析

6 Q* @1 V5 a$ G! a& Y
' p* {2 @! H3 J9 l7 z; O) _
' p- h. C& h( K

6 a& i5 `/ r. ^/ _3 Y X

前言

8 x( V! I6 w+ U3 c, p

9 K) X8 y- T- S- U0 v( ]

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

: l) |' ~* J! c; Z( f3 I7 g

数据来源:

! \4 B; ^' f5 [3 [- C+ { c# e6 ^; f5 r; y% G

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

: R0 I7 M% G3 X$ a

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

# i2 b2 L8 U9 ~( y" R

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

& v U; R' Q1 d% s% R) f

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

3 a7 a n7 f" i- i/ L; H

空间精度:0.25°

* {" B- w; m; A% v

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

: x! _# ]4 b" k' g$ O

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

" A$ V) e& G& k6 g8 P/ t# b1 F$ s

源代码

. N Q9 `( k6 H" H, T7 n
%南海1998年12月31日某时的海面热通量数据及分布图3 ]( d. T7 c4 h; f( x' Q& J %% 5 ], z8 x( b, r- t8 `4 L %第一步:数据的展示' ^$ I1 Q, c& {/ R tic;Path="E:\OneDrive - Inc\Share_science\NC文件\";%文件夹地址3 J2 Z: f% P* z% v3 b% I# b filename="SEAFLUX-OSB-CDR_V02R00_FLUX_D19981231_C20160824.nc";%文件名 0 f% b( X9 @! }. U7 ^4 T; c abs_path=fullfile(Path,filename);%合并,绝对路径文件 $ ]# v2 l3 l+ q; ]2 y! g4 d clearvars -except abs_path;%清除除了abs_path以外所有变量 7 ]0 H; |: n- F4 | ncdisp(abs_path);%读取所选文件 ; \6 U! S u# B whos;toc; 8 ?% ` Y7 y# i8 ?3 ^# T; Z0 q3 } %% - z" G! G/ C& G1 ` %第二步:数据读取 4 V0 W& e7 m( O" ~. R q \ tic;Lat_ini=ncread(abs_path,lat); 3 Z( c! c1 S7 Z) z; l) D" N6 x+ z Lon_ini=ncread(abs_path,lon);# t% K4 \+ H6 n: n' ~6 Y Time_ini=ncread(abs_path,time);: W0 C4 k, t& [5 V0 ~ Lflx_ini=ncread(abs_path,surface_upward_latent_heat_flux); 6 ]. b. q# ^! l Sflx_ini=ncread(abs_path,surface_upward_sensible_heat_flux);6 c, O y3 s4 w5 l, k7 x toc;clear abs_path;6 H0 l6 C- ^4 P; X %%" X3 l+ w2 s' y4 z3 L; z+ v %第三步:确定边界/截取数据$ X' S" _0 G1 _9 a8 ~2 Y* T4 f %空间边界:南海范围北纬2°至北纬25° 东经104°至东经124°4 K6 M% _) t) X1 h tic;Boundary=[104,124;2,25;]%修改范围[经度;纬度],注意顺序 8 n8 i6 w8 Q) G* w; _+ \4 [ Spatial_Resolution=abs(Lat_ini(1)-Lat_ini(2));Sp_Re=Spatial_Resolution;%自动确定精度; s' Q( S+ ^' C Lon_start_No=find(Lon_ini-(Boundary(1))<=Sp_Re&Lon_ini-(Boundary(1))>=0);%找到离104°最近格点的编号(行号), V/ X4 e4 L. z4 X Lon_end_No=find(Lon_ini-(Boundary(3))<=Sp_Re&Lon_ini-(Boundary(3))>=0);%找到离124°最近格点的编号(行号)4 Z* ?, E! R2 C Lat_start_No=find(Lat_ini-(Boundary(2))<=Sp_Re&Lat_ini-(Boundary(2))>=0);%找到离2°最近格点的编号(行号)- Z* u" L% N1 F2 i: f Lat_end_No=find(Lat_ini-(Boundary(4))<=Sp_Re&Lat_ini-(Boundary(4))>=0);%找到离25°最近格点的编号(行号) ! M: u# ], q7 _7 D% k" J Lon=Lon_ini(Lon_start_No:Lon_end_No);$ {, p% h/ ^+ {4 O- H( w2 ^2 j Lat=Lat_ini(Lat_start_No:Lat_end_No);%北半球可能要颠倒一下编号,因为是从北极往赤道计数的 & ~# D! L, U' k; U" i( P clear Lat_ini;clear Lon_ini;%回收内存 . N; P# O. U$ ^9 Y5 L$ C+ L# w$ x Lat=double(Lat);Lon=double(Lon);%双精度化 2 \, R6 i- @2 a: t latlim=[min(Lat),max(Lat)];lonlim=[min(Lon),max(Lon)]; ( n9 i9 `% h" N# z% p Time=9%输入时间,注意三小时的倍数 4 w8 F/ x" j- \8 S+ y* e0 k Time_No=Time/3+1; . [/ r* [* F4 e! b! W* O5 q %截取数据并降维度$ _0 s B& I3 S* F: Q7 q* G Lflx=squeeze(Lflx_ini(Lon_start_No:Lon_end_No,Lat_start_No:Lat_end_No,Time_No));;%北半球有时可能要颠倒一下编号,因为是从北极往赤道计数的. ^! f3 \" }- s- s% e% z8 Y8 ~) ] Sflx=squeeze(Sflx_ini(Lon_start_No:Lon_end_No,Lat_start_No:Lat_end_No,Time_No));;%北半球有时可能要颠倒一下编号,因为是从北极往赤道计数的 r9 e& C% O4 X7 u$ Y clear Sp_Re;toc;%清除不再使用的变量 / n- @; |" n$ y7 M %% $ v' M! ^( R; A- [. K %第四步:绘图 6 V) C0 w$ n9 I5 K( q2 b% t tic;figure; # _/ I$ ]$ q$ M0 Q" e m_proj(mercator,lat,latlim,lon,lonlim); * E; I, D% N) {3 H7 U3 E9 T [longrid,latgrid]=meshgrid(Lon,Lat);3 B5 R- z Z5 u# J m_pcolor(longrid,latgrid,Sflx); %pcolor或contourf ; q; {. o% h; _ tic;m_gshhs_f(patch,k);toc;%添加海岸线:c<l<h<f9 d u+ _7 G2 i; X1 ^' j m_grid(box,fancy,tickdir,in);%网格化 # d" }, Q& I6 d9 G1 L9 y! r1 s7 q %brighten(.5);%亮化- i( |4 V0 N) A6 P Z% K, F, l; _2 Y colormap(hsv);- m9 d7 Y& [; ]) [ h = colorbar(h);%色标 c9 o2 O4 ^) a# `4 \# H X h.Label.String = W·m^{-2}1 @+ U4 C" c! d) V4 D) O/ P h.Location = eastoutside;%色标位置) Q6 ^) }6 W0 L& C title([1998年12月31日,num2str(Time),:00,南海海面感热通量],...7 {% b+ W# \) e. I( t! Q/ g FontName,黑体,fontsize,12,FontWeight,"bold") %标题& m+ l( g5 B- a$ j' ^! e xlabel(Longitude);ylabel(Latitude) ;set(gca,fontsize,9); + ], {; Z5 Y$ Z" o2 z- b4 A2 d toc;. f- {9 s! b* `5 P4 G2 h
5 I0 D1 K" C9 e/ z9 O7 S

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

, y3 M: T4 Y9 N- r0 V/ ]
?/ w! F6 o4 ~& {2 w
- g8 J+ k2 D7 e/ p2 v 8 s2 Y& ~# P- j, q0 Y / W. ?" C& _' N- ]. H: r! i. E 3 q- W7 ~7 G0 _2 z5 I' c 6 u* f2 y: Q! j7 A3 _
回复

举报 使用道具

相关帖子

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