Skip to main content

Module containing QC tests

Project description

# Installing

Install from https://pypi.org/: ` pip install nivacloud-qclib `

# Standalone module containing quality tests

Input to the libary is a qcinput stucture which contains two lists:

  1. Values: it is a list of lists [[],[],[],…], where inner list is [datetime, value]

  2. Locations: is it a list of lists [[],[],[],…], where inner list is [datetime, lon, lat] and it is optional

Data has to be sorted ascending in time (first element in the list is the oldest, last element is the newest)

and a dictionary tests, where key is the measurement name (e.g. temperature, or salinity, or…) and the value is a list of tests =[“global_range”,”local_range”]…

# QC.py

A simple interface to facilitate execution of QC tests during ingest phase. It contains a platform_dict to relate platform_code to the relevant QC class and the three functions: 1. init(platform_code) instatiates (creates obj of) a relevant platform class. If platform_code is not found in platform_dict a PlatformQC is instatiated. 2. execute(platform, qc_input, measurement_name, tests) calls applyQC function defined in PlatformsQC. 3. finalize() prints success.

# PlatformQC.py

Contains a global common_tests dictionary and definition of PlatformQC class. PlatformQC has a constructor which initiated qc_tests to be the same as common_tests. applyQC method of this class executes the QC functions for each test in qc_tests and stores relevant QC flags. It also contains methods to format flags.

# Platforms.py Contains definitions of subclasses for each platform: FerryboxQC, SeaGliderQC, WaveGliderQC, SailbuoyQC. They all inherit from PlatformQC defined in PlatformQC.py Constructor in derived class may modify threshold and qc_tests dictionary. In addition platform specific information such as calibration may be added here.

# QCTests.py Contains definition of QCTests class which has a list of (static) function definitions for each QC test and a decorator checking number of sample requirements for each test. This class is a base for PlatformQC.

# Thresholds.py Defines threshold values for range tests.

# Version update

In order to update qclib version, update __version__ attribute in qclib/__init__.py

pip install -e .

# Changelog

Whenever we release a new version, the changes should be listed in [CHANGELOG.md](CHANGELOG.md)

Project details


Download files

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

Source Distribution

nivacloud-qclib-7.1.2.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

nivacloud_qclib-7.1.2-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file nivacloud-qclib-7.1.2.tar.gz.

File metadata

  • Download URL: nivacloud-qclib-7.1.2.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.9

File hashes

Hashes for nivacloud-qclib-7.1.2.tar.gz
Algorithm Hash digest
SHA256 ace83ed7857a8756529921c3b669d80e40d16c31e233aeef6def42f36e7e6042
MD5 f383603ea01c3c4c3cdf239cd4239fac
BLAKE2b-256 8422a46514c21d30502e733f5ea4ae5a710f8ff401aedab5170890eccbf477de

See more details on using hashes here.

File details

Details for the file nivacloud_qclib-7.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for nivacloud_qclib-7.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a7200aefab40a59b1afd54a018632e7cfc1cb777d77db35ef59185043414ac7d
MD5 de2435c7e630505578114b928300ad9f
BLAKE2b-256 cdcd98f6eb83ee8f3b54da986085001089943bcc10698699df132038cb5aa7ba

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page