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:
Values: it is a list of lists [[],[],[],…], where inner list is [datetime, value]
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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | ace83ed7857a8756529921c3b669d80e40d16c31e233aeef6def42f36e7e6042 |
|
MD5 | f383603ea01c3c4c3cdf239cd4239fac |
|
BLAKE2b-256 | 8422a46514c21d30502e733f5ea4ae5a710f8ff401aedab5170890eccbf477de |
File details
Details for the file nivacloud_qclib-7.1.2-py3-none-any.whl
.
File metadata
- Download URL: nivacloud_qclib-7.1.2-py3-none-any.whl
- Upload date:
- Size: 14.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a7200aefab40a59b1afd54a018632e7cfc1cb777d77db35ef59185043414ac7d |
|
MD5 | de2435c7e630505578114b928300ad9f |
|
BLAKE2b-256 | cdcd98f6eb83ee8f3b54da986085001089943bcc10698699df132038cb5aa7ba |