Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Titanlib

C/C++ CI

Titanlib is a library of automatic quality control routines for weather observations. It emphases spatial checks and is suitable for use with dense observation networks, such as citizen weather observations. It is written in C++ and has bindings for python and R. The library consists of a set of functions that perform tests on data.

Titanlib is currently under development.

Example of titanlib

Features

  • A wide variety of spatial checks, such as spatial consistency test, buddy check, isolation check.
  • Plausability tests such as range check and climatology check.
  • A graphical interface for tuning the parameters of the checks
  • Fast C++ implementation for efficient processing of large observation datasets

Documentation

For more information on how to use Titanlib, check out the wiki at https://github.com/metno/titanlib/wiki.

Installation

Here are installation instructions for Ubuntu Bionic. First, install the pre-requisites:

sudo apt install swig doxygen r-base-core libboost-dev libproj-dev cmake libgsl-dev python3-setuptools python3-nose python3-numpy python3-scipy

Next, configure the installation cmake. Create a build directory and perform the installation there:

mkdir build
cd build
cmake ../

To compile the library and bindings, run

make all
sudo make install

To install the bindings, run

make install-python-user
make build-r

This will install the library in /usr/local/lib/libtitanlib.so, the python bindings in ~/local/lib/python3.6/site-packages/titanlib.py. To install the python bindings system-wide, use sudo make install-python. Currently, the R package is not installed centrally, but instead is placed in SWIG/R/titanlib.R.

Python example

import titanlib
status, flags = titanlib.sct([60,61],[10,11],[0,100],[-4,2],100,300,100,100,100,100,[2,2],[2,2],[2,2])
print(flags)

R example

Run the following code in R from the build directory, or if you want to run from any other directory, just put in the proper paths for rtitanlib and titanlib.R

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

sct(c(60,61), c(10,11), c(0,100), c(-4,2),100,300,100,100,100,100,c(2,2),c(2,2),c(2,2))

Copyright and license

Copyright © 2019-2020 Norwegian Meteorological Institute. Titanlib is licensed under The GNU Lesser General Public License (LGPL). See LICENSE file.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

titanlib-0.1.0a8.tar.gz (100.1 kB view details)

Uploaded Source

File details

Details for the file titanlib-0.1.0a8.tar.gz.

File metadata

  • Download URL: titanlib-0.1.0a8.tar.gz
  • Upload date:
  • Size: 100.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.9

File hashes

Hashes for titanlib-0.1.0a8.tar.gz
Algorithm Hash digest
SHA256 095c8460bdc51a9f87ee09d286feb8cc6f45b90fb44ff9403e7ae2a59c1466c2
MD5 6a6d43a2019294d7f117c770a5565358
BLAKE2b-256 5b88e3065e7ad2cae5799b3714791ddb0d6411dc404c55dc978caf15419934ab

See more details on using hashes here.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page