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

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

[复制链接]
! _+ l8 Z- G- @: ]

图片赏析

0 o, l( w& [( t) J7 j* T: @
+ A, n, r0 u, _/ Z" M
' m! j; ~( ^# @

& c- l g( @# _# B

前言

2 o5 B& N" U: \9 }

2 L* E( n2 e: v& e l8 ~6 m* }

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

9 w" Z9 o* y z9 ~; K& {

数据来源:

4 J/ Z7 O; y# ~5 e Q0 g 0 q; j& k+ A9 i+ }8 X1 l

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

! W J2 {) m5 D" }5 P- }

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

( ]6 j7 M" X+ m* C: J) C& W5 L) m- W

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

2 z7 A' n2 [7 f* e; w) C: w

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

# y2 e9 m0 ?7 h; R6 C: N

空间精度:0.25°

. x F% o" J. m' `5 p

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

/ X% h3 t& n L) m( e

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

3 Z0 _6 F# }* |, g

源代码

' z- N$ T: B6 H( K7 c9 v; ~
%南海1998年12月31日某时的海面热通量数据及分布图5 h" Q- [, Z3 F- J% M% g a %%2 j3 t) e. p- P. h2 X %第一步:数据的展示& J" P" P; c* `3 ] tic;Path="E:\OneDrive - Inc\Share_science\NC文件\";%文件夹地址 - n8 E2 X' h8 t filename="SEAFLUX-OSB-CDR_V02R00_FLUX_D19981231_C20160824.nc";%文件名 + e6 O4 ?# `. F) n* G# q abs_path=fullfile(Path,filename);%合并,绝对路径文件! [1 ]- C( \* b. j clearvars -except abs_path;%清除除了abs_path以外所有变量 8 w+ I; \ ?7 W* f y D7 n ncdisp(abs_path);%读取所选文件& z; q# [4 d8 o/ a! P4 ` whos;toc; + h$ m0 q) a- N2 x; L %% , f8 h6 c s) ~4 M %第二步:数据读取- X( k# ?* c9 S tic;Lat_ini=ncread(abs_path,lat); 7 B+ z0 I' I {4 K8 f Lon_ini=ncread(abs_path,lon); ) w) `% n9 J. _, s5 o Time_ini=ncread(abs_path,time); 6 [0 [1 ]5 v3 e: e( U Lflx_ini=ncread(abs_path,surface_upward_latent_heat_flux); " Y' y+ ?( z d; h: O' g% X Sflx_ini=ncread(abs_path,surface_upward_sensible_heat_flux);: X% V# m2 |+ _& s- c toc;clear abs_path;/ H" x' {/ W5 Y( M. B" p %% ! Z% J5 G6 K; f+ r %第三步:确定边界/截取数据 : b7 `# i1 w' y %空间边界:南海范围北纬2°至北纬25° 东经104°至东经124°* u, W& b! Q2 O# r tic;Boundary=[104,124;2,25;]%修改范围[经度;纬度],注意顺序 " a$ O- w% d* d6 |" I4 } Spatial_Resolution=abs(Lat_ini(1)-Lat_ini(2));Sp_Re=Spatial_Resolution;%自动确定精度 5 H. t! f" I" l! k Lon_start_No=find(Lon_ini-(Boundary(1))<=Sp_Re&Lon_ini-(Boundary(1))>=0);%找到离104°最近格点的编号(行号) a" o9 K0 E2 V! P5 P Lon_end_No=find(Lon_ini-(Boundary(3))<=Sp_Re&Lon_ini-(Boundary(3))>=0);%找到离124°最近格点的编号(行号)+ N( G- U, {4 t1 J1 q3 K8 [ Lat_start_No=find(Lat_ini-(Boundary(2))<=Sp_Re&Lat_ini-(Boundary(2))>=0);%找到离2°最近格点的编号(行号) : g6 }6 p- c) s% b, j Lat_end_No=find(Lat_ini-(Boundary(4))<=Sp_Re&Lat_ini-(Boundary(4))>=0);%找到离25°最近格点的编号(行号)7 |4 H, ]" z3 A/ B6 J4 |3 R+ \ Lon=Lon_ini(Lon_start_No:Lon_end_No);6 Q; }# o( J! r/ V; P8 W* F5 T Lat=Lat_ini(Lat_start_No:Lat_end_No);%北半球可能要颠倒一下编号,因为是从北极往赤道计数的' w: D5 F* ~1 C4 W, t3 Z+ \ K8 k clear Lat_ini;clear Lon_ini;%回收内存' p% z" ]: a% F6 ` k Lat=double(Lat);Lon=double(Lon);%双精度化' t9 p& j- H$ Z% o! Y latlim=[min(Lat),max(Lat)];lonlim=[min(Lon),max(Lon)]; ( C( l- g% A a( _ Time=9%输入时间,注意三小时的倍数 + R. l% i: `/ U3 Y l! I Time_No=Time/3+1;, v) q" Q$ ?# l& k1 } %截取数据并降维度 0 C x. e$ W' L+ L5 T/ _5 a Lflx=squeeze(Lflx_ini(Lon_start_No:Lon_end_No,Lat_start_No:Lat_end_No,Time_No));;%北半球有时可能要颠倒一下编号,因为是从北极往赤道计数的 - ?, i+ H. B' w- D9 ]( r Sflx=squeeze(Sflx_ini(Lon_start_No:Lon_end_No,Lat_start_No:Lat_end_No,Time_No));;%北半球有时可能要颠倒一下编号,因为是从北极往赤道计数的 c& t* n: @5 G- z. G8 d clear Sp_Re;toc;%清除不再使用的变量/ t `0 V3 Y+ ^; v %% 0 i/ o" L8 g5 i8 k5 _3 \" } %第四步:绘图 6 V3 v3 W( p& V' k2 [ tic;figure; 1 y( p4 S* H7 D m_proj(mercator,lat,latlim,lon,lonlim); ( w9 O1 m3 a& l: B5 u [longrid,latgrid]=meshgrid(Lon,Lat);/ T; Y) T* ]9 @ m_pcolor(longrid,latgrid,Sflx); %pcolor或contourf 8 Q, ^4 k) O1 g8 F3 i) A" t tic;m_gshhs_f(patch,k);toc;%添加海岸线:c<l<h<f / P4 X) e" A% x; v$ O m_grid(box,fancy,tickdir,in);%网格化 ( D6 d! _0 @) u6 R' Y j %brighten(.5);%亮化/ ? ]0 D) m! Q8 R+ Q colormap(hsv); $ g9 F1 N0 L/ V# C2 ^! t2 p- b h = colorbar(h);%色标! i4 J% H5 S' I: j8 j! c h.Label.String = W·m^{-2}1 |8 s3 o* x0 r6 K: F h.Location = eastoutside;%色标位置 $ F+ W8 F& A; M$ w title([1998年12月31日,num2str(Time),:00,南海海面感热通量],...9 g/ g9 ]- @- y: b4 ~8 l FontName,黑体,fontsize,12,FontWeight,"bold") %标题3 u! M) I0 p p! g" W# ~ xlabel(Longitude);ylabel(Latitude) ;set(gca,fontsize,9); 3 Z1 t7 \* b v toc; 4 G$ c" t5 m+ B: z
) ?3 f* G$ I, \

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

& N3 ]! v1 b2 P) ^, J% f2 ^
7 y+ t6 E1 ?5 h* u8 f* t9 q
5 W( |3 E* Y! n" @ f! T - F9 W9 ?% B" O. d6 s/ H ) A0 c% U$ P7 s) S( O6 n4 d+ y; w. P( {: n8 ] + N$ g/ r7 [0 Z: |
回复

举报 使用道具

相关帖子

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