当前位置: 首页 > news >正文

内容管理网站广州网站优化工具

内容管理网站,广州网站优化工具,房屋设计图怎么制作,网站建设工具有哪些该文参考博主Anywayyyyy.的博文《如何使用python处理nc数据制作Mike风场文件–以ERA5数据为例》 链接: link 代码结构主体参考上文,但由于Anywayyyyy.博主使用的mikeio库是1.0以下版本,1.0以上版本进行了大量改动导致无法直接使用,而安装老版…

该文参考博主@Anywayyyyy.的博文《如何使用python处理nc数据制作Mike风场文件–以ERA5数据为例》
链接: link
代码结构主体参考上文,但由于@Anywayyyyy.博主使用的mikeio库是1.0以下版本,1.0以上版本进行了大量改动导致无法直接使用,而安装老版本的mikeio库也会出现各种问题,因此笔者查找了源码及注释,给出了新版本mikeio库制作风场dfs2文件的方法,代码如下。

"""
把era5下载的风场改写为mike的输入文件dfs2格式
"""
import mikeio
from mikeio import Dfs2
from mikeio.eum import ItemInfo, EUMUnit
from mikeio.eum import EUMType
import numpy as np
import netCDF4 as nc
import datetime as dtfile = nc.Dataset('D:/MIKE Zero Projects/waigaoqiao/era5_wind_and_pressure.nc', 'r')  # 文件路径及名称
time = np.array(file.variables['time'][:])  # 读取时间信息
lon = np.array(file.variables['longitude'][:])  # 读取经度信息
lat = np.flipud(np.array(file.variables['latitude'][:]))  # 读取纬度信息
u = np.flip(np.array(file.variables['u10'][:]), axis=1)  # 读取东西风速u
v = np.flip(np.array(file.variables['v10'][:]), axis=1)  # 读取南北风速v
p = np.flip(np.array(file.variables['sp'][:]), axis=1)  # 读取表面压强

由于era5风场数据的纬度是从大到小排列的,与平时的习惯不同,为了防止后面出现各种问题,在导入数据后将其以及其他变量进行翻转以符合正常习惯。

u = u * 1.1  # 将风速放大1.1倍
v = v * 1.1time_dt = []  # 指定一个新的列表
tstart = dt.datetime(1900, 1, 1, 0)  # nc文件的起始时刻
for i in time:time_dt.append(tstart+dt.timedelta(hours=int(i)))  # 将nc文件中的时刻转换为正常的时间格式dfsfilename = 'D:/MIKE Zero Projects/waigaoqiao/2021uvp_for_fm.dfs2'  # 给定文件名
x0 = lon[0]
y0 = lat[0]
dx = 0.25  # 设置网格间距,ERA5默认网格间距均为0.25度
dy = 0.25
time0 = time_dt[0]   # 设置其实时间,用到了上一步的时间处理
delta_t = 3600   # 设置时间间隔,ERA5数据时间间隔为1h,3600s# 创建变量, EUMType.Wind_Velocity说明变量类型为风速, EUMUnit.meter_per_sec说明变量单位为m/s
items = [ItemInfo("u", EUMType.Wind_Velocity, EUMUnit.meter_per_sec),ItemInfo("v", EUMType.Wind_Velocity, EUMUnit.meter_per_sec),ItemInfo("p", EUMType.Pressure, EUMUnit.pascal)]geometry = mikeio.Grid2D(x0=x0, nx=len(lon), dx=dx, y0=y0, ny=len(lat), dy=dy, projection="LONG/LAT")dfs = Dfs2()  # 实例化一个dfs变量d = [np.array(u), np.array(v), np.array(p)]  # 将要输出至dfs2的数组打包
aa = mikeio.Dataset(data=d, time=time_dt, items=items, geometry=geometry)# dfs.write(filename=dfsfilename, data=d, start_time=time0, dt=delta_t, items=items, coordinate=coordinate, dx=dx, dy=dy)  # 输出变量
dfs.write(data=aa, filename=dfsfilename, dt=delta_t, dx=dx, dy=dy, title='wind_uvp')  # 输出变量

写的比较粗糙,有各种问题欢迎大家评论区留言,笔者会根据问题再做修改。

http://www.rdtb.cn/news/14856.html

相关文章:

  • 惠阳市网站建设百度应用市场app下载
  • 广州品牌网站制作公司百度官方电话
  • 石家庄网站开发费用外贸企业网站推广
  • 企业查询平台有哪些seo优化教程培训
  • 怎么做网站美工阿拉营销网站
  • 怎么做旅游网站推广蜘蛛seo超级外链工具
  • 西安政府做网站seo课程培训
  • 开拓网站建设公司每日一则新闻摘抄
  • 北京网站制作哪家好seo报告
  • 做网站建设的公司2345网址导航浏览器
  • 大型网站服务器多少钱网络推广项目
  • 公司两学一做网站站长之家ip地址归属查询
  • 网站开发 天津大庆网络推广
  • 东城做企业网站多少钱推广策略怎么写
  • 做地方网站能赚钱吗彼亿营销
  • phpcmsv9手机网站开发网络推广哪家做得比较好
  • 网站建设时送的ppt方案seo网站培训优化怎么做
  • 计算机网络技术就业率影视网站怎么优化关键词排名
  • 重庆装修公司网站建设北京网站优化方案
  • 长沙哪里做网站好站外推广
  • 做视频网站都需要什么软件优化生育政策
  • 我的网站要换新域名如何做域名查询访问
  • 如何对自己做的php网站加密软文营销经典案例200字
  • wordpress 网站积分打赏google官方下载
  • 台州企业网站搭建电话上海最新新闻热点事件
  • 萌兔网站做代销可靠吗广州做seo的公司
  • 网站建设详情报价网络服务合同纠纷
  • 建设优化网站网站运营
  • 一家专门做衣服的网站关键时刻
  • 网站设计和建设女生学电子商务后悔了