风暴规范等级和工具

警告

这描述了Clawpack 5.5中添加的新工具

模块定义了用于管理风暴最佳轨迹类型输入和测试重建的风场和压力场。此外,还支持还包括来自不同供应商的风暴信号群。

模块中最重要的类是风暴分类有助于处理世界各地的各种最佳曲目格式读入FORTRAN代码的预期GeoClaw风暴格式。基本的工作流setrun.py(设置运行.py)文件将执行以下操作:

  1. 创建一个风暴通过从文件中读取对象:

    暴风雨 = 抓回.土爪.浪涌.暴风雨.风暴(“my_storm.txt”, 文件格式(_F)=“ATCF”)
    
  2. 写出以GeoClaw格式创建的风暴对象:

    暴风雨.(“my_geoclaw_storm.txt”, 文件格式(_F)=“土爪”)
    
  3. 在本例中,指定GeoClaw格式风暴文件的路径“my_geoclaw_storm.txt”。

支持的格式:
  • GeoClaw(完全)

  • ATCF(只读)

  • HURDAT(只读)

  • IBTrACS(只读)

  • JMA(只读)

  • IMD(计划)

  • tcvitals(只读)

例外 抓爪。抓爪。浪涌。风暴。无数据错误

输入文件中没有有效数据时引发的异常

抓爪。抓爪。浪涌。风暴。风暴(路径=,文件格式(_F)=“ATCF”,**关键字参数)

Storm数据对象

此对象包含描述特定暴风雨。这包括以下属性和从多个数据来源,如美国国家飓风中心(NHC),日本气象局和印度气象局部门(IMD)。这个类可以用这些格式中的任何一种写出,使用支持的参数化模型,或输出用于运行风暴的GeoClaw支持的风暴格式喘振模拟。

待办事项:添加装置处理说明

属性:
  • t吨(list(float)或list(datetime.datetiem))包含其他数组的每个条目都在日期时间物体。注意,当编写某些格式时,需要时间偏移(_O)待设置。

  • 眼睛_位置(ndarray(:,:))风暴眼的位置。违约单位是有符号的十进制经纬度。

  • 最大风速(标准(:))最大风速。默认单位为米/秒。

  • 最大风半径(ndarray(:))最大风速的半径发生。默认单位为米。

  • 中心_压力(ndarray(:))风暴中心压力。默认单位都是帕斯卡人。

  • 风暴半径(_R)(ndarray(:))风暴半径,通常定义为最后一个闭合的等压强线。默认单位为米。

  • 时间偏移(_O)(datetime.datetime)作为模拟时间。这将默认为第一个发现第一个时间点的年份。

  • 风速(_S)(ndarray(:,:))每个记录中定义的风速,例如如34kt、50kt、64kt等及其半径。默认单位为米/秒和米。

初始化:
  1. 读取位于的现有文件路径.

  2. 建造一个空旷的风暴并供应所需的农田。请注意,这些字段必须转换为适当的单位。

输入:
  • 路径(string)如果需要,要读入的文件的路径。

  • 文件格式(_F)(string)路径处的文件格式。默认为“hurdat”

  • 关键字参数(dict)其他键字参数传递给相应的读取例程。

类别(分类=“NHC”,类别名称(_N)=False(错误))

根据相关风暴数据对风暴进行分类

输入:
  • 分类(string)要使用的分类类型。默认值国家飓风中心“NHC”。

  • 类别名称(_N)(bool)如果为True,则返回类别名称,而不是数字。默认为False(错误).

输出:
  • (ndarray)每个时间点的类别整数数组暴风雨。

  • (list)与上述类似,但类别名称为一串。只有当car_names=正确.

情节(斧头,半径=,t_范围=,坐标_系统=2,轨迹_样式=“ko——”,分类=“NHC”,填充_α=0.25,fill_color(填充颜色)=“红色”)

待办事项:编写doc-string

阅读(路径=,文件格式(_F)=“atcf”,**关键字参数)

从中读取风暴数据路径具有格式文件格式

输入:
  • 路径(字符串)数据文件的路径。

  • 文件格式(_F)(字符串)数据文件的格式。请参阅列表有效字符串列表支持的格式。默认为“赫达”。

  • 关键字参数(dict)其他参数的关键字字典传递给适当的read函数。请参阅有效选项列表的特定例程。

加薪:
  • 值错误如果文件格式(_F)请求的与任何一个都不匹配可用的支持格式值错误已引发。

读取atcf(路径,冗长的=False(错误))

读取ATCF格式的风暴文件

ATCF格式单独存储风暴,因此不支持特定文件中的多个风暴。

