编写了一个matlab脚本计算地转流的流速,可供参考。其中地转流流速的公式为

SLA为海表面高度数据,g是重力加速度,f是科里奥利力频率。
画出来的结果如下图

所用的脚本代码如下
% using sea surface height data calculate geostrophic current
% author:Davidli date:2022.1.5
clear
% 1. load sla ,lat, lon
ncname='D:\sla\TOPEX AVISO\sla_2008.nc';
sla8=ncread(ncname,'sla');
sla=sla8(:,:,9);
lat=ncread(ncname,'latitude');
lon=ncread(ncname,'longitude');
[lon,lat]=meshgrid(lon,lat);
lat=lat';
lon=lon';
% 2. calculate f
f=coriolisf(lat);
% 3. cal geo_u_v
g=9.8;
R=6400000; % Earth radius
U=zeros(52,48);
V=zeros(52,48);
for i=2:51
for j=2:47
dx=(lon(i+1,j)-lon(i-1,j))*(R*cosd(lat(i,j))*pi/180);
dy=(lat(i,j+1)-lat(i,j-1))*(R*pi/180);
A1=(sla(i,j+1)-sla(i,j-1)

这篇博客分享了一段MATLAB代码,用于根据海表面高度数据计算地转流的流速。脚本基于SLA数据、重力加速度和科里奥利力频率进行计算,并展示了计算结果的图形。
最低0.47元/天 解锁文章





