Skip to main content

Quick Look Content (QLC): Model–Observation Comparison Suite for Use with CAMS

Project description

Quick Look Content (QLC): An Automated Model–Observation Comparison Suite

Quick Look Content (QLC) is a powerful, command-line driven suite for model–observation comparisons, designed to automate the evaluation of climate and air quality model data. It is optimized for use with CAMS (Cop Copernicus Atmospheric Monitoring Service) datasets but is flexible enough for general use cases.

The suite streamlines the entire post-processing workflow, from data retrieval and collocation to statistical analysis and the generation of publication-quality figures and reports.

Package Status
rc-qlc on PyPI PyPI

What's New in v0.3.26

This version introduces a completely new, high-performance Python processing engine and a more robust installation system.

  • New Python Engine (qlc-py): The core data processing and plotting is now handled by a powerful Python-based tool, compiled with Cython for maximum performance. This replaces much of the previous shell-script-based logic.
  • Standalone qlc-py Tool: In addition to being used by the main qlc pipeline, qlc-py can be run as a standalone tool for rapid, iterative analysis using a simple JSON configuration.
  • New cams Installation Mode: A dedicated installation mode for operational CAMS environments that automatically links to standard data directories.
  • Simplified and Robust Installation: The installer now uses a consistent directory structure based in $HOME/qlc, with a smart two-stage symlink system to manage data-heavy directories for different modes (test vs. cams).
  • Dynamic Variable Discovery: The shell pipeline now automatically discovers which variables to process based on the available NetCDF files, simplifying configuration.
  • Flexible Model Level Handling: The Python engine can intelligently select the correct vertical model level for each variable or use a user-defined default.

Core Features

  • Automated End-to-End Workflow: A single qlc command can drive the entire pipeline: MARS data retrieval, data processing, statistical analysis, plotting, and final PDF report generation.
  • High-Performance Engine: The core data processing logic is written in Python and compiled with Cython into native binary modules, ensuring high performance for large datasets.
  • Publication-Ready Outputs: Automatically generates a suite of plots (time series, bias, statistics, maps) and integrates them into a final, professionally formatted PDF presentation using a LaTeX backend.
  • Flexible Installation Modes: The qlc-install script supports multiple, co-existing modes:
    • --mode test: A standalone mode with bundled example data, perfect for new users. All data is stored locally in $HOME/qlc_v<version>/test/.
    • --mode cams: An operational mode that links to standard CAMS data directories and uses environment variables like $SCRATCH and $PERM for data storage in shared HPC environments.
  • Simplified Configuration: The entire suite is controlled by a single, well-documented configuration file ($HOME/qlc/config/qlc.conf) where you can set paths, experiment labels, and plotting options.

Quickstart

1. Install the Package

pip install rc-qlc

2. Set Up the Test Environment This creates a local runtime environment in $HOME/qlc_v<version>/test and links $HOME/qlc to it. It includes all necessary configurations and example data.

qlc-install --mode test

3. Run the Full Pipeline Navigate to the working directory and run the qlc command. This will process the example data (comparing experiments b2ro and b2rn) and generate a full PDF report in $HOME/qlc/Presentations.

cd $(readlink -f $HOME/qlc)
qlc b2ro b2rn 2018-12-01 2018-12-21

Installation and Configuration

Standard Installation

QLC is installed from PyPI. After the pip install, you must run qlc-install to set up the necessary local directory structure.

# For a standalone test environment with example data
pip install rc-qlc && qlc-install --mode test

# For an operational CAMS environment
pip install rc-qlc && qlc-install --mode cams

Installation in Restricted Environments (HPC/ATOS)

In environments where you do not have root permissions, pip will install packages into your local user directory. You may need to take a couple of extra steps.

1. Update your PATH (Recommended) The executable scripts (qlc, qlc-py, etc.) will be placed in $HOME/.local/bin. Add this to your shell's PATH to run them directly.

# Example for bash shell
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

2. Load the Correct Python Module Ensure you are using a compatible Python version.

module load python3/3.10.10-01

3. Install and Run Now you can install as normal.

pip install rc-qlc && qlc-install --mode test

If you chose not to update your PATH, you must call the installer script by its full path:

pip install rc-qlc && $HOME/.local/bin/qlc-install --mode test

Where Files Are Installed

  • Python Package Source: $HOME/.local/lib/python3.10/site-packages/qlc/
  • Executable Scripts: $HOME/.local/bin/
  • QLC Runtime Environment: $HOME/qlc_v<version>/<mode>
  • Stable Symlink: $HOME/qlc (points to the latest installed runtime environment)

Configuration Structure

The primary configuration file is located at $HOME/qlc/config/qlc.conf. The installation process uses a two-stage symlink system to manage data directories, allowing the config file to remain simple and portable.

For example, in test mode:

  • $HOME/qlc/Results (the path in your config) -> is a symlink to
  • $HOME/qlc_v<version>/test/Results -> which is a symlink to
  • $HOME/qlc_v<version>/test/data/Results -> which is a real directory.

In cams mode, the final target is a symlink to a shared directory (e.g., $SCRATCH/Results), but the path in your config file remains the same.


Developer Setup

To work on the qlc source code, clone the repository and install it in "editable" mode.

# 1. Clone the repository
git clone https://github.com/researchConcepts/qlc.git
cd qlc

