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

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

[复制链接]
* w9 t' z( q2 J) {) o% V

图片赏析

! h: e5 z ^3 }
, B1 G5 L" `3 a6 j3 R, h! o% L
7 e2 |4 u/ U8 L* G: V

- _ g3 \9 U6 N& i4 r1 k& E

前言

( ?% Q! w9 K3 j

, y k% b8 R0 o' e

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

" ]3 c! I G' U( L

数据来源:

8 R. K4 ?- E3 k2 N. A * F" H7 \6 Y- W4 Y5 G. n6 Y' D

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

t: ?+ p; g+ V2 e' w2 Z

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

3 `6 Q6 w$ C9 ]: [' J2 u

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

6 C4 V3 x1 J* s. j: [3 a- i! j: f

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

+ t9 f( ?( K3 Q# [, s5 r

空间精度:0.25°

8 }, \+ b, }8 w8 B O& \( k" _

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

! r$ I/ k5 Y+ T

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

: T4 E. M5 y9 H

源代码

& O8 v R) s y) b ?: @9 f
%南海1998年12月31日某时的海面热通量数据及分布图/ _; Q( r& F5 M* R' e %% 6 L. ] L5 y. k/ L %第一步:数据的展示2 }( n" h- Y) w. U. A- K8 y+ l tic;Path="E:\OneDrive - Inc\Share_science\NC文件\";%文件夹地址 ! Q9 X; N! y) R( N' R! v% ? E filename="SEAFLUX-OSB-CDR_V02R00_FLUX_D19981231_C20160824.nc";%文件名 8 N& d1 W* O4 O5 t3 z abs_path=fullfile(Path,filename);%合并,绝对路径文件, v0 V- p5 Y: J5 {4 F clearvars -except abs_path;%清除除了abs_path以外所有变量 . p2 E* f+ V# g3 f0 U+ ~ ncdisp(abs_path);%读取所选文件- E+ `# n2 c5 i9 [- q whos;toc;1 s8 d: P" }: t; ~- ]9 W' _7 }/ L# p %% & ]+ |; D- G$ c %第二步:数据读取3 Y0 g& _( U1 |: m tic;Lat_ini=ncread(abs_path,lat);% u0 `& p7 \0 _ Lon_ini=ncread(abs_path,lon); ) C2 G/ g/ M2 P( U3 C Time_ini=ncread(abs_path,time);6 ~( i2 w) H- I Lflx_ini=ncread(abs_path,surface_upward_latent_heat_flux); 4 N) g4 `$ d, x Sflx_ini=ncread(abs_path,surface_upward_sensible_heat_flux);4 ^3 h% G7 k8 J) z: ]9 D4 f toc;clear abs_path;: N8 w9 [! q) C3 p7 L( e+ Y %% * g, r5 p) @; V: U L- @; j& | %第三步:确定边界/截取数据$ s0 |. R3 ^& u: ]; y! u %空间边界:南海范围北纬2°至北纬25° 东经104°至东经124°% _9 C- m6 j4 `7 W! r& O0 X/ b3 \. s( C tic;Boundary=[104,124;2,25;]%修改范围[经度;纬度],注意顺序. ?) P( x9 n) n3 l9 | Spatial_Resolution=abs(Lat_ini(1)-Lat_ini(2));Sp_Re=Spatial_Resolution;%自动确定精度5 Y) U* z0 `7 c" ` Lon_start_No=find(Lon_ini-(Boundary(1))<=Sp_Re&Lon_ini-(Boundary(1))>=0);%找到离104°最近格点的编号(行号) 0 [7 c. h" C* v$ e2 ` Lon_end_No=find(Lon_ini-(Boundary(3))<=Sp_Re&Lon_ini-(Boundary(3))>=0);%找到离124°最近格点的编号(行号) ( u8 B3 L; I4 E$ N% n1 K Lat_start_No=find(Lat_ini-(Boundary(2))<=Sp_Re&Lat_ini-(Boundary(2))>=0);%找到离2°最近格点的编号(行号) ! s( D- _* p6 `% S3 _ Lat_end_No=find(Lat_ini-(Boundary(4))<=Sp_Re&Lat_ini-(Boundary(4))>=0);%找到离25°最近格点的编号(行号)8 Z( B6 f& s- e7 g0 l Lon=Lon_ini(Lon_start_No:Lon_end_No);/ A. F( M2 Q5 J) Y Lat=Lat_ini(Lat_start_No:Lat_end_No);%北半球可能要颠倒一下编号,因为是从北极往赤道计数的0 i6 t. n/ g, ]2 c clear Lat_ini;clear Lon_ini;%回收内存 . D% v& R9 n0 u# w$ P# I4 ]% d Lat=double(Lat);Lon=double(Lon);%双精度化/ Z5 z# d6 j! v latlim=[min(Lat),max(Lat)];lonlim=[min(Lon),max(Lon)];8 O, P( c2 H. U3 T/ [/ V Time=9%输入时间,注意三小时的倍数 + |, [- o, W! H; B: u1 p Time_No=Time/3+1; 9 D% \9 p/ b4 E+ p9 r %截取数据并降维度 0 V2 J7 }8 N/ }" u0 s( r Lflx=squeeze(Lflx_ini(Lon_start_No:Lon_end_No,Lat_start_No:Lat_end_No,Time_No));;%北半球有时可能要颠倒一下编号,因为是从北极往赤道计数的% X, V: ~- J) j9 u Sflx=squeeze(Sflx_ini(Lon_start_No:Lon_end_No,Lat_start_No:Lat_end_No,Time_No));;%北半球有时可能要颠倒一下编号,因为是从北极往赤道计数的0 B* k: t k7 ~: ^& f clear Sp_Re;toc;%清除不再使用的变量 ' i( |' C9 C0 P: d3 k %% ) q: {" f1 W! [( g4 w' S0 {9 o %第四步:绘图 % ~0 w* M: d. s$ }. L tic;figure; ; t$ \: n: F* b$ l$ P1 a5 | m_proj(mercator,lat,latlim,lon,lonlim); 8 S% x1 @- K3 { [longrid,latgrid]=meshgrid(Lon,Lat);8 P' n" U$ z- u3 O0 E2 J5 D3 t' A m_pcolor(longrid,latgrid,Sflx); %pcolor或contourf; o% `- k3 v4 w, d- Q8 { tic;m_gshhs_f(patch,k);toc;%添加海岸线:c<l<h<f- ~+ q2 F. L+ [8 S m_grid(box,fancy,tickdir,in);%网格化; s% c7 n3 n0 y% S %brighten(.5);%亮化 4 L9 N* e5 b4 \4 O colormap(hsv); 5 T; W! O) D/ B' ~4 r" S h = colorbar(h);%色标 , x, @+ r* V3 G+ m& y h.Label.String = W·m^{-2}3 V- N2 @3 \7 X h.Location = eastoutside;%色标位置1 d. _3 a* P3 | title([1998年12月31日,num2str(Time),:00,南海海面感热通量],...) E0 J# s% T0 W. e! } FontName,黑体,fontsize,12,FontWeight,"bold") %标题 $ k" [8 q. {3 V o# U xlabel(Longitude);ylabel(Latitude) ;set(gca,fontsize,9);# G1 ? y7 A" e6 O) l+ H8 X toc; 7 N2 g% f Z4 ~$ I: r; C# |
1 ?) y$ C9 d" h- W

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

. z ?; U6 c7 S# x
( e3 q) m: l9 K* o3 O1 V$ H5 `
3 i/ g( P7 I+ D8 K2 U- Y $ w6 h% U0 T3 u ' v9 N7 {; ~) W- @1 [. o) b % C& R. x+ J% t* ` J4 J! ~4 p% |6 C4 m# D: R! `
回复

举报 使用道具

相关帖子

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