Cardio¶
Cardio Diagnostic¶
The Pikobs Cardio is a diagnostic tool designed to evaluate the impact and quality of radiance data within the assimilation cycle through multi-panel time series and interactive web interfaces.
Core Visualization: The 4-Panel Cardiogram¶
The engine generates a synchronized 4-panel vertical plot. This layout allows researchers to cross-reference bias, OMP, OMA, and data volume at any specific timestamp.
Panel Breakdown and Scientific Objectives:
1. Mean (Bias Analysis) Tracks the Bias Correction (Bcor), O-P (Observation minus Prediction), and O-A (Observation minus Analysis). This panel is essential for identifying systematic model drifts and sensor calibration offsets over time.
2. Standard Deviation (Uncertainty) Measures the standard deviation of the differences for both OMP and OMA. A lower standard deviation in the analysis (O-A) compared to the background (O-P) serves as a key indicator of a successful assimilation step.
3. Mean Observation Values Displays the absolute physical mean values for the Observations, the Trial (Background), and the Analysis. This allows researchers to compare the physical scales and trends directly.
4. Data Counts (Volume Metrics) Monitors Ndata (assimilated observations) versus Nlocs (total available locations). This bottom panel is vital for detecting sudden satellite outages, data link failures, or overly aggressive Quality Control (QC) filtering.
Interactive Web Environment¶
Beyond static plots, Pikobs automatically generates a Smart Web Viewer. This tool is designed for rapid multi-dimensional and comparative analysis:
Dynamic Filtering: The interface only displays valid combinations of satellite, channel, and region available in your dataset.
Flip-Flop Mode: Allows instant toggling between two different plots to detect subtle changes without losing visual focus.
Access: The generated interactive viewer is saved in your output directory and linked directly here:
🔗 Explore the Viewer: Interactive Web Viewer
HPC Execution & Real-Time Monitoring¶
To maintain system stability on Environment and Climate Change Canada (ECCC) clusters, always execute diagnostic tasks using a dedicated compute node.
1. Initialize Interactive Session:
qsub -I -X -l select=4:ncpus=80:mpiprocs=80:ompthreads=1:mem=185gb -l place=scatter -l walltime=6:0:0
2. Generate Diagnostics Command:
python -c 'import pikobs; pikobs.cardio.arg_call()' \
--path_experience /home/dlo001/sites8/Data_pikobs/monitoring/ \
--experience_name g0 \
--pathwork /your/custom/output/path \
--datestart 2026021000 \
--dateend 2026021700 \
--region Monde Canada \
--family to_amsua_allsky atms_allsky \
--flags_criteria clear_sky cloudy_sky clear_cloudy_sky \
--id_stn all \
--channel all \
--plot_title "Pikobs Cardio" \
--n_cpu 80
3. Expected Shell Output (Batch Monitoring):
When executing the command above, you will see the parallel processing progress in your terminal:
[PIKOBS] Initializing Cardio Diagnostic Engine...
[INFO] Detected 80 CPUs for parallel processing.
[DB] Connecting to: /your/path/to/experience/g0/output_fileMonde.db
[PARALLEL] Processing tasks for family: atms_allsky...
[PARALLEL] Generating cardiograms for METOP-1 (Channels: 1-15)...
[PARALLEL] Generating cardiograms for NOAA-20 (Channels: 1-15)...
[WEB] Compiling interactive web viewer data...
✅ Plot successfully saved: /your/path/serie_assimilee_atms_allsky_METOP-1_ch3.png
✅ Advanced Web viewer successfully created at: /your/path/pikobs_interactive_viewer.html
[DONE] All diagnostics completed successfully.
Support and Issues¶
Pikobs is maintained for the community. For bug reports, feature requests, or “ValueError” date-parsing issues, please use the official GitLab repository:
🔗 GitLab Issues: https://gitlab.science.gc.ca/dlo001/Pikobs