# 2. (Recommended) Create and activate a virtual environment
python3 -m venv .venv
source .venv/bin/activate

# 3. Install in editable mode (this compiles the Cython modules)
pip install -e .

# 4. Set up the test environment for development
qlc-install --mode test

For advanced development, you can also use --mode interactive, which requires you to provide a path to a custom configuration file using the --config flag. This is useful for testing with non-standard setups.

qlc-install --mode interactive --config /path/to/your/custom_qlc.conf

License

© ResearchConcepts io GmbH
Contact: contact@researchconcepts.io
MIT-compatible, source-restricted under private release until publication.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

rc_qlc-0.3.26-cp311-cp311-win_amd64.whl (70.4 MB view details)

Uploaded CPython 3.11Windows x86-64

rc_qlc-0.3.26-cp311-cp311-win32.whl (70.2 MB view details)

Uploaded CPython 3.11Windows x86

rc_qlc-0.3.26-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (79.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

rc_qlc-0.3.26-cp311-cp311-macosx_11_0_arm64.whl (70.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

rc_qlc-0.3.26-cp310-cp310-win_amd64.whl (70.4 MB view details)

Uploaded CPython 3.10Windows x86-64

rc_qlc-0.3.26-cp310-cp310-win32.whl (70.2 MB view details)

Uploaded CPython 3.10Windows x86

rc_qlc-0.3.26-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (78.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

rc_qlc-0.3.26-cp310-cp310-macosx_11_0_arm64.whl (70.5 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file rc_qlc-0.3.26-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: rc_qlc-0.3.26-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 70.4 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for rc_qlc-0.3.26-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c3dcf0a573fa74fd794b136f853ef3044aa1ffba9578dc2b1d2edb186bccbb62
MD5 cce9569459332ec91c1a163a011d5254
BLAKE2b-256 413868f0772446b42b62a77e2238762e4798564a13aced7220a6905ae43258ba

See more details on using hashes here.

File details

Details for the file rc_qlc-0.3.26-cp311-cp311-win32.whl.

File metadata

  • Download URL: rc_qlc-0.3.26-cp311-cp311-win32.whl
  • Upload date:
  • Size: 70.2 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for rc_qlc-0.3.26-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 3196943bea71fbb15df39f99e742855a26d1f303b64fb2e081632c7127928542
MD5 0599a8bdcb67cd13a9cffbee3fca61d6
BLAKE2b-256 a726efc155068d91810312b0d3304aaaca0527e9b515965634636c93b4daf81b

See more details on using hashes here.

File details

Details for the file rc_qlc-0.3.26-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rc_qlc-0.3.26-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f08fac3e33a1b073f52250ce287ec473abedb82067fdb17264232e01da4d3833
MD5 93a7bd3157e73a98a577e9c976510dd0
BLAKE2b-256 dcece0cc3f549f7db4d83397f27147b363466ff4fac4b086c3a42b921df0cbbb

See more details on using hashes here.

File details

Details for the file rc_qlc-0.3.26-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rc_qlc-0.3.26-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 23875b8c44b94de1dace1f24f454fc32df53a7cd36fe69c7dd3ea9114cba175a
MD5 a0a0dc6c441a37bfd2f1498f729f5364
BLAKE2b-256 acb2f6b95f889f00dcbd5c12c9012455e74eb2ca62c065c9a90440c5a8025c9f

See more details on using hashes here.

File details

Details for the file rc_qlc-0.3.26-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: rc_qlc-0.3.26-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 70.4 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for rc_qlc-0.3.26-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b2669b1b135dd3818b9771e0ed88628f879e503aec55cd720049c4fea39dbedb
MD5 785358f84d92603e14674b31b4e0d97e
BLAKE2b-256 60cf454697e7dd4e95419ee1737655df3242131a60752e4c9ca6ad1b1b37aad4

See more details on using hashes here.

File details

Details for the file rc_qlc-0.3.26-cp310-cp310-win32.whl.

File metadata

  • Download URL: rc_qlc-0.3.26-cp310-cp310-win32.whl
  • Upload date:
  • Size: 70.2 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for rc_qlc-0.3.26-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 2dc8223b08aa1b555e23893701c52c820c25770a293a17ed8237f62802000999
MD5 493192e59b56e84ce943b233fd6c21da
BLAKE2b-256 9003a31468b864f94d7a6017122ab24d9141416a40fb6232417d17368a3e88fb

See more details on using hashes here.

File details

Details for the file rc_qlc-0.3.26-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rc_qlc-0.3.26-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 087fc93fb79a7e2950236f124bbad6c75f107e467fa07131cbc06cffe517a7b4
MD5 e57e342d6952656e895edafd5357566e
BLAKE2b-256 5bc8e273341ad6e1fa6524f970fcadb971c39b135758a1804995b5c00726fe91

See more details on using hashes here.

File details

Details for the file rc_qlc-0.3.26-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rc_qlc-0.3.26-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 14ae0f94198c5383723d0372c67f1b62e952608596668df7550ad77b9f2ccc92
MD5 05c2e3a5a68d6ab64ac2bd0b8339f842
BLAKE2b-256 1e0bb48b0d5e259f725a3e1f4045232fa7a324ec36f65f2ff198d9e2ebebfbeb

See more details on using hashes here.

Supported by

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