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

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

[复制链接]
0 H, P5 C: J4 p

图片赏析

/ y. t3 t. Z* H. z
_6 R$ `- n/ x) b1 ?/ {- z/ P
) D6 t/ j5 ], |. E! g" E

# `9 q6 y$ L, x7 ]0 Z# J

前言

, L) r& H8 D, ?

, K( y6 U( F. K+ x. y

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

1 k/ j7 e9 q3 R- A, u4 h

数据来源:

4 p% J0 b! ~! D; M+ ~3 t3 g " _; X l& Y$ f1 f

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

; p/ O. j5 w" ~! ]" T

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

2 T, I7 f k( `" w

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

1 r4 O1 h; E* Q8 {8 a1 C$ g

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

* R7 h9 \1 B) r! Q" u% N+ u

空间精度:0.25°

: Z; e# n5 e" z' C# W% u# X) N

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

$ n6 J. a4 t4 {$ f t* U6 @4 m' w

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

9 X+ m% A) Y9 k2 I$ D$ F

源代码

+ A3 y4 A; X6 O0 \
%南海1998年12月31日某时的海面热通量数据及分布图 A; T$ u5 t! E7 B% g0 E %%8 E% r8 S2 R6 W$ }5 | %第一步:数据的展示 ( z9 ~- T, M) u) v3 B tic;Path="E:\OneDrive - Inc\Share_science\NC文件\";%文件夹地址. n( v. [, x3 f7 S( I7 @ filename="SEAFLUX-OSB-CDR_V02R00_FLUX_D19981231_C20160824.nc";%文件名, ~0 u# P# @- o @; } abs_path=fullfile(Path,filename);%合并,绝对路径文件+ e- P- i) L. m) f, ^$ \# d clearvars -except abs_path;%清除除了abs_path以外所有变量 & j+ [# z: R/ ` ncdisp(abs_path);%读取所选文件 8 c6 S+ U0 I1 `7 |0 L whos;toc; ' t6 H9 z$ V4 Y' z; r" B# ?, ^6 c %% + D |0 Q- o9 i: ~6 u3 O. `/ O: u %第二步:数据读取 . j9 l: r; N. C1 a% o tic;Lat_ini=ncread(abs_path,lat);- j! E! I5 I! V. s" ^ Lon_ini=ncread(abs_path,lon);' i8 y: o# _" k0 R% E4 S3 { Time_ini=ncread(abs_path,time);, \+ w$ M5 ~. d$ ~ l Lflx_ini=ncread(abs_path,surface_upward_latent_heat_flux); 2 ]8 |) \6 e- {- a& s Sflx_ini=ncread(abs_path,surface_upward_sensible_heat_flux); , M, p7 ?0 q: v0 ~# Z% J: M toc;clear abs_path;" y) ^0 a% ?5 ^' r7 j %% " i5 ~% z* w, o4 G. }& R6 O( x %第三步:确定边界/截取数据 & R- {. B6 ~$ E3 G %空间边界:南海范围北纬2°至北纬25° 东经104°至东经124° " c; u: x3 d% ]4 g2 I. ~ tic;Boundary=[104,124;2,25;]%修改范围[经度;纬度],注意顺序 # m5 C+ t" J6 @# ?( f4 r Spatial_Resolution=abs(Lat_ini(1)-Lat_ini(2));Sp_Re=Spatial_Resolution;%自动确定精度 ( ~0 B% l$ ` p+ m c' m7 } Lon_start_No=find(Lon_ini-(Boundary(1))<=Sp_Re&Lon_ini-(Boundary(1))>=0);%找到离104°最近格点的编号(行号), t* Z6 I6 h# } Lon_end_No=find(Lon_ini-(Boundary(3))<=Sp_Re&Lon_ini-(Boundary(3))>=0);%找到离124°最近格点的编号(行号) 7 a' O+ H; o* b6 } Lat_start_No=find(Lat_ini-(Boundary(2))<=Sp_Re&Lat_ini-(Boundary(2))>=0);%找到离2°最近格点的编号(行号) : \- _# e+ H, Y8 U$ W6 `& } _ Lat_end_No=find(Lat_ini-(Boundary(4))<=Sp_Re&Lat_ini-(Boundary(4))>=0);%找到离25°最近格点的编号(行号) / ~8 J8 R! g5 f! f5 q8 x. h Lon=Lon_ini(Lon_start_No:Lon_end_No); " ~, }& T* Y( L( o' N* a+ y Lat=Lat_ini(Lat_start_No:Lat_end_No);%北半球可能要颠倒一下编号,因为是从北极往赤道计数的 \ y1 s: R2 q1 L clear Lat_ini;clear Lon_ini;%回收内存 9 `3 Q" ?3 f3 E7 w n$ ` Lat=double(Lat);Lon=double(Lon);%双精度化 ' p# j/ @0 K* q$ w" J latlim=[min(Lat),max(Lat)];lonlim=[min(Lon),max(Lon)];+ s6 W; j: w; b U& n/ h Time=9%输入时间,注意三小时的倍数 5 ? s' E+ R* x/ M Time_No=Time/3+1; 4 T: V4 I7 S& T3 d %截取数据并降维度; Z2 `* m y. o- _* a Lflx=squeeze(Lflx_ini(Lon_start_No:Lon_end_No,Lat_start_No:Lat_end_No,Time_No));;%北半球有时可能要颠倒一下编号,因为是从北极往赤道计数的" g" D! o+ [. c# e9 z Sflx=squeeze(Sflx_ini(Lon_start_No:Lon_end_No,Lat_start_No:Lat_end_No,Time_No));;%北半球有时可能要颠倒一下编号,因为是从北极往赤道计数的 ; q! O% M) |+ O0 F clear Sp_Re;toc;%清除不再使用的变量 ! u, J: r' }, s6 j %% / h$ h! v, O2 _. b6 R %第四步:绘图 5 G6 L, p: Z/ ~% |: X9 i4 |1 ^ tic;figure;+ D. D% N6 V6 C+ E8 f m_proj(mercator,lat,latlim,lon,lonlim); ; t# B) \& }! o3 z8 n* I8 ] [longrid,latgrid]=meshgrid(Lon,Lat);7 U: s1 z& w8 {: V7 W! X m_pcolor(longrid,latgrid,Sflx); %pcolor或contourf1 \+ A$ _8 u* |7 F tic;m_gshhs_f(patch,k);toc;%添加海岸线:c<l<h<f( c( d" F- A% q7 s9 b* K( m, @ m_grid(box,fancy,tickdir,in);%网格化 & [3 o/ H" k* r5 N0 f0 w# n& { %brighten(.5);%亮化$ J1 h3 }( P( H/ W6 x9 W$ Q colormap(hsv); 4 G t% b- {' s8 A6 m% p+ [' Z h = colorbar(h);%色标" n% v. I$ ]' t0 ~ h.Label.String = W·m^{-2} 1 e# X5 d6 m. R& h h.Location = eastoutside;%色标位置9 q* v6 m- u4 ^9 B: w+ D( a) |* U title([1998年12月31日,num2str(Time),:00,南海海面感热通量],...0 J+ q9 t+ U3 E/ S FontName,黑体,fontsize,12,FontWeight,"bold") %标题 7 }$ ]6 c3 ^) G+ a% s) M% p xlabel(Longitude);ylabel(Latitude) ;set(gca,fontsize,9);0 c0 w, g, f4 i, A toc; `/ n: n6 M2 `6 ?, h. C
4 w0 m* O$ k- Z

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

1 F7 t$ t6 o d! I9 W
( t* B4 @ F& X: F6 `
# o$ e# R' S4 F * O5 o$ k" Y2 ~9 @& y 4 D; |4 u; y- i. V4 Q3 f+ ?8 T# R+ R 2 l6 W# a6 U2 d6 ^
回复

举报 使用道具

相关帖子

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