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 |
What's New in v0.3.25
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-pyTool: In addition to being used by the mainqlcpipeline,qlc-pycan be run as a standalone tool for rapid, iterative analysis using a simple JSON configuration. - New
camsInstallation 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 (testvs.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
qlccommand 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-installscript 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$SCRATCHand$PERMfor 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rc_qlc-0.3.25-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: rc_qlc-0.3.25-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 79.3 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
709e503ee3950bc4725ca5fc117252af26915ea49ae1bd665ff8e38f7c8e0b32
|
|
| MD5 |
64eb64663d59dc1d2f15291fee5eb0bc
|
|
| BLAKE2b-256 |
51e3fab7391a8b10d830a203407e76c04fb3847ee570fab709afcf31c5e4a3ca
|
File details
Details for the file rc_qlc-0.3.25-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: rc_qlc-0.3.25-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 78.7 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
320091ff82fc1139a01452e702f46b0e593e8c8fc50c3b0ac412ebefbf9d18d9
|
|
| MD5 |
e0aab5da71a5fa87ac618996f0c69afa
|
|
| BLAKE2b-256 |
591d4dcbedf8e973b96557224fd0331513c449326689c5a749fbdde6f306eb9d
|
File details
Details for the file rc_qlc-0.3.25-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: rc_qlc-0.3.25-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 70.5 MB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65cd5c4731a5624716eac4177e9a9f5efa510f1e9c7aa8bf3bf9a375d01bfac0
|
|
| MD5 |
04fd19e518757bb4789f9c30bf049211
|
|
| BLAKE2b-256 |
1d202f84b9d8d5048716c360cb9888573d2f14a4eba6ac3a41fe1c16afa9e723
|