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

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

[复制链接]
) y6 \9 e5 Z, O3 F' q& l

图片赏析

g6 b2 V4 y; _* | @
9 R' U6 H4 g9 P$ E& x
0 a4 H" T G! U* w

7 i7 T5 p! S' {. F A# Q

前言

6 r" m1 t5 F$ G! e

8 F. ?0 U: Q4 R; O! y/ l$ v4 W% _& t

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

( e) w5 p! r% J8 A/ O$ {: A

数据来源:

$ a% m1 R0 w* l & l! p" f5 b* g

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

) b( f& i8 P7 ?. Z: G5 h7 ?

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

; [) A, F4 a3 ^: u

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

/ Z" W2 C' C+ D) W

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

* o# m, [+ V: i* g% K

空间精度:0.25°

4 b# P2 I9 Q; [ M4 X7 H

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

4 @5 ]# ^6 j( R! W" f7 L9 Y

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

9 g9 ~. c/ b. ^# M

源代码

& B+ f+ {+ X$ O
%南海1998年12月31日某时的海面热通量数据及分布图5 R4 X. j2 y$ Q %%: a% z8 ]& ?, Q+ u %第一步:数据的展示! o2 j' \! J" b tic;Path="E:\OneDrive - Inc\Share_science\NC文件\";%文件夹地址 - h, [( C% y/ ?' i. U filename="SEAFLUX-OSB-CDR_V02R00_FLUX_D19981231_C20160824.nc";%文件名 q0 \) @- v" I3 D+ h7 B! |9 Y abs_path=fullfile(Path,filename);%合并,绝对路径文件 2 N$ {) u# {6 a& C: d* v. } clearvars -except abs_path;%清除除了abs_path以外所有变量 2 ]2 c* G; H; n3 J4 `& I3 S ncdisp(abs_path);%读取所选文件 8 O* Q/ j A1 {1 X1 }: ? whos;toc; * N$ M# {. ?3 { s( Q1 J %% ! Y7 q% }' z. X %第二步:数据读取; I+ c* s3 ^# N. L! @- \- L tic;Lat_ini=ncread(abs_path,lat); ( W" a1 G/ z4 v: |' E: _ Lon_ini=ncread(abs_path,lon); 1 s3 W7 h. T& X: u, y Time_ini=ncread(abs_path,time); 7 T/ D8 Y8 \2 Q, P% u' Q Lflx_ini=ncread(abs_path,surface_upward_latent_heat_flux); 6 ^$ n/ s6 e3 ~6 M" Z, r5 D Sflx_ini=ncread(abs_path,surface_upward_sensible_heat_flux);% G. T, I+ b: a5 y1 s6 d toc;clear abs_path; 7 y B2 X& ]* \2 { %%2 Z' J! D. @; t2 T %第三步:确定边界/截取数据$ a# K3 j6 h6 m6 e- A8 [( d %空间边界:南海范围北纬2°至北纬25° 东经104°至东经124° / V w7 `) L2 z* C5 ^ tic;Boundary=[104,124;2,25;]%修改范围[经度;纬度],注意顺序0 G6 w0 T# ]) q) A Spatial_Resolution=abs(Lat_ini(1)-Lat_ini(2));Sp_Re=Spatial_Resolution;%自动确定精度) z1 k, |+ y8 G& S7 i Lon_start_No=find(Lon_ini-(Boundary(1))<=Sp_Re&Lon_ini-(Boundary(1))>=0);%找到离104°最近格点的编号(行号)6 v2 _2 ~+ k+ ?7 I6 B8 u! W Lon_end_No=find(Lon_ini-(Boundary(3))<=Sp_Re&Lon_ini-(Boundary(3))>=0);%找到离124°最近格点的编号(行号) 3 q$ a; u3 W, h/ c7 B7 v9 t Lat_start_No=find(Lat_ini-(Boundary(2))<=Sp_Re&Lat_ini-(Boundary(2))>=0);%找到离2°最近格点的编号(行号) 6 e; P9 J9 k( ^7 ], v6 v Lat_end_No=find(Lat_ini-(Boundary(4))<=Sp_Re&Lat_ini-(Boundary(4))>=0);%找到离25°最近格点的编号(行号) ' P- T6 g4 J, e/ A3 b. i" w" x Lon=Lon_ini(Lon_start_No:Lon_end_No); , B; F+ g' k0 `+ S- _4 y; g Lat=Lat_ini(Lat_start_No:Lat_end_No);%北半球可能要颠倒一下编号,因为是从北极往赤道计数的 , T$ L) H+ x: R clear Lat_ini;clear Lon_ini;%回收内存 ! J# L8 I0 a) d Lat=double(Lat);Lon=double(Lon);%双精度化 $ D, N! z. g) e( m9 z3 f latlim=[min(Lat),max(Lat)];lonlim=[min(Lon),max(Lon)]; 8 B I! e3 v% R Time=9%输入时间,注意三小时的倍数 " `: S! [6 O0 h0 G Time_No=Time/3+1;) q" T% V2 D$ R9 ^* |- O. b ~" s %截取数据并降维度, [7 ?% M, A8 y/ E' \, b6 i+ |! I Lflx=squeeze(Lflx_ini(Lon_start_No:Lon_end_No,Lat_start_No:Lat_end_No,Time_No));;%北半球有时可能要颠倒一下编号,因为是从北极往赤道计数的 8 U) p$ Q: l3 ?: d4 E0 j' x) A Sflx=squeeze(Sflx_ini(Lon_start_No:Lon_end_No,Lat_start_No:Lat_end_No,Time_No));;%北半球有时可能要颠倒一下编号,因为是从北极往赤道计数的 8 w5 q7 G$ N' Q" O1 d clear Sp_Re;toc;%清除不再使用的变量8 \6 b9 Z) ~3 V) k% i& n7 @! E %% ( B/ q. ~8 p8 t. a %第四步:绘图 4 I- ?4 @$ P3 G' i$ M0 n9 f tic;figure; ; r& w" a' P) ?4 W! \3 d$ F2 b# @ m_proj(mercator,lat,latlim,lon,lonlim); 5 V* Z. `" j9 c" t# s [longrid,latgrid]=meshgrid(Lon,Lat);! i: ~7 m" s, o, w9 ~ m_pcolor(longrid,latgrid,Sflx); %pcolor或contourf & D3 D- v$ B ]/ ?# ~2 U5 [ tic;m_gshhs_f(patch,k);toc;%添加海岸线:c<l<h<f B; @ v7 G7 d m_grid(box,fancy,tickdir,in);%网格化 8 b* q1 B' {8 {5 ~% ` %brighten(.5);%亮化6 P/ L: A' v* j( p/ p colormap(hsv);) R8 X) N" F4 X0 R/ ~8 H h = colorbar(h);%色标) i) ^9 Z k- r2 R h.Label.String = W·m^{-2}, S9 L+ P9 O. ]3 F3 ^( J h.Location = eastoutside;%色标位置 2 y3 |2 y' U6 V! a- | title([1998年12月31日,num2str(Time),:00,南海海面感热通量],... % S0 z5 r4 L$ y5 [: O) M FontName,黑体,fontsize,12,FontWeight,"bold") %标题+ D; X9 ]5 r, e8 W. O0 l xlabel(Longitude);ylabel(Latitude) ;set(gca,fontsize,9);% w. ?; I" b" t# {3 L' w toc;8 n5 Z" z, u& A. h6 J% e
2 i! n! n9 A! o

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

- A: \( Y' y! D9 V! P/ f
3 Q9 Q: w! m, D+ i# n
; X. X8 j) `' X q( G5 W& ^7 Q. i' z) `5 p7 W# S7 D' W6 w7 @$ v - B' i, c) q, e1 P+ Y 4 Y: A0 ~+ m% C+ S; l # n/ `. B4 Y4 s8 Z, e/ T
回复

举报 使用道具

相关帖子

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