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

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

[复制链接]
; E/ b- ~+ U, W

图片赏析

7 L1 G6 t: {; B( [# V2 K
8 V( h- e" x$ L. r7 B
5 _ G9 f( K+ |: ~

" \( d; g. k& F

前言

5 y: _% B7 j, d$ e* G5 G8 X

2 y! ?- v) U& I1 |" y( t0 S

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

& \9 p* W1 J9 D/ A# l7 u

数据来源:

5 L* {9 a$ {- l, G " E4 o7 `. v$ s( q7 l% d

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

- f( ~6 J5 F S. A# c4 h

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

' m7 q& c0 U" z

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

8 S# Z- ^& P% }4 h* m5 S' F

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

7 F/ a3 ^5 y$ p0 ?, _9 G

空间精度:0.25°

) C) \2 d# [; H# d2 D6 p% Z

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

: ]8 u n" |) ?' |, o

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

6 z2 m. ~& u( M* D+ P

源代码

) D( ?! B t+ Q+ J. d
%南海1998年12月31日某时的海面热通量数据及分布图 7 P+ V( ?) \" @3 ? P* x: v %% $ p6 F' W4 J7 d5 o: g% f %第一步:数据的展示+ a7 G/ i! J- V* C, d tic;Path="E:\OneDrive - Inc\Share_science\NC文件\";%文件夹地址 2 Y) h6 M, }6 @ _# U filename="SEAFLUX-OSB-CDR_V02R00_FLUX_D19981231_C20160824.nc";%文件名 E! e4 I6 r1 o; z2 @ abs_path=fullfile(Path,filename);%合并,绝对路径文件 3 K, E7 f& k& Z3 u clearvars -except abs_path;%清除除了abs_path以外所有变量 $ F) B6 ]3 e1 R7 f2 i, @! T! D) | ncdisp(abs_path);%读取所选文件 * g) k2 [- `* H+ O0 h5 \ whos;toc;, w4 {' u" B' Z/ v3 N0 Q %% 8 O" b4 d* Z/ X- D8 ]! ^* _4 o( b) o5 Z %第二步:数据读取 + Z' i" V) q/ G5 u* f- A tic;Lat_ini=ncread(abs_path,lat);. z2 c- t- H! i7 ?" ]7 I Lon_ini=ncread(abs_path,lon);$ Z1 Z' C7 J7 F, F Time_ini=ncread(abs_path,time);# C/ { V: G7 ?7 g, W. V/ e B3 T Lflx_ini=ncread(abs_path,surface_upward_latent_heat_flux);1 l5 j& ]: W7 ]- } x Sflx_ini=ncread(abs_path,surface_upward_sensible_heat_flux); , ^$ n; \! t& _7 g% f, J# o" }0 }, v toc;clear abs_path; 9 B3 {' P/ W: C. ~" Q %%& ^* J9 `& d+ w6 `9 t %第三步:确定边界/截取数据. B6 N) T: S( e7 ]9 e. E %空间边界:南海范围北纬2°至北纬25° 东经104°至东经124°4 Y1 S& u1 q+ o9 b tic;Boundary=[104,124;2,25;]%修改范围[经度;纬度],注意顺序- l; d+ [- \/ F. { Spatial_Resolution=abs(Lat_ini(1)-Lat_ini(2));Sp_Re=Spatial_Resolution;%自动确定精度 0 m. l" @8 [2 T* t# p5 H1 ] Lon_start_No=find(Lon_ini-(Boundary(1))<=Sp_Re&Lon_ini-(Boundary(1))>=0);%找到离104°最近格点的编号(行号) 9 G# V* ?7 t3 w/ O6 v Lon_end_No=find(Lon_ini-(Boundary(3))<=Sp_Re&Lon_ini-(Boundary(3))>=0);%找到离124°最近格点的编号(行号) $ L5 ]2 \: F4 t) ` Lat_start_No=find(Lat_ini-(Boundary(2))<=Sp_Re&Lat_ini-(Boundary(2))>=0);%找到离2°最近格点的编号(行号) 6 x4 r5 w0 l! g$ c2 P Lat_end_No=find(Lat_ini-(Boundary(4))<=Sp_Re&Lat_ini-(Boundary(4))>=0);%找到离25°最近格点的编号(行号): W) ]2 u# U# D) y1 W/ H Lon=Lon_ini(Lon_start_No:Lon_end_No);! T9 B6 O' {7 r3 Q4 P Lat=Lat_ini(Lat_start_No:Lat_end_No);%北半球可能要颠倒一下编号,因为是从北极往赤道计数的4 l* h! C1 w0 o* s clear Lat_ini;clear Lon_ini;%回收内存 $ S3 _% s5 c; M Lat=double(Lat);Lon=double(Lon);%双精度化+ ?5 s3 o+ e2 q6 \6 m5 S( q% E latlim=[min(Lat),max(Lat)];lonlim=[min(Lon),max(Lon)];; X- k. k! h$ ~( I, q1 Q4 | Time=9%输入时间,注意三小时的倍数 * W9 F P: @% [8 X: w- ` Time_No=Time/3+1; % p% A5 E* I; T& t- j# p+ `. n0 z %截取数据并降维度( Y, q- O( u7 p Lflx=squeeze(Lflx_ini(Lon_start_No:Lon_end_No,Lat_start_No:Lat_end_No,Time_No));;%北半球有时可能要颠倒一下编号,因为是从北极往赤道计数的 j; n* l( }& e" j1 t( K Sflx=squeeze(Sflx_ini(Lon_start_No:Lon_end_No,Lat_start_No:Lat_end_No,Time_No));;%北半球有时可能要颠倒一下编号,因为是从北极往赤道计数的 8 O/ [3 I! p% u* ~' v: G6 l6 A clear Sp_Re;toc;%清除不再使用的变量 x. R8 F/ I8 I3 x6 q$ Y %% 4 b1 ~! h! I2 {, I %第四步:绘图 : V1 x$ c" N( P/ q1 ^0 n- ]2 K1 W tic;figure; ( o$ A0 L$ M1 X# W. e- T# ` m_proj(mercator,lat,latlim,lon,lonlim);5 w. {( Q; V: S, D [longrid,latgrid]=meshgrid(Lon,Lat);, @4 c+ n8 G2 {7 v" F" e$ _/ x/ { m_pcolor(longrid,latgrid,Sflx); %pcolor或contourf& {- |) _% ^: G) Q6 i# H tic;m_gshhs_f(patch,k);toc;%添加海岸线:c<l<h<f6 y* k+ d2 C2 N+ a4 T m_grid(box,fancy,tickdir,in);%网格化 # W5 z4 J# D6 ^6 S$ V! Z %brighten(.5);%亮化 - b- m% t& U7 E: m; r$ _ colormap(hsv); - a- z- h3 m$ l h = colorbar(h);%色标2 f% R' c! E: ^% v. i h.Label.String = W·m^{-2}+ k* Q$ J+ [4 k: |7 x3 g h.Location = eastoutside;%色标位置 , {9 M6 w, v7 G1 r0 \ title([1998年12月31日,num2str(Time),:00,南海海面感热通量],...* J2 }" f6 R7 t' ?4 K T. ^ FontName,黑体,fontsize,12,FontWeight,"bold") %标题 3 q: L, K9 _( r- v xlabel(Longitude);ylabel(Latitude) ;set(gca,fontsize,9); ) a @! _3 a; `5 j( S. { toc;! G, ~2 L4 K; |# O. d6 N( t0 l( l
6 X& l. {- g- o W V! p. ^% V

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

! |. C! M, W2 q ^9 N$ B
" w0 v, w$ B: n, F; Y3 F0 V
; x- Z3 R: f7 E# O" w: U+ S: `, S. ]1 S 6 F5 ~# y# ~+ q0 Q, k6 J) t ; }$ l* R1 V L y4 d. M 0 @ l7 z0 s3 p( D5 `# y2 l
回复

举报 使用道具

相关帖子

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