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

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

[复制链接]
! ? G! P R% J& n6 ^% k1 B4 k r

图片赏析

! R+ x3 q1 n g, b. z- z7 r1 v
+ Y: J/ t1 C6 C: q1 b
' P4 }) c$ S2 _1 d) q3 H- |6 I

; S$ _1 B) {+ A( p/ z

前言

! I) {0 D/ `2 l/ ]

8 m6 H# r, O5 X0 r7 K4 i

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

: H' j# Y9 A: C0 c

数据来源:

5 `4 P4 _% p) X3 @8 L! }0 j D/ ]0 A6 T8 X

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

5 j0 ]* J. ^ F1 Q, G* C1 A" E

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

2 s3 G$ B- E8 C: G- c/ x! F

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

0 X/ b" _/ m% H& V% v3 O

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

6 v7 Q5 B/ U- Y& E9 d$ G" Z

空间精度:0.25°

" \$ q$ N) T3 X0 ?

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

1 d$ M+ v2 K- k: n, I, W, ^/ k

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

+ f, z3 e5 g* m% s# R' S4 c( C

源代码

; \3 \* P4 G+ V
%南海1998年12月31日某时的海面热通量数据及分布图 4 t M4 U* z8 ?- g# K% R %%, q# A x" |$ L: ?1 h9 ~" k %第一步:数据的展示 & s! V$ t# ]5 l. |9 Y tic;Path="E:\OneDrive - Inc\Share_science\NC文件\";%文件夹地址/ k# `' W: R: B2 B( E filename="SEAFLUX-OSB-CDR_V02R00_FLUX_D19981231_C20160824.nc";%文件名 : j) X( ^& }- L+ Y" q( g abs_path=fullfile(Path,filename);%合并,绝对路径文件( q+ O, W3 {4 j$ g clearvars -except abs_path;%清除除了abs_path以外所有变量 + v8 X8 ?+ [2 e( Y ncdisp(abs_path);%读取所选文件 - {/ ^' [* Z d8 p8 M+ c whos;toc;7 a' X" K1 u. _$ z, p' O# | %% ! V, d4 N; Q% w% r' l+ [ %第二步:数据读取 " \' B/ L6 T3 ]$ ?9 g tic;Lat_ini=ncread(abs_path,lat); + K# D3 I$ s }, r' @ Lon_ini=ncread(abs_path,lon);4 o+ f1 h) u8 o R Time_ini=ncread(abs_path,time); ; s* { s& ]8 _7 k Lflx_ini=ncread(abs_path,surface_upward_latent_heat_flux);, H/ [0 k% A+ f( S Sflx_ini=ncread(abs_path,surface_upward_sensible_heat_flux); 8 G1 H! H' D. U; j) p3 l# U% `, i' ` toc;clear abs_path; . R! _* ^. A4 U" q %%# }% Y& Z& O7 {2 y %第三步:确定边界/截取数据 , {3 I" M0 p: E8 \5 i" a/ T %空间边界:南海范围北纬2°至北纬25° 东经104°至东经124°) f0 a& j7 H8 V0 c- R tic;Boundary=[104,124;2,25;]%修改范围[经度;纬度],注意顺序 8 X0 L' ?8 r& _: a! e Spatial_Resolution=abs(Lat_ini(1)-Lat_ini(2));Sp_Re=Spatial_Resolution;%自动确定精度 5 Y6 i* S6 w [* a% i" R; | Lon_start_No=find(Lon_ini-(Boundary(1))<=Sp_Re&Lon_ini-(Boundary(1))>=0);%找到离104°最近格点的编号(行号)" c1 ^( j1 i& _. ?. `1 H& z Lon_end_No=find(Lon_ini-(Boundary(3))<=Sp_Re&Lon_ini-(Boundary(3))>=0);%找到离124°最近格点的编号(行号)0 \! B7 X7 I6 c' n- y Lat_start_No=find(Lat_ini-(Boundary(2))<=Sp_Re&Lat_ini-(Boundary(2))>=0);%找到离2°最近格点的编号(行号)8 w1 G) B" E: _; Z. C6 ]. ~ Lat_end_No=find(Lat_ini-(Boundary(4))<=Sp_Re&Lat_ini-(Boundary(4))>=0);%找到离25°最近格点的编号(行号)5 b3 U. q% R7 }* z5 y Lon=Lon_ini(Lon_start_No:Lon_end_No); 3 X( A' j+ |2 f6 Y Lat=Lat_ini(Lat_start_No:Lat_end_No);%北半球可能要颠倒一下编号,因为是从北极往赤道计数的4 m) D9 G9 V4 | clear Lat_ini;clear Lon_ini;%回收内存) E# {2 m* y$ @' q* d' q Lat=double(Lat);Lon=double(Lon);%双精度化: u/ ]1 o4 u1 i, T: l! {8 P latlim=[min(Lat),max(Lat)];lonlim=[min(Lon),max(Lon)]; $ I' L. E7 I) e0 c Time=9%输入时间,注意三小时的倍数& o+ z+ D# _' ^( J Time_No=Time/3+1; 0 Y. P0 S- |7 y6 `! h %截取数据并降维度* A0 V5 ~$ ^& t# m Lflx=squeeze(Lflx_ini(Lon_start_No:Lon_end_No,Lat_start_No:Lat_end_No,Time_No));;%北半球有时可能要颠倒一下编号,因为是从北极往赤道计数的" {! }; Y, j) c3 K/ O/ W/ x Sflx=squeeze(Sflx_ini(Lon_start_No:Lon_end_No,Lat_start_No:Lat_end_No,Time_No));;%北半球有时可能要颠倒一下编号,因为是从北极往赤道计数的: D, w: H* p4 \: L; k clear Sp_Re;toc;%清除不再使用的变量 7 a" r, `$ Z% b' P% `* p %%' `, s# @# m+ [ z/ @, {% G* ~, q7 E %第四步:绘图 0 s P0 q7 k- \9 ?3 q3 a* h. M } tic;figure;) t* z) m" k4 B- Q m_proj(mercator,lat,latlim,lon,lonlim); . O) g# s& w8 h; I [longrid,latgrid]=meshgrid(Lon,Lat);9 ?! V' e' F% A0 E0 H5 W m_pcolor(longrid,latgrid,Sflx); %pcolor或contourf5 `& `4 N6 L* y tic;m_gshhs_f(patch,k);toc;%添加海岸线:c<l<h<f ) [$ F4 f& m8 {1 R& ` [ m_grid(box,fancy,tickdir,in);%网格化 : m* A3 O3 p( S, T) }, C %brighten(.5);%亮化 / U. `, X; X6 P n3 Y( t2 g2 P/ n& r colormap(hsv);1 `6 d$ }2 m. l h = colorbar(h);%色标0 M. f- S* m8 A$ M; @& p7 s h.Label.String = W·m^{-2}. U" d7 u$ L" `' T( \/ D h.Location = eastoutside;%色标位置 / _! T z0 c9 s7 d/ [/ ^ title([1998年12月31日,num2str(Time),:00,南海海面感热通量],... 2 G, L4 s1 W. r5 b FontName,黑体,fontsize,12,FontWeight,"bold") %标题 1 X. @6 D/ R- K0 { xlabel(Longitude);ylabel(Latitude) ;set(gca,fontsize,9);3 Z: x/ e. L$ t1 h$ x! p: {& m toc; 7 ~* ^0 q( r% g1 E; m$ ^8 j
$ J8 V5 c! l {9 l

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

+ v- I" {4 m! i4 j$ S# [, `
( O' e9 Q G6 n) Y
: W7 y4 ^2 G9 r. D # [* \% D" E3 i$ q# d4 V' }6 D 2 _* ~' T% C2 U6 c* M# _3 f0 K7 M& i5 I- F' ^6 j : S8 z) @; _$ J1 S) N! V
回复

举报 使用道具

相关帖子

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