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

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

[复制链接]
3 w' R( R. p* Q7 g' I0 J: b

图片赏析

) k. [8 R6 S3 ?; [" ?1 c, r
+ D1 \; O m% {' T2 q2 `; L
; b' {* B2 f. V# D) L' |* E; X

- q2 T. V# I! X/ [. |( O

前言

" e# `2 z' b0 H+ X; i0 d9 N' \

* L' v% S7 c; w7 W' K+ h: ]0 T# K0 _

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

! T6 R& u! t1 W

数据来源:

/ o. g8 R5 E f + \/ J q; M9 P$ P# x8 i# Y

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

$ y y" w @; @: Y2 s) w3 [1 U8 V* n5 X

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

3 d" c" s& `! C

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

+ F r( z x {0 m

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

$ u5 }# J l& g* I: n

空间精度:0.25°

/ z N' c* q( d3 c

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

" O, R1 `* U# N* W5 K. r

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

. b' V6 v& A, ]7 C

源代码

# m' i3 n% ]- d5 E- h* o8 Q
%南海1998年12月31日某时的海面热通量数据及分布图% L8 v) r9 W5 N! m9 B %%& |& I: ^* u/ q8 D& Q# H! G0 D. `% T %第一步:数据的展示; ^* d2 P2 R L* b T' q) @ tic;Path="E:\OneDrive - Inc\Share_science\NC文件\";%文件夹地址 9 ]0 S" e+ Y8 m2 e. ` filename="SEAFLUX-OSB-CDR_V02R00_FLUX_D19981231_C20160824.nc";%文件名 / o' n0 Y; ]$ R7 D0 ?: J abs_path=fullfile(Path,filename);%合并,绝对路径文件 + A* c, e' |" L- T1 Q clearvars -except abs_path;%清除除了abs_path以外所有变量 . [& a5 d8 ] [% ?$ p ncdisp(abs_path);%读取所选文件 $ Y" Q& R' x& j" d whos;toc; 8 V0 `( [/ ^4 q- r3 C+ B: |- a %% " S# o; ?8 T& A- D% E# y' S" T %第二步:数据读取 # N% y8 {9 i) H6 h5 A4 s! X j tic;Lat_ini=ncread(abs_path,lat);& `& Q" m0 f. D0 N7 F" k Lon_ini=ncread(abs_path,lon); # {' c* B) Q8 Q. V' i! }8 h) m Time_ini=ncread(abs_path,time); 0 N1 \7 `/ ]/ J* u5 D3 a7 s Lflx_ini=ncread(abs_path,surface_upward_latent_heat_flux);2 {. c/ I: F9 B5 x2 N; q1 B& C Sflx_ini=ncread(abs_path,surface_upward_sensible_heat_flux); ( |. t. \$ W8 `' k r- |: P8 L toc;clear abs_path;, l+ w0 t$ `9 d# @) q1 A %%& Y+ I( h: x v, V/ A0 _+ U %第三步:确定边界/截取数据) Y$ c% D# B" F" k) _3 j %空间边界:南海范围北纬2°至北纬25° 东经104°至东经124° " N) F) G) }6 Y% B/ ` tic;Boundary=[104,124;2,25;]%修改范围[经度;纬度],注意顺序 ( {. `( e2 ^) T( r- X# Y: W Spatial_Resolution=abs(Lat_ini(1)-Lat_ini(2));Sp_Re=Spatial_Resolution;%自动确定精度+ i# {$ ^- l1 L) k X Lon_start_No=find(Lon_ini-(Boundary(1))<=Sp_Re&Lon_ini-(Boundary(1))>=0);%找到离104°最近格点的编号(行号) 9 t1 J7 l' q8 |+ _. S Lon_end_No=find(Lon_ini-(Boundary(3))<=Sp_Re&Lon_ini-(Boundary(3))>=0);%找到离124°最近格点的编号(行号) ' _$ ]: D7 k9 g q. K Lat_start_No=find(Lat_ini-(Boundary(2))<=Sp_Re&Lat_ini-(Boundary(2))>=0);%找到离2°最近格点的编号(行号)" V& h+ w9 U, u4 L% y0 ^9 m7 R6 g- s Lat_end_No=find(Lat_ini-(Boundary(4))<=Sp_Re&Lat_ini-(Boundary(4))>=0);%找到离25°最近格点的编号(行号)2 p- ^, {6 y! ?0 P/ J- a. E Lon=Lon_ini(Lon_start_No:Lon_end_No); ( H& f1 L M4 A4 ~" W Lat=Lat_ini(Lat_start_No:Lat_end_No);%北半球可能要颠倒一下编号,因为是从北极往赤道计数的 % D) M7 ~9 E- f clear Lat_ini;clear Lon_ini;%回收内存 + n; D+ A2 x; @2 b7 c3 m' s! R Lat=double(Lat);Lon=double(Lon);%双精度化8 i3 X p' o; o latlim=[min(Lat),max(Lat)];lonlim=[min(Lon),max(Lon)];7 Z; m+ G) N8 H0 D Time=9%输入时间,注意三小时的倍数& O7 x" t) \) r" P' d# ^ Time_No=Time/3+1; 6 n( n6 T9 X- `) L1 Q5 I %截取数据并降维度/ v/ C" [5 b5 N- M4 L2 E9 F; ?2 P Lflx=squeeze(Lflx_ini(Lon_start_No:Lon_end_No,Lat_start_No:Lat_end_No,Time_No));;%北半球有时可能要颠倒一下编号,因为是从北极往赤道计数的1 }$ J; T4 e* }1 T' G Sflx=squeeze(Sflx_ini(Lon_start_No:Lon_end_No,Lat_start_No:Lat_end_No,Time_No));;%北半球有时可能要颠倒一下编号,因为是从北极往赤道计数的 0 O, g! o+ M2 Z! d$ h; `8 R clear Sp_Re;toc;%清除不再使用的变量, {3 j3 E% x [) _5 w9 L %% 2 b& u% d7 w% f% s9 Y, P. w$ T %第四步:绘图 4 n# M7 X7 N* d5 `7 X tic;figure;) f* s7 F1 Q: `9 r: \ m_proj(mercator,lat,latlim,lon,lonlim); 7 t+ I5 O& j8 f2 X5 U1 ^$ U [longrid,latgrid]=meshgrid(Lon,Lat); ! m, R5 e+ n) A) w7 j m_pcolor(longrid,latgrid,Sflx); %pcolor或contourf . U/ v6 u/ K, d+ M f tic;m_gshhs_f(patch,k);toc;%添加海岸线:c<l<h<f$ l( B8 I" J- b% j4 o. N m K$ p/ w" C9 C m_grid(box,fancy,tickdir,in);%网格化8 \. u" p- R7 O6 Z- n %brighten(.5);%亮化 + n1 a. t" Q( [# a# }. w colormap(hsv); 3 t. d- W/ F5 s1 F& ]- l2 @ h = colorbar(h);%色标( \4 g4 V/ p1 P6 X1 Z h.Label.String = W·m^{-2}3 a2 ~ X1 I. t8 n2 Z1 ^2 U3 t) | h.Location = eastoutside;%色标位置$ o3 b/ N" Q1 H7 u/ r* K B/ Q6 G title([1998年12月31日,num2str(Time),:00,南海海面感热通量],... 9 H# n4 w+ u1 t- r FontName,黑体,fontsize,12,FontWeight,"bold") %标题8 f2 H, n" D* N5 J' _ xlabel(Longitude);ylabel(Latitude) ;set(gca,fontsize,9); 8 C9 s1 n* r/ Z$ S2 Q4 ~ toc;5 m6 d+ E0 {( i( }2 A) d& ^* ^- K
# J2 d% m# P, b. {0 h" [. R

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

# ]( F8 U; j" e! q2 m1 N+ W+ [
. |8 n! |5 Z7 y8 b" G1 T, V3 e1 A2 q
! Y& c$ f5 @. E1 R 9 X- c9 B, [; ~4 a f # t- W' l" g# k0 l6 h 4 e8 {. L( B$ t7 ` v6 X* i: R# l" X% Q7 p% Z
回复

举报 使用道具

相关帖子

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