质量控制工具箱

titanlib的Python项目详细描述


钛锂

"Latest release"C/C++ CI

Titanlib是一个用于天气观测的自动质量控制程序库。它强调空间 检查并适用于密集的观测网络,如公民天气观测。它是 用C++编写,并有Python和R.的绑定。 数据测试。在

Titanlib目前正在积极开发中,目前的版本是测试的原型。反馈 欢迎使用Github中的问题跟踪器,或者联系thomasnipen(thomasn@met.no)。在

Example of titanlib

文件

有关如何使用Titanlib的更多信息,请查看位于https://github.com/metno/titanlib/wiki的wiki。在

特点

  • 各种各样的空间检查,例如space consistency testbuddy check隔离检查。在
  • pla可用性测试,如range check气候学检查。在
  • 图形界面的调整检查参数
  • 快速C++实现实现大型观测数据集
  • 的高效处理

必需的依赖项

在Ubuntu Bionic上,可以这样安装:

sudo apt-get update
sudo apt-get install libboost-all-dev
sudo apt-get install libgsl-dev libblas-dev
sudo apt-get install libproj-dev

从pip安装python绑定

最简单的方法是使用pip安装包的最新版本。如果您已经安装了上面列出的依赖项,则可以安装最新版本的python包,如下所示:

^{pr2}$

要检查安装是否正常,请在python3中运行以下命令:

importtitanlibprint(titanlib.version())

从源完全安装

  1. latest release下载源代码,解压缩 文件并导航到解压文件夹;或从github克隆repo。在

  2. 安装额外要求

这些仅在从源安装时才需要

sudo apt install swig cmake
  1. 设置cmake安装
mkdir build
cd build
cmake ..
    安装C++库
sudo make install

这将在/usr/local/lib/libtitanlib.so中安装库。在

  1. 安装python绑定
make install-python-user

这将在中安装python绑定 ~/local/lib/python3.6/site-packages/titanlib.py。要在系统范围内安装python绑定,请改用sudo make install-python。在

  1. 安装R绑定
make build-r

目前,R包不是集中安装的,而是放在构建目录的extras/SWIG/R/titanlib.R中。在

Python示例

下面是一个使用buddy check的示例,它具有以下函数签名:

buddy_check(lats,lons,elevs,values,radius,num_min,threshold,max_elev_diff,elev_gradient,min_std,num_iterations)

测试表明,最后的观察结果(-111)可能存在错误:

importtitanlibflags=titanlib.buddy_check([60,60.1,60.2],[10,10,10],[0,0,0],[0,1,-111],[50000],[2],2,200,0,1,2)print(flags)

R示例

从构建目录运行R中的以下代码,或者如果您想从任何其他目录运行,只需 为rtitanlib和titanlib.R设置正确的路径

dyn.load(paste("extras/SWIG/R/titanlib", .Platform$dynlib.ext, sep=""))
source("extras/SWIG/R/titanlib.R")
cacheMetaData(1)

sct(c(60,60.1,60.2), c(10,10,10), c(0,0,0), c(0,1,-111),50000,2,2,100,0,1,2)

版权和许可

版权所有©2019-2020挪威气象研究所。Titanlib是根据GNU小将授权的 公共许可证(LGPL)。请参见许可证文件。在

联系人

电子邮件:Thomas Nipen(thomasn@met.no

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

推荐PyPI第三方库


热门话题
显示图像的RGB编号的java   java JavaFX画布2D游戏:背景变换vs.绘画   在到达maxElementsInMemory之前创建的java DiskMarker   a4j:ajax可用事件的java详尽列表?   java从批处理文件运行jar文件,如果出现错误,则显示meessage   音频Java在背景音乐之上播放声音   用于在FTP中上载文件的java更改目录   尽管设置了必要的属性,java列表项仍不会保持选中状态   java Stanford Core NLP解析与CSV   java使用缓冲区合并热态和冷态   java无法初始化类javax。加密。JCE安全   对这个Java循环如此困惑的输入   java Spring RabbitMQ SimpleRabbitListenerContainerFactory用法   java如何使用jGrowl创建JSF消息   安装jRebel插件后,Netbeans项目中的java源文件夹不可见?   如何在Java中解析复杂的json字符串   java Spark KafkaUtils CreateRDD在键上应用过滤器   try块中的java代码被忽略,为什么?