lisfloodutilities用户的一组实用程序。pcr2nc:将pcraster文件转换为netcdf;剪切贴图:剪切netcdf文件
lisflood-utilities的Python项目详细描述
lisflood实用程序
此存储库托管lisflood实用程序的源代码。 有关详细信息,请转到lisflood os页面。
其他有用资源
<表><广告>每个工具的用户指南都放在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 pcr2nc0
输入为unix风格的路径名模式扩展。输出将是一个映射堆栈。注意,在这种情况下,输入参数必须包含在双引号中!
$ workon pcr2nc1
写入元数据配置文件
生成的netcdf4文件的格式配置为元数据配置文件。此文件可以用yaml或json格式编写。
元数据配置文件的示例如下
$ workon pcr2nc2
可变截面
在变量
部分,您可以为主变量配置元数据:
简称
:变量的简称长名称
:长名称版本描述
:人类的描述单位
:变量的单位压缩
:可选,整数介于1和9之间,默认为0(无压缩)。如果存在,输出NC文件将被压缩到这个级别。最低有效位
:可选,整数,默认值2。来自NetCDF4文档:
如果你的数据只有一定数量的精度
(比如说,是精确测量的温度数据
0.1度),可以通过量化显著改善zlib压缩
(或截断)使用最低有效位关键字参数的数据
创建变量。最小有效数字是
数据中可靠值的最小小数点。
例如,如果数据的精度为0.1,
然后设置最低有效位=1将导致数据
使用numpy.around(scale*data)/scale进行量化,其中
scale=2**位
,
位被确定为保持0.1的精度
(在这种情况下,位=4)。实际上,这使得压缩"有损"
不是"无损",而是为了磁盘空间而牺牲数据的某些精度。
来源和参考
source
和reference
为提供netcdf4文件的机构添加信息。
地理区域
在geographic
部分中,唯一要配置的设置是datum
。
目前,PCR2NC支持以下列表:
WGS84
ETRS89
gisco
时间段
此部分是可选的,仅当输出文件是映射堆栈(地理参考二维数组的时间序列)时才需要此部分。
在本节中,您必须配置单位
和日历
单位
:可以是以下字符串之一(用实际日期替换占位符):自yyyy-mm-dd起的小时数hh:mm:ss
自yyyy-mm-dd起的天数
日历
:一个可识别的日历标识符,如proleptic\u gregorian
,gregorian
等。
剪切图: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 pcr2nc3
索引也可以作为参数传递(使用-c参数而不是-m)。从netcdf文件中了解您感兴趣的领域,
您可以确定数组的索引,并以iu min-iu max:ju min-ju max的形式传递
$ workon pcr2nc4
gfit
简介
创建工具gfit2是为了从以netcdf格式给出的几年来每日流量的地图堆栈中提取洪水警告阈值。 它被设计用于任何其他变量以及不同的采样(每日次或每日超采样)
该工具由三个文件组成:
- gfit2.sh:主文件,用于运行工具(例如,./gfit2.sh./settingfile_test.sh)
- setting file_test.sh:定义输入变量路径和值的设置文件。只要在脚本中调用正确的名称(例如:set1.sh-->;/gfit2.sh./set1.sh),就可以重命名它
- gfit2.r:执行极值分析的r脚本 < > >
- CDO
- R(脚本是用R版本3.5.0测试的)
- 以下R包:ncdf4、lmomco、ismev
- cdo(脚本使用cdo版本1.6.5.1进行了测试)
- 它获取netcdf中的输入文件并提取年度最大值序列。在数据开始时排除了可选的热身年数(热身年),以消除潜在的自旋效应。同时计算平均值映射
- 使用l-矩和2参数gumbel分布对地图的每个像素执行极值拟合。作为选项,用户可以将分析限制为特定的年数。此外,还可以使用该选项从拟合中删除所有小于长期平均值的值。仅当至少有5个年度最大值可用时才进行拟合,否则在输出图上返回NA
- 输出返回级别映射(对应于用户选择的重复间隔年)保存在netcdf文件(return_levels.nc)中,并作为ascii文件保存。如果提供了PCRaster格式的克隆地图,地图也将保存在PCRaster中(返回级地图和Gumbel分布的参数)
- 在ev拟合之后,该工具从长期输入文件中估计一些进一步的统计信息,包括最小值、最大值和不同的百分位数映射。如果不感兴趣,可以将此部分注释掉
要求
您需要安装以下组件:
如何运行
该工具在linux环境中运行(也作为qsub的作业)。要运行所需的工具:
工具的作用是什么
gfit2工具执行以下步骤:
参考
霍斯金,J.R.M.,1990年。L矩:用顺序统计量的线性组合分析和估计分布。J.R.Stat.Soc.公司Ser。B Methodol。52105124.