跳转到主要内容

未提供项目描述

项目描述

xarray后端用于Selafin格式

默认支持懒加载。

开发指南

要使后端在xarray中工作,请按照以下步骤操作

pip install xarray-selafin

读取Selafin

import xarray as xr
ds = xr.open_dataset("tests/data/r3d_tidal_flats.slf", engine="selafin")
ds = xr.open_dataset("tests/data/r3d_tidal_flats.slf", lang="fr", engine="selafin")  # if variables are in French
<xarray.Dataset>
Dimensions:  (time: 17, node: 648, plan: 21)
Coordinates:
    x        (node) float32 ...
    y        (node) float32 ...
  * time     (time) datetime64[ns] 1900-01-01 ... 1900-01-02T20:26:40
Dimensions without coordinates: node, plan
Data variables:
    Z        (time, node, plan) <class 'numpy.float64'> ...
    U        (time, node, plan) <class 'numpy.float64'> ...
    V        (time, node, plan) <class 'numpy.float64'> ...
    W        (time, node, plan) <class 'numpy.float64'> ...
    MUD      (time, node, plan) <class 'numpy.float64'> ...
Attributes:
    title:       Sloped flume Rouse profile test
    language:    en
    float_size:  4
    endian:      >
    params:      (1, 0, 0, 0, 0, 0, 21, 5544, 0, 1)
    ipobo:       [   1  264  263 ... 5411 5412 5413]
    ikle2:       [[155 153 156]\n [310 307 305]\n [308 310 305]\n ...\n [537 ...
    ikle3:       [[  155   153   156   803   801   804]\n [  310   307   305 ...
    variables:   {'Z': ('ELEVATION Z', 'M'), 'U': ('VELOCITY U', 'M/S'), 'V':...
    date_start:  (1900, 1, 1, 0, 0, 0)

索引

ds_last = ds.isel(time=-1)  # last frame

操作变量

ds = ds.assign(UTIMES100=lambda x: x.U * 100)  # Add a new variable
# ds.attrs["variables"]["UTIMES100"] = ("UTIMES100", "My/Unit")  # To provide variable name and unit (optional)
ds.drop_vars(["W"])  # Remove variable `VELOCITY W`

写入Selafin

ds.selafin.write("output_file.slf")

数据集内容

维度

  • 时间
  • 节点
  • 计划(仅在3D中)

坐标

坐标 描述
x 东网格坐标
y 北网格坐标
时间 日期时间序列

属性

除了ikle2之外的所有属性都是可选的

属性 描述 默认值
标题 赛法林标题 ""(空字符串)
语言 变量检测语言 "en"
float_size 浮点数大小 4(单精度)
endian 文件字节序 ">"
params 整数参数表 (可重建)
ikle2 2D中的连接表(1索引) -
ikle3 3D中的连接表(1索引,仅限3D,可选) (可从2D重建)
variables 包含变量名称和单位的字典(键是变量缩写) -
date_start 起始日期,以整数表示(年到秒) (从第一个时间序列)

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

xarray_selafin-0.1.8.tar.gz (23.8 kB 查看哈希

上传时间 源代码

构建分布

xarray_selafin-0.1.8-py3-none-any.whl (26.0 kB 查看哈希

上传时间 Python 3

支持者