输入:
  • 路径(string)要读取的文件的路径。

  • 冗长的(bool)输出有关阅读的更多信息。

读取geoclaw(路径,冗长的=False(错误))

读取GeoClaw格式的风暴文件

GeoClaw风暴文件由Fortran代码读入,并不意味着便于人类阅读。

输入:
  • 路径(string)要读取的文件的路径。

  • 冗长的(bool)输出有关阅读的更多信息。

读_写(路径,冗长的=False(错误))

读入HURDAT格式的风暴文件

这是可用的HURDAT数据的当前版本(HURDAT2)。注释这假定文件中只有一个风暴(包括标头信息)。将添加未来的功能,以允许定义了多个风暴的要读取的文件。

有关HURDAT格式和获取数据的更多详细信息,请参阅

http://www.aoml.noaa.gov/hrd/hurdat/Data_Storm.html

输入:
  • 路径(string)要读取的文件的路径。

  • 冗长的(bool)输出有关阅读的更多信息。

加薪:
  • 值错误如果方法找不到与风暴或在以下情况下不提供single_storm==错误然后是a值错误上升。

读取_ibtracs(路径,锡德=,风暴_名称=,=,开始_日期=,代理_参考=[“wmo”, “美国”, “东京”, “新德里”, “团聚”, “bom”, “nadi”, “惠灵顿”, “cma”, “hko”, “ds824”, 'td9636', 'td9635', “neumann”, “mlc”])

读取IBTrACS格式的风暴文件

这将读取netcdf格式的IBTrACS v4数据。你必须通过这个锡德风暴的(由IBTrACS提供的唯一标识符)或风暴_名称后者对于未命名的风暴来说并不是唯一的,所以你可以选择通过开始_日期也。这个世界气象组织_*变量是非缺失时使用,缺失值由相应的中指定的机构变量wmo机构和/或美国机构.如果仍然失踪,其他机构按顺序进行检查代理_参考查看是否还有其他非缺失值可用。

输入:
  • 路径(string)要读取的文件的路径。

  • 锡德(字符串,可选)IBTrACS提供的唯一磁道标识符。

    要么锡德风暴_名称不得为“无”。

  • 风暴_名称(字符串,可选)关注风暴的名称

    (IBTrACS中的NAME字段)。要么锡德风暴_名称不得为“无”。

  • (int,可选)利息风暴年份。

    要么锡德风暴_名称不得为“无”。

  • 开始_日期(日期时间.datetime,可选)如果没有风暴

    命名,将找到距离此开始日期最近的未命名风暴。仅限指定时用于未命名风暴风暴_名称并不是唯一识别风暴的标志。

  • 代理_参考(列表,可选)在以下情况下使用的首选顺序世界气象组织_*变量

    丢失,并且wmo机构美国机构也不见了。

加薪:
  • 值错误如果该方法找不到匹配的风暴,则

    值错误上升。

读取_imd(路径,冗长的=False(错误))
从IMD文件中提取相关飓风数据

并使用适当的值更新风暴场。

输入:
  • 路径(string)要读取的文件的路径。

如果格式不正确或文件不是IMD,则返回ValueError。

读取jma(路径,冗长的=False(错误))

读入JMA格式的风暴文件

请注意,当前仅支持包含一个风暴的文件。

有关JMA格式和获取数据的更多详细信息,请参阅

http://www.jma.go.jp/jma/jma-eng/jma-center/rsmc-hp-pub-eg-Bestracks/e_format_bst.html

输入:
  • 路径(string)要读取的文件的路径。

  • 冗长的(bool)输出有关阅读的更多信息。

加薪:
  • 值错误如果方法找不到与风暴或在以下情况下不提供single_storm==错误然后是a数值误差增大。

读取重要信息(路径,冗长的=False(错误))
从TCVITALS文件中提取相关飓风数据

并使用适当的值更新风暴场。

输入:
  • 路径(string)要读取的文件的路径。

  • 冗长的(bool)输出有关阅读的更多信息。

(路径,文件格式(_F)=“土爪”,**关键字参数)

将风暴数据写入路径以格式文件格式

输入:
  • 路径(字符串)数据文件的路径。

  • 文件格式(_F)(字符串)数据文件的格式。请参阅列表有效字符串列表支持的格式。默认为“土爪”。

  • 关键字参数(dict)其他参数的关键字字典传递给适当的写入函数。请参阅有效选项列表的特定例程。

加薪:
  • 值错误如果文件格式(_F)请求的不匹配任何可用的支持格式值错误已引发。

写入(_atcf)(路径,冗长的=False(错误))

