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

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

[复制链接]
x% R: j) T9 b/ ]0 t

图片赏析

3 W0 @" r- _- C$ l: y
4 B. m6 d+ \% B3 \
: h8 E1 C8 Y( E0 T" e

+ G# D0 g+ r, w% q

前言

7 p& N9 M; @: x0 t

0 m; t# k5 ?% e* f$ i6 y

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

! q/ c3 S/ T9 Z" ^. J

数据来源:

/ A. `6 D! M+ a. S) n3 B( l/ _ ( r" V/ C( A2 w& o

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

; y# e& l m2 T( m8 A+ U

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

: S# a4 N3 \( S; D

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

+ y# ]/ \3 E$ }; V

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

( A7 d5 b- R" c/ j/ `% B' S

空间精度:0.25°

: |2 d$ k* v8 ?' s+ L0 ^

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

. N/ E& P; b1 G8 M5 N5 b

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

% N6 P- J! O: Z& ]" s" _

源代码

0 ^6 K( z5 d4 O
%南海1998年12月31日某时的海面热通量数据及分布图% b& ^" }% B1 M' t# J" d; M# q %% 6 ^( K) J3 n X/ U* c9 u %第一步:数据的展示3 w9 ]( r% o& r3 l* N tic;Path="E:\OneDrive - Inc\Share_science\NC文件\";%文件夹地址$ B2 s, Z4 S- B) Y( ~+ u filename="SEAFLUX-OSB-CDR_V02R00_FLUX_D19981231_C20160824.nc";%文件名 6 `* o) v9 h7 l abs_path=fullfile(Path,filename);%合并,绝对路径文件8 k! ^) P3 t% t+ n3 _% q) q8 O clearvars -except abs_path;%清除除了abs_path以外所有变量$ L% L0 g. {, ? ncdisp(abs_path);%读取所选文件7 M' `# b# l* s* ^# d' |' N5 W6 A whos;toc; ' X1 ]+ p$ J- W; q# O) o %% ) q Z7 |- d. F' W! g& d %第二步:数据读取6 N& r+ J2 @7 K' K* y( C- `) U7 ~ tic;Lat_ini=ncread(abs_path,lat); $ I# k0 l% f6 L9 R, a Lon_ini=ncread(abs_path,lon); 1 [# S0 f8 C9 F' a Time_ini=ncread(abs_path,time); 5 { j& A4 F# @9 R! H8 c Lflx_ini=ncread(abs_path,surface_upward_latent_heat_flux);+ [+ [9 Z/ E$ ^# x Sflx_ini=ncread(abs_path,surface_upward_sensible_heat_flux); ( ^" k! {( O d# E toc;clear abs_path; 5 m6 |& K1 c4 @/ o' n1 \9 O %% 8 N3 ^5 C( T* U %第三步:确定边界/截取数据/ V& N7 O i( O4 d& O %空间边界:南海范围北纬2°至北纬25° 东经104°至东经124° ( w2 _5 m* }8 g4 [( c8 _+ O, v( T1 r* O tic;Boundary=[104,124;2,25;]%修改范围[经度;纬度],注意顺序 $ `3 l- Q0 W2 M p* ?! |- O Spatial_Resolution=abs(Lat_ini(1)-Lat_ini(2));Sp_Re=Spatial_Resolution;%自动确定精度 / h0 }; c9 ^, e5 C- o: G) H7 X/ n Lon_start_No=find(Lon_ini-(Boundary(1))<=Sp_Re&Lon_ini-(Boundary(1))>=0);%找到离104°最近格点的编号(行号) ( D$ @' v- @ w Lon_end_No=find(Lon_ini-(Boundary(3))<=Sp_Re&Lon_ini-(Boundary(3))>=0);%找到离124°最近格点的编号(行号)' W3 D9 N6 Z- z E( D) R Lat_start_No=find(Lat_ini-(Boundary(2))<=Sp_Re&Lat_ini-(Boundary(2))>=0);%找到离2°最近格点的编号(行号)- ]( }: {% m0 q" U5 Z7 n! _ Lat_end_No=find(Lat_ini-(Boundary(4))<=Sp_Re&Lat_ini-(Boundary(4))>=0);%找到离25°最近格点的编号(行号) 2 d; c: Q& M" U/ t" W2 } Lon=Lon_ini(Lon_start_No:Lon_end_No); ' L0 m/ o1 d5 l3 B3 V# F% O Lat=Lat_ini(Lat_start_No:Lat_end_No);%北半球可能要颠倒一下编号,因为是从北极往赤道计数的 ! U& ^8 o5 Z" I6 ~8 Z$ u& N9 x clear Lat_ini;clear Lon_ini;%回收内存 / p( F5 K+ h& b( F5 r4 f4 {# Q Lat=double(Lat);Lon=double(Lon);%双精度化# F# V" [' _0 Y latlim=[min(Lat),max(Lat)];lonlim=[min(Lon),max(Lon)]; 5 L0 N. R9 o. l' U& s9 [ Time=9%输入时间,注意三小时的倍数 ; D# L; d& j. l c" { Time_No=Time/3+1; . o% @9 s+ T/ F %截取数据并降维度- @2 t( I2 Z7 {2 I1 T Lflx=squeeze(Lflx_ini(Lon_start_No:Lon_end_No,Lat_start_No:Lat_end_No,Time_No));;%北半球有时可能要颠倒一下编号,因为是从北极往赤道计数的% i+ V' Q$ D: P' T2 g/ F- g* _# ~; o Sflx=squeeze(Sflx_ini(Lon_start_No:Lon_end_No,Lat_start_No:Lat_end_No,Time_No));;%北半球有时可能要颠倒一下编号,因为是从北极往赤道计数的+ A4 R) z0 C- S8 I+ a. g! N clear Sp_Re;toc;%清除不再使用的变量 1 B2 I* ?, }1 A/ ` %% ) r' X# g% O8 K2 R7 U %第四步:绘图% s, q1 l7 c2 l tic;figure;1 R- L% N0 R5 m m_proj(mercator,lat,latlim,lon,lonlim);5 m( r1 R' x* L; @! P; T [longrid,latgrid]=meshgrid(Lon,Lat);# k: g% C* ]' |8 x# {# F m_pcolor(longrid,latgrid,Sflx); %pcolor或contourf9 [$ N, `" ^9 J/ x( A tic;m_gshhs_f(patch,k);toc;%添加海岸线:c<l<h<f, w9 B/ l" T' n1 ^ Z) D m_grid(box,fancy,tickdir,in);%网格化" R9 P& Y7 u7 L2 j8 |( Z- B0 h6 r %brighten(.5);%亮化 & @) E0 r4 b2 q" k# X colormap(hsv); 0 e1 N; M2 x; j3 W8 Q. K! b h = colorbar(h);%色标 - S5 v* D2 s* ^7 w* r0 p8 ?6 s h.Label.String = W·m^{-2}9 T0 A# ^, r0 M3 B- e) E h.Location = eastoutside;%色标位置 3 n3 o0 x! T. t' j0 x title([1998年12月31日,num2str(Time),:00,南海海面感热通量],... ) X1 m2 f1 ]# u% [' y. j @; n7 [ FontName,黑体,fontsize,12,FontWeight,"bold") %标题 " ]+ \# T1 {/ J: } xlabel(Longitude);ylabel(Latitude) ;set(gca,fontsize,9);9 y; K5 c3 Z% U9 f6 s& A; | toc;' Y, g* m7 {& W% i1 b
' Y" q b. k! L* m0 a

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

0 s ?, ?) {0 \- p& l
9 B0 O4 u8 b' E1 \
D" ?/ |" ^3 s6 H A : b) l+ A2 t; u3 p: ?, r% D* M7 V : E8 f2 i* k2 h/ t. B + f$ ]4 C8 r# }( G# f 1 o( \3 h9 E1 U* I0 R. R
回复

举报 使用道具

相关帖子

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