FVCOM海洋模式风场数据获取及前处理过程

1.模型设置

我用的是之前学习过程中创建的海州湾的案例 

运行时间是从2012年的7月1日00:00:00至2012年7月15日00:00:00

经纬度大概是

                        北纬35°08’

东经119°10’                        东经119°37′

                        北纬34°42′

 范围比较小   强迫项有潮汐 和风  本节主要回顾风场数据获取以及前处理的到风场强迫nc文件

2.数据获取

获取数据的网址有很多种  一般都是要注册账号的  邮箱很容易注册

比如:

Copernicus Climate Data Store |

Home | CMEMS (copernicus.eu)

Page not found (ucar.edu)

我用的是https://cds.climate.copernicus.eu/#!/home​​​​​​

 登录到这个界面点击数据集Datasets

 

一般气象上用的是ERA5数据  就在左上角搜索框查找 ERA5

选择适合的数据集  一般有月平均 天平均 逐小时的  我一般用逐小时的  后面就不用再扩展成逐小时的了

比如

 选择你需要的数据项(10米高度的风   U10 V10   两个分量)  填好时间 年月日  注意下载的是从0点到23点的  这样算一天

坐标填写你感兴趣的范围  比如我一开始写的海州湾的坐标数据  转化成小数格式

提交下载即可  下载的是 NETCDF文件  (可在matlab中  使用命令 ncdisp filename.nc  查看里面数据信息  )

这样就得到一个这一时间段这一范围的风场数据文件

3.数据处理

我用的是matlab程序将风场数据读取 插值到我的网格 然后写成FVCOM需要的风场强迫NC文件

调用的程序包括 划分时间的jilian包  网格读取程序 等

 代码如下  运行即可得到  FVCOM需要的 风场强迫NC 文件

%%
%读网格
clc;clear
Mobj = read_fvcom_mesh('grd.dat');
%%
%风场及网格中心点
u3=double(ncread('data.nc','u10'));
v3=double(ncread('data.nc','v10'));
longitude=double(ncread('data.nc','longitude'));
latitude=double(ncread('data.nc','latitude'));
lonc=double(ncread('hzw_0001.nc','lonc'));
latc=double(ncread('hzw_0001.nc','latc'));
u10=zeros(5,5,336);
v10=zeros(5,5,336);
for i=1:336
u10(:,:,i)=u3(:,:,1);
v10(:,:,i)=v3(:,:,1);
end
%插值计算
mttt=[];nttt=[];
for i=1:336%天数
ut=u10(:,:,i)';vt=v10(:,:,i)';
mt=griddata(longitude,latitude,ut,lonc,latc);%插值
% mtt=repmat(mt,1,24);%因为是逐天的,所以需要一小时乘以24就是一天了
mttt=[mttt,mt];
nt=griddata(longitude,latitude,vt,lonc,latc);
% ntt=repmat(nt,1,24);
nttt=[nttt,nt];
end
u10=[mttt,mt];%合并
v10=[nttt,nt];
tbeg = greg2mjulian(2012,7,1,0,0,0);
tend = greg2mjulian(2012,7,15,0,0,0);
time = tbeg:1/24:tend;
write_FVCOM_wind_ts_speed(Mobj, 'hzw_wind.nc', time, u10, v10);

刚开始写博客 有些问题可能描述的并不是很清楚   有问题可以私信联系我

后续操作会抽时间逐一发在博客上  欢迎使用FVCOM的各位前辈不吝赐教,互相学习。

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值