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

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

[复制链接]
: e4 ^/ }8 X' k% Y6 m

图片赏析

1 h5 H& H' c* ?4 F
! d c+ r" ?9 v+ H$ \, n. G
9 [$ S A$ N9 B8 r& B$ R

/ }, U* W) a% w, j

前言

) _& z% z2 t2 v3 ^* J

) H' b+ V X( s% q5 Q! s9 l$ I

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

5 g9 H- N0 [# C8 D6 I% x

数据来源:

$ b* H, w' w$ j ; Q+ X; L+ n5 A, A Y

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

: h! R6 p1 Q* r" n6 l

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

% o2 Q+ M0 D" o9 \+ z9 {

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

5 E! a R; v; U8 @/ q

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

" K. }# `& ~7 e; H" ]

空间精度:0.25°

7 s/ b0 I1 d; r1 w" A9 ~5 E& ~

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

, q4 c$ C. u( K8 c$ Z

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

- W2 |- F$ ~) N: x5 @5 X

源代码

& [& Z5 {2 O! L3 m
%南海1998年12月31日某时的海面热通量数据及分布图8 Q, P6 ^1 [( p1 {1 L- f %%+ v( H4 C1 v3 Q0 P %第一步:数据的展示# y, {- x% G, x# ]1 H7 Z9 g tic;Path="E:\OneDrive - Inc\Share_science\NC文件\";%文件夹地址, q$ U& K$ D5 Q& S/ ^3 [ filename="SEAFLUX-OSB-CDR_V02R00_FLUX_D19981231_C20160824.nc";%文件名 7 F! o3 q! Q; i8 E- e abs_path=fullfile(Path,filename);%合并,绝对路径文件7 s [9 h; |& m, w clearvars -except abs_path;%清除除了abs_path以外所有变量/ u) S/ e8 j: t. E ncdisp(abs_path);%读取所选文件* }, k- ]" V0 L9 ?3 j3 Y* S) _( l whos;toc;, Y5 B6 s2 |& E7 v" O. v5 c %% 5 J* D/ N& [& }7 N- f8 |* T, l %第二步:数据读取 - ~, G0 r8 {. e tic;Lat_ini=ncread(abs_path,lat);3 g# _6 o* Y# y Lon_ini=ncread(abs_path,lon);( n0 i$ _( K2 L8 j/ }3 z Time_ini=ncread(abs_path,time); - f5 O+ p5 l! O. L* Y' B1 H Lflx_ini=ncread(abs_path,surface_upward_latent_heat_flux);8 K. }6 p# h$ K p: d Sflx_ini=ncread(abs_path,surface_upward_sensible_heat_flux);, j' l3 N6 S& [4 J2 L toc;clear abs_path;* C2 r, Q. I/ X3 l# ~ %%) K' J& x4 V: }# N8 R %第三步:确定边界/截取数据 ! ^4 G, D c" U% o, r0 i %空间边界:南海范围北纬2°至北纬25° 东经104°至东经124° ' x h/ i# e' _3 s1 k( } tic;Boundary=[104,124;2,25;]%修改范围[经度;纬度],注意顺序 8 D) ?/ ?8 m# ]1 X- ` Spatial_Resolution=abs(Lat_ini(1)-Lat_ini(2));Sp_Re=Spatial_Resolution;%自动确定精度0 J! M5 _1 G& v7 r) l" ~9 V- _% N+ E Lon_start_No=find(Lon_ini-(Boundary(1))<=Sp_Re&Lon_ini-(Boundary(1))>=0);%找到离104°最近格点的编号(行号) , T( K) ?; i# V% `: e$ @1 k( y Lon_end_No=find(Lon_ini-(Boundary(3))<=Sp_Re&Lon_ini-(Boundary(3))>=0);%找到离124°最近格点的编号(行号)3 V1 N5 k. i5 q: O+ Y$ Y& r; q% c6 v Lat_start_No=find(Lat_ini-(Boundary(2))<=Sp_Re&Lat_ini-(Boundary(2))>=0);%找到离2°最近格点的编号(行号) 9 x! o5 p, \2 x, Z Lat_end_No=find(Lat_ini-(Boundary(4))<=Sp_Re&Lat_ini-(Boundary(4))>=0);%找到离25°最近格点的编号(行号): _4 d9 ~) u/ ^; _) b) | Lon=Lon_ini(Lon_start_No:Lon_end_No);" q9 l+ }; c) e1 w. v/ P Lat=Lat_ini(Lat_start_No:Lat_end_No);%北半球可能要颠倒一下编号,因为是从北极往赤道计数的2 Y4 U( ^4 w. {* D clear Lat_ini;clear Lon_ini;%回收内存 8 m+ H3 p% v, ] Lat=double(Lat);Lon=double(Lon);%双精度化 . f1 e. e5 w& Z latlim=[min(Lat),max(Lat)];lonlim=[min(Lon),max(Lon)]; ; x0 v& k( V& \& K/ [. @- ] Time=9%输入时间,注意三小时的倍数4 R _4 L0 n; z" @/ T Time_No=Time/3+1; 2 G# }! t+ w: {5 F3 b* e %截取数据并降维度' J2 h' j. B7 [/ @ Lflx=squeeze(Lflx_ini(Lon_start_No:Lon_end_No,Lat_start_No:Lat_end_No,Time_No));;%北半球有时可能要颠倒一下编号,因为是从北极往赤道计数的 5 `7 ~- Y. S7 b0 X' |, {6 ] Sflx=squeeze(Sflx_ini(Lon_start_No:Lon_end_No,Lat_start_No:Lat_end_No,Time_No));;%北半球有时可能要颠倒一下编号,因为是从北极往赤道计数的 , y$ a& q1 u! j; j+ ~/ s; D9 g2 y clear Sp_Re;toc;%清除不再使用的变量 % Z W7 K$ c% @& d% V3 Y %%. z/ N# N$ _* w" L! ^2 q %第四步:绘图3 f2 k0 c+ a+ m N. G t tic;figure; & S& v9 w' r' z) e m_proj(mercator,lat,latlim,lon,lonlim);3 Y2 C. P5 D2 z+ v8 _ [longrid,latgrid]=meshgrid(Lon,Lat);* W; ^( D( ?# c2 R m_pcolor(longrid,latgrid,Sflx); %pcolor或contourf c; }# n$ Q/ |% W+ g tic;m_gshhs_f(patch,k);toc;%添加海岸线:c<l<h<f 1 H) L4 U" J6 v% w m_grid(box,fancy,tickdir,in);%网格化5 J/ O% ?- F. [8 ` %brighten(.5);%亮化 $ w, y% _8 Q8 K1 ~: }. h7 J colormap(hsv); * ~9 W; g& a {! l) E h = colorbar(h);%色标 ' J7 d6 h( B2 b h.Label.String = W·m^{-2}" r3 V; f% g& [$ \& _ h.Location = eastoutside;%色标位置$ J6 ?, } G/ c0 H title([1998年12月31日,num2str(Time),:00,南海海面感热通量],...% t" P( l3 I* }; z FontName,黑体,fontsize,12,FontWeight,"bold") %标题! {0 X9 ]) s7 |: _ xlabel(Longitude);ylabel(Latitude) ;set(gca,fontsize,9);2 o3 h2 E2 C( n5 e/ {6 ^ d. r toc;/ a5 f6 y3 j# B8 s
. N1 p% h+ ^$ O- {5 u

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

4 n& z0 U- Q) t: b! S' ]8 c8 R
# Q5 K% C9 s9 M; U8 ?! [) v1 Q/ J
: O B8 q# F/ g5 ^ , z& _, V, S2 P) \. {( @+ Z8 x' n3 S4 t / a/ b0 v" c5 F4 J8 [: w/ h' M# p8 b" ]. k3 N# l2 B
回复

举报 使用道具

相关帖子

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