写出ATCF格式的风暴文件

输入:
  • 路径(string)要写入的文件的路径。

  • 冗长的(bool)书写时打印出附加信息。

write_geoclaw(写入地理爪)(路径,=False(错误),跳过=真的,冗长的=False(错误),填充(_D)={},**关键字参数)

写出GeoClaw格式的风暴文件

GeoClaw风暴文件由GeoClaw Fortran代码读入。

输入:
  • 路径(string)要写入的文件的路径。

  • 跳过(bool)如果找到NaN并且没有被替换,则跳过一个时间。

    默认值为真的.

  • (bool)即使缺少数据,也强制输出风暴。

    默认值为False(错误).

  • 冗长的(bool)书写时打印出附加信息。

    默认值为False(错误).

  • 填充(_D)(dict)用于填充缺失内容的函数字典

    由NaN表示的数据。键是要填写的字段函数签名应该是my_func(t,风暴)其中t是预测时间和暴风雨是风暴目标。如果字段仍为NaN或函数未提供,这些行将被认为是多余的,将被忽略。请注意,较老的关键字参数放在这个字典中。目前是默认函数用于风暴半径(_R),它将值设置为500公里。

write_hurdat写入(路径,冗长的=False(错误))

写出HURDAT格式的风暴文件

输入:
  • 路径(string)要写入的文件的路径。

  • 冗长的(bool)书写时打印出附加信息。

写入imd(路径,冗长的=False(错误))

写出IMD格式的风暴文件

输入:
  • 路径(string)要写入的文件的路径。

  • 冗长的(bool)书写时打印出附加信息。

写入_jma(路径,冗长的=False(错误))

写出JMA格式的风暴文件

输入:
  • 路径(string)要写入的文件的路径。

  • 冗长的(bool)书写时打印出附加信息。

写入重要信息(路径,冗长的=False(错误))

写出TCVITALS格式的风暴文件

输入:
  • 路径(string)要写入的文件的路径。

  • 冗长的(bool)书写时打印出附加信息。

抓爪。抓爪。浪涌。风暴。可用的格式()

构造一个适合列出可用风暴文件格式的字符串。

抓爪。抓爪。浪涌。风暴。可用的模型()

构造一个适合列出可用风暴模型的字符串。

抓爪。抓爪。浪涌。风暴。fill_rad_w_other_source填充(t吨,风暴_参数,暴雨填充(_F),无功功率,无功功率,跨区(_K)={})

填充风暴半径变量(最大风半径风暴半径(_R))使用其他来源的值。如果IBTrACS中缺少半径,可以使用ATCF填充。此函数将假定风暴填充物有更多未丢失的值大于风暴_参数对于这个特殊的半径变量。因此,它首先尝试在暴雨填充(_F)到所需的时间步长。如果缺少,它会尝试插值中变量的非缺失值风暴_参数如果是这样的话同样失败,它只返回-1。这个的正确用法函数是对其进行包装,以便可以传递函数带有(t吨,暴风雨)参数到最大风半径填充风暴半径填充打电话时write_geoclaw(写入地理爪).

输入:

  • t吨(日期时间.datetime)对应的时间

    缺少的值最大风力半径风暴半径(_R)

  • 风暴_参数(抓爪。抓爪。风暴。风暴)暴风雨

    缺少要填充的值

  • 暴雨填充(_F)(抓爪。抓爪。风暴。风暴)暴风雨

    具有要用于填充的非缺失值的风暴参数

  • 无功功率,无功功率(str)“max_wind_radius”或“storm_radius”

  • 跨区(_K)(dict)传递给scipy的其他关键字

    内插器。

退换商品:

  • 用于填充此时间点的(浮点)值风暴_参数. -1

    如果使用后仍缺失暴雨填充(_F)填充。

示例:

>>>风暴_ibtracs = 风暴(文件格式(_F)=“IBTrACS”, 路径='路径_to_ibtracs.nc',
...    锡德=‘2018300N26315’)

>>>风暴_空中交通流量 = 风暴(文件格式(_F)=“ATCF”, 路径='路径_to_atcf.dat')

>>>定义 填充_写入(t吨, 暴风雨):
...    返回 fill_rad_w_other_source(添加其他源)(t吨, 暴风雨, 风暴_空中交通流量, '最大风半径')

>>>风暴_ibtracs.(文件格式 = “土爪”,
...    路径 = “out_path.storm”,
...    最大风半径填充 = 填充_写入)
抓爪。抓爪。浪涌。风暴。制造_多结构(路径)

为包含多个风暴轨迹的ATCF文件创建风暴对象字典