lisfloodutilities用户的一组实用程序。pcr2nc:将pcraster文件转换为netcdf;剪切贴图:剪切netcdf文件

lisflood-utilities的Python项目详细描述


lisflood实用程序

此存储库托管lisflood实用程序的源代码。 有关详细信息,请转到lisflood os页面。

其他有用资源

<表><广告> 项目 文档 源代码 < /广告><正文>lisflood模型文档https://github.com/ec-jrc/lisflood-code用户指南Lisvap文档https://github.com/ec-jrc/lisflood-lisvap校准工具文档https://github.com/ec-jrc/lisflood-calibrationlisflood实用程序https://github.com/ec jrc/lisflood utilities(此存储库)lisflood用例https://github.com/ec-jrc/lisflood-usecases

每个工具的用户指南都放在readme.md文件的相对目录下。

pcr2nc

pcr2nc是将pcraster地图转换为netcdf4文件的工具。 它是在JRC E1董事会开发的,作为一个洪水小组的倡议。

  • 将单个地图转换为netcdf4文件
  • 将时间序列映射转换为netcdf4映射堆栈
  • 支持WGS84和ETRS89(LAEA)参考系统
  • 输出文件的微调(压缩、有效数字等)

安装

安装软件有两种方法:一种是通过pip工具安装,另一种是通过克隆存储库安装。

必需品

确保已正确安装以下软件:

  • 巨蟒3.5+
  • GDAL C库和软件
  • netcdf4 c库

创建一个python3 virtualenv来使用软件并激活它。

如果您有virtualenvwrapper:

$ workon pcr2nc

否则,只需执行激活脚本

$ source /path/to/virtualenvs/pcr2nc/bin/activate

通过PIP工具安装

激活virtualenv,然后:

$ pip install pcr2nc

安装完成后,您仍然需要安装正确的gdal包, 根据计算机上安装的gdal库版本。 您还需要c gdal头才能正确安装python gdal包装器。

< < < > > >
sudo apt-get install libgdal-dev libgdal
exportCPLUS_INCLUDE_PATH=/usr/include/gdal
exportC_INCLUDE_PATH=/usr/include/gdal
gdal-config --version  # 2.2.3
pip install GDAL==2.2.3

通过克隆存储库安装

假设您的python 3 virtualenv被称为pcr2nc,并且您已经安装了virtualenvwrapper:

git clone https://github.com/ec-jrc/lisflood-utilities
cd lisflood-utilities/pcr2nc
workon pcr2nc

安装要求

$ pip install -r requirements.txt

如果gdal库安装失败,请确保安装 系统中的库。 要检查计算机上安装的gdal库版本,请使用gdal config

gdal-config --version
2.1

示例:您已安装GDAL 2.1,然后:

$ pip install GDAL==2.1
$ pip install -r requirements.txt

用法

< Buff行情>

注意:本指南假设您已使用PIP工具安装了程序。 如果您克隆了源代码,只需将克隆项目根文件夹中的可执行文件pcr2nc替换为python pcr2nc\u script.py

该工具有三个命令行输入参数:

  • -i,--input:它可以是单个文件的路径、文件夹或类似于unix的widlcard表达式,如/path/to/files/dis00*
  • -o,--output_文件:输出的路径数控文件
  • -m,--元数据:包含netcdf4输出文件配置的yaml或json文件的路径。

除非输入是单个文件,否则生成的netcdf4文件将是根据时间维度的映射堆栈。

用法示例:

作为包含PCRaster地图的文件夹输入。在这种情况下,文件夹必须只包含PCraster文件,并且输出将是一个映射堆栈。

pcr2nc -i /path/to/input/ -o /path/to/output/out.nc -m ./nc_metadata.yaml

作为单个映射的路径输入。在这种情况下,输出将不是一个映射堆栈。

$ workon pcr2nc
0

输入为unix风格的路径名模式扩展。输出将是一个映射堆栈。注意,在这种情况下,输入参数必须包含在双引号中!

$ workon pcr2nc
1

写入元数据配置文件

生成的netcdf4文件的格式配置为元数据配置文件。此文件可以用yaml或json格式编写。

元数据配置文件的示例如下

$ workon pcr2nc
2

可变截面

变量部分,您可以为主变量配置元数据:

  • 简称:变量的简称
  • 长名称:长名称版本
  • 描述:人类的描述
  • 单位:变量的单位
  • 压缩:可选,整数介于1和9之间,默认为0(无压缩)。如果存在,输出NC文件将被压缩到这个级别。
  • 最低有效位:可选,整数,默认值2。来自NetCDF4文档:
< Buff行情>

如果你的数据只有一定数量的精度 (比如说,是精确测量的温度数据 0.1度),可以通过量化显著改善zlib压缩 (或截断)使用最低有效位关键字参数的数据 创建变量。最小有效数字是 数据中可靠值的最小小数点。 例如,如果数据的精度为0.1, 然后设置最低有效位=1将导致数据 使用numpy.around(scale*data)/scale进行量化,其中scale=2**位, 位被确定为保持0.1的精度 (在这种情况下,位=4)。实际上,这使得压缩"有损" 不是"无损",而是为了磁盘空间而牺牲数据的某些精度。

