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

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

[复制链接]
& A' _: Y! p2 {. H$ a$ p

图片赏析

$ O) A0 P1 q9 \7 h6 S8 S
% Y" C# L6 k9 D: R: [; U
! b4 W# G+ r$ @% \ P

1 q" x; `. |9 k+ X$ v2 s

前言

% A, E9 s4 S- w. k8 H9 M

3 c- v7 g C9 G

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

/ ]5 }1 ]0 j' r

数据来源:

: S" U& m( Q. W4 Y/ w& K1 j A* ~8 N 2 @7 d! I& Z9 j

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

* j9 h5 K9 _" _: T" V

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

# s) ]+ X9 N; I3 ^ n

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

* w' @! ~6 e+ ^% A v/ z

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

5 u3 V/ j* L- v v4 _

空间精度:0.25°

! m' l) U/ a7 ?& |

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

8 |2 b4 ^7 }8 O' }% w

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

% _4 C0 a" q6 s" N$ U% v- X

源代码

( ~) U0 j+ H5 D! d
%南海1998年12月31日某时的海面热通量数据及分布图" W/ ]" T' C4 w+ X4 J8 A5 d* Z %% ; A6 E/ [5 P" ]1 q3 x %第一步:数据的展示 % d# [2 T: f) `0 A: G tic;Path="E:\OneDrive - Inc\Share_science\NC文件\";%文件夹地址 # V3 u+ \; L ~7 B5 s6 k filename="SEAFLUX-OSB-CDR_V02R00_FLUX_D19981231_C20160824.nc";%文件名8 s: g# j a! ? abs_path=fullfile(Path,filename);%合并,绝对路径文件 1 b" J/ V2 Y1 [! y clearvars -except abs_path;%清除除了abs_path以外所有变量7 v; k, Z7 x8 D9 H1 E" ` ncdisp(abs_path);%读取所选文件4 j q9 Q5 X4 e( s% Z whos;toc; m/ X" e4 t) }* R %% ' V1 A9 K% O9 o0 P4 P( |- Y" ~' n %第二步:数据读取 / v3 j$ m' q; Q! P! h3 W1 @ tic;Lat_ini=ncread(abs_path,lat);' b% e9 ]; `2 z Lon_ini=ncread(abs_path,lon);# A! c' l: Z/ j Time_ini=ncread(abs_path,time);5 b7 I# m% O5 \9 K Lflx_ini=ncread(abs_path,surface_upward_latent_heat_flux); 5 {# x+ B7 A. U, F2 `9 i Sflx_ini=ncread(abs_path,surface_upward_sensible_heat_flux);/ T( n* y: C) K$ X6 Z3 v3 ^5 ^3 w toc;clear abs_path;& F/ Y+ F i0 C, r9 Z %%0 Z* c. T8 s) X4 F, B* C %第三步:确定边界/截取数据 8 v w8 i) N' c6 @' T %空间边界:南海范围北纬2°至北纬25° 东经104°至东经124°6 ?# K/ D% M' K# h& _ tic;Boundary=[104,124;2,25;]%修改范围[经度;纬度],注意顺序3 }' [3 t7 O" @) L4 O) X Spatial_Resolution=abs(Lat_ini(1)-Lat_ini(2));Sp_Re=Spatial_Resolution;%自动确定精度 9 a/ J/ w9 A2 j# }& X9 b# d Lon_start_No=find(Lon_ini-(Boundary(1))<=Sp_Re&Lon_ini-(Boundary(1))>=0);%找到离104°最近格点的编号(行号): V, K4 O. k& s Lon_end_No=find(Lon_ini-(Boundary(3))<=Sp_Re&Lon_ini-(Boundary(3))>=0);%找到离124°最近格点的编号(行号)- }- B; @4 v+ k& H [/ _( a Lat_start_No=find(Lat_ini-(Boundary(2))<=Sp_Re&Lat_ini-(Boundary(2))>=0);%找到离2°最近格点的编号(行号) : z t3 R) }1 h Lat_end_No=find(Lat_ini-(Boundary(4))<=Sp_Re&Lat_ini-(Boundary(4))>=0);%找到离25°最近格点的编号(行号) + Z: k D' H# A! y$ }+ _( u: L( l/ _ Lon=Lon_ini(Lon_start_No:Lon_end_No); " d b2 M! l0 v Lat=Lat_ini(Lat_start_No:Lat_end_No);%北半球可能要颠倒一下编号,因为是从北极往赤道计数的 + L1 [. u0 F8 m6 z( Q clear Lat_ini;clear Lon_ini;%回收内存 / a$ B2 C: c0 Z) |2 R# O! x Lat=double(Lat);Lon=double(Lon);%双精度化! \* Z9 s8 g- g4 [; U4 Y" y latlim=[min(Lat),max(Lat)];lonlim=[min(Lon),max(Lon)];. d# s+ R) D! c. u" _3 p. A Time=9%输入时间,注意三小时的倍数 ! e7 ?+ V$ M+ w Time_No=Time/3+1;- w1 |" p2 b0 Z* z( n %截取数据并降维度 ) _, c7 T6 i! s Lflx=squeeze(Lflx_ini(Lon_start_No:Lon_end_No,Lat_start_No:Lat_end_No,Time_No));;%北半球有时可能要颠倒一下编号,因为是从北极往赤道计数的 * f/ s& w+ O/ @4 j& e Sflx=squeeze(Sflx_ini(Lon_start_No:Lon_end_No,Lat_start_No:Lat_end_No,Time_No));;%北半球有时可能要颠倒一下编号,因为是从北极往赤道计数的 * [( `; Y. D4 e% @5 M clear Sp_Re;toc;%清除不再使用的变量 6 u- s' [0 z' r, k2 P %%! ?5 L; P0 K1 O! l2 ?* p %第四步:绘图 8 k1 T) |1 P' {8 D% {. z tic;figure; : S# P( i8 r* ~: y6 p! @4 H9 c m_proj(mercator,lat,latlim,lon,lonlim); $ `& g' Q& @; l4 a8 h; h [longrid,latgrid]=meshgrid(Lon,Lat);3 }8 q1 l |" R4 Y% M1 G m_pcolor(longrid,latgrid,Sflx); %pcolor或contourf * D3 b0 M/ }3 F7 ^/ ^) u$ b tic;m_gshhs_f(patch,k);toc;%添加海岸线:c<l<h<f ) |+ f+ Y) ?% h+ ?8 J m_grid(box,fancy,tickdir,in);%网格化* q; `$ D3 |" h4 k0 S( ? %brighten(.5);%亮化/ u( H, ]7 x/ V) R colormap(hsv);: m+ P# D% _ {* ` h = colorbar(h);%色标 # J t/ M' y" d. }% J h.Label.String = W·m^{-2} 1 a+ W7 B5 b/ k* C7 x+ H3 p h.Location = eastoutside;%色标位置1 E* h# H; g/ B title([1998年12月31日,num2str(Time),:00,南海海面感热通量],...# [- v: X1 D& t8 r FontName,黑体,fontsize,12,FontWeight,"bold") %标题 ' d7 m$ B7 R t9 U, w2 k xlabel(Longitude);ylabel(Latitude) ;set(gca,fontsize,9);* j" w7 \7 w7 N& C7 Y toc;+ Y; }! e0 H `
1 w7 e2 ], D& w+ O M, T

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

) y/ i! t5 H! }) ~8 [
/ s w" O+ g" B, R
2 ?8 ^' g) R6 @% C) [5 E5 G+ T5 x3 Q, ? ' c1 H" i9 Y# n% a* M) L& |. { 9 P0 q' Z; l, K. G8 [' n ) }" o3 U( h5 r% @5 B% t# U% Z
回复

举报 使用道具

相关帖子

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