来源和参考

sourcereference为提供netcdf4文件的机构添加信息。

地理区域

geographic部分中,唯一要配置的设置是datum。 目前,PCR2NC支持以下列表:

  • WGS84
  • ETRS89
  • gisco

时间段

此部分是可选的,仅当输出文件是映射堆栈(地理参考二维数组的时间序列)时才需要此部分。 在本节中,您必须配置单位日历

  • 单位:可以是以下字符串之一(用实际日期替换占位符):
    • 自yyyy-mm-dd起的小时数hh:mm:ss
    • 自yyyy-mm-dd起的天数
  • 日历:一个可识别的日历标识符,如proleptic\u gregoriangregorian等。

剪切图:netcdf文件cookie cutter

此工具接受模板/Cookie Cutter作为输入,以及要剪切的文件列表,并生成剪切NetCDF文件。

用法:

工具接受输入:

  • 遮罩图(pcraster或netcdf格式),或者直接以min_x_ind-max_x_ind:min_y_ind-max_y_ind形式传递索引
  • 包含要剪切或更改的文件路径列表的文本文件本地指向包含要剪切的netcdf文件的文件夹的路径
  • 写入剪切文件的文件夹的路径。

用法示例:

以下命令将剪切/workarea/madeira/lai/文件夹中的所有netcdf文件 生成的文件将写入当前文件夹。 将使用的cookie cutter是/workarea/madeira/maps/maskmap/bacia_madeira.nc。 此文件是一个遮罩(仅在感兴趣区域中为1的布尔映射),在该遮罩中,CUTMAPS从中获取边界框。 遮罩也可以采用PCRaster格式。

$ workon pcr2nc
3

索引也可以作为参数传递(使用-c参数而不是-m)。从netcdf文件中了解您感兴趣的领域, 您可以确定数组的索引,并以iu min-iu max:ju min-ju max的形式传递

$ workon pcr2nc
4

gfit

简介

创建工具gfit2是为了从以netcdf格式给出的几年来每日流量的地图堆栈中提取洪水警告阈值。 它被设计用于任何其他变量以及不同的采样(每日次或每日超采样)

该工具由三个文件组成:

  1. gfit2.sh:主文件,用于运行工具(例如,./gfit2.sh./settingfile_test.sh)
  2. setting file_test.sh:定义输入变量路径和值的设置文件。只要在脚本中调用正确的名称(例如:set1.sh-->;/gfit2.sh./set1.sh),就可以重命名它
  3. gfit2.r:执行极值分析的r脚本
  4. < > >

    要求

    您需要安装以下组件:

    • CDO

    如何运行

    该工具在linux环境中运行(也作为qsub的作业)。要运行所需的工具:

    • R(脚本是用R版本3.5.0测试的)
    • 以下R包:ncdf4、lmomco、ismev
    • cdo(脚本使用cdo版本1.6.5.1进行了测试)

    工具的作用是什么

    gfit2工具执行以下步骤:

    • 它获取netcdf中的输入文件并提取年度最大值序列。在数据开始时排除了可选的热身年数(热身年),以消除潜在的自旋效应。同时计算平均值映射
    • 使用l-矩和2参数gumbel分布对地图的每个像素执行极值拟合。作为选项,用户可以将分析限制为特定的年数。此外,还可以使用该选项从拟合中删除所有小于长期平均值的值。仅当至少有5个年度最大值可用时才进行拟合,否则在输出图上返回NA
    • 输出返回级别映射(对应于用户选择的重复间隔年)保存在netcdf文件(return_levels.nc)中,并作为ascii文件保存。如果提供了PCRaster格式的克隆地图,地图也将保存在PCRaster中(返回级地图和Gumbel分布的参数)
    • 在ev拟合之后,该工具从长期输入文件中估计一些进一步的统计信息,包括最小值、最大值和不同的百分位数映射。如果不感兴趣,可以将此部分注释掉

    参考

    l-矩:使用顺序统计的线性组合分析和估计分布

    霍斯金,J.R.M.,1990年。L矩:用顺序统计量的线性组合分析和估计分布。J.R.Stat.Soc.公司Ser。B Methodol。52105124.

    欢迎加入QQ群-->: 979659372 Python中文网_新手群

    推荐PyPI第三方库


热门话题
使用Jetty 9.4发送到JSP的PUT请求的java显示自定义错误页   使用OSGi R6注释和Sling模型的java AEM 6.3   找不到请求操作的cassandra编解码器:[date<>java.util.date]   python中实现hashmap的java等效方法   java如何格式化Hadoop中Mapreduce编写的输出   java TabListener不工作   同一容器中战争之间的java进程内通信   java性能对加载最多30000条记录的相关下拉列表的影响   java Spring MVC在注册时发送电子邮件   java如何设置MongoTemplate集合映射   Java MongoDb:点表示法   java Jackson不会将@JsonProperty与@JsonPOJOBuilder或@JsonCreator一起使用   具有图像和兼容性的java Android布局