rc-qlc 0.3.24__cp311-cp311-win_amd64.whl → 0.3.26__cp311-cp311-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. qlc/cli/__init__.py +100 -9
  2. qlc/cli/installer.py +23 -5
  3. qlc/cli/qlc_main.py +54 -32
  4. qlc/cli/qlc_py_main.py +43 -38
  5. qlc/config/json/qlc_config.json +94 -10
  6. qlc/config/nml/mars_A1_sfc.nml +4 -5
  7. qlc/config/nml/mars_A3_sfc.nml +0 -1
  8. qlc/config/nml/mars_B1_pl.nml +2 -2
  9. qlc/{examples/cams_case_1/config/nml/mars_A3_sfc.nml → config/nml/mars_B1_sfc.nml} +7 -8
  10. qlc/config/nml/mars_C1_pl.nml +1 -1
  11. qlc/{examples/cams_case_1/config/nml/mars_C1_pl.nml → config/nml/mars_C1_sfc.nml} +7 -8
  12. qlc/config/nml/mars_C2_pl.nml +1 -1
  13. qlc/{examples/cams_case_1/config/qlc_cams.conf → config/qlc.conf} +80 -18
  14. qlc/doc/README.md +98 -62
  15. qlc/doc/USAGE.md +68 -29
  16. qlc/examples/cams_case_1/mod/b2rn/2018/b2rn_20181201-20181221_B1_pl.grb +0 -0
  17. qlc/examples/cams_case_1/mod/b2rn/2018/b2rn_20181201-20181221_C1_sfc.grb +0 -0
  18. qlc/examples/cams_case_1/mod/b2ro/2018/b2ro_20181201-20181221_B1_pl.grb +0 -0
  19. qlc/examples/cams_case_1/mod/b2ro/2018/b2ro_20181201-20181221_C1_sfc.grb +0 -0
  20. qlc/install.py +260 -106
  21. qlc/py/__main__.cp311-win_amd64.pyd +0 -0
  22. qlc/py/averaging.cp311-win_amd64.pyd +0 -0
  23. qlc/py/bias_plots.cp311-win_amd64.pyd +0 -0
  24. qlc/py/control.cp311-win_amd64.pyd +0 -0
  25. qlc/py/io.cp311-win_amd64.pyd +0 -0
  26. qlc/py/loadmod.cp311-win_amd64.pyd +0 -0
  27. qlc/py/loadobs.cp311-win_amd64.pyd +0 -0
  28. qlc/py/logging_utils.cp311-win_amd64.pyd +0 -0
  29. qlc/py/map_plots.cp311-win_amd64.pyd +0 -0
  30. qlc/py/matched.cp311-win_amd64.pyd +0 -0
  31. qlc/py/plot_config.cp311-win_amd64.pyd +0 -0
  32. qlc/py/plotting.cp311-win_amd64.pyd +0 -0
  33. qlc/py/plugin_loader.cp311-win_amd64.pyd +0 -0
  34. qlc/py/processing.cp311-win_amd64.pyd +0 -0
  35. qlc/py/scatter_plots.cp311-win_amd64.pyd +0 -0
  36. qlc/py/stations.cp311-win_amd64.pyd +0 -0
  37. qlc/py/statistics.cp311-win_amd64.pyd +0 -0
  38. qlc/py/style.cp311-win_amd64.pyd +0 -0
  39. qlc/py/timeseries_plots.cp311-win_amd64.pyd +0 -0
  40. qlc/py/utils.cp311-win_amd64.pyd +0 -0
  41. qlc/py/version.cp311-win_amd64.pyd +0 -0
  42. qlc/sh/qlc_A1.sh +29 -11
  43. qlc/sh/qlc_B1a.sh +1 -18
  44. qlc/sh/qlc_B2.sh +8 -1
  45. qlc/sh/qlc_C5.sh +19 -30
  46. qlc/sh/qlc_D1.sh +291 -51
  47. qlc/sh/qlc_Z1.sh +6 -6
  48. qlc/sh/qlc_batch.sh +61 -0
  49. qlc/sh/qlc_common_functions.sh +17 -29
  50. qlc/sh/qlc_main.sh +32 -26
  51. qlc/sh/tex_template/beamercolorthemeCAMS2_35.sty +51 -0
  52. qlc/sh/tex_template/beamerfontthemeCAMS2_35.sty +166 -0
  53. qlc/sh/tex_template/beamerthemeCAMS2_35.sty +25 -0
  54. qlc/sh/tex_template/subcaption.sty +170 -0
  55. qlc/sh/tex_template/template.tex +109 -0
  56. rc_qlc-0.3.26.dist-info/METADATA +178 -0
  57. rc_qlc-0.3.26.dist-info/RECORD +102 -0
  58. qlc/config/json/qlc_config_example_1a_all-obs.json +0 -237
  59. qlc/config/json/qlc_config_example_1b_all-mod.json +0 -353
  60. qlc/config/json/qlc_config_example_1c_all-coll.json +0 -266
  61. qlc/config/json/qlc_config_example_2a_all-obs.json +0 -237
  62. qlc/config/json/qlc_config_example_2b_all-mod.json +0 -353
  63. qlc/config/json/qlc_config_example_2c_all-coll.json +0 -265
  64. qlc/config/json/qlc_config_example_3a-us_obs.json +0 -82
  65. qlc/config/json/qlc_config_example_3b-us_mod.json +0 -122
  66. qlc/config/json/qlc_config_example_3c-us_coll.json +0 -46
  67. qlc/config/json/qlc_config_example_4a_eu-obs.json +0 -41
  68. qlc/config/json/qlc_config_example_4b_eu-mod.json +0 -122
  69. qlc/config/json/qlc_config_example_4c_eu-coll.json +0 -45
  70. qlc/config/qlc_cams.conf +0 -26
  71. qlc/config/qlc_test.conf +0 -26
  72. qlc/config/qlc_tex.conf +0 -107
  73. qlc/examples/cams_case_1/config/json/qlc_config.json +0 -41
  74. qlc/examples/cams_case_1/config/nml/mars_B1_pl.nml +0 -19
  75. qlc/examples/cams_case_1/mod/b2ro/2018/b2ro_20181215-20181231_A3_sfc.grb +0 -0
  76. qlc/examples/cams_case_1/mod/iqi9/2018/iqi9_20181215-20181231_A3_sfc.grb +0 -0
  77. qlc/sh/qlc_start.sh +0 -23
  78. qlc/sh/qlc_start_batch.sh +0 -46
  79. rc_qlc-0.3.24.dist-info/METADATA +0 -142
  80. rc_qlc-0.3.24.dist-info/RECORD +0 -113
  81. {rc_qlc-0.3.24.dist-info → rc_qlc-0.3.26.dist-info}/WHEEL +0 -0
  82. {rc_qlc-0.3.24.dist-info → rc_qlc-0.3.26.dist-info}/entry_points.txt +0 -0
  83. {rc_qlc-0.3.24.dist-info → rc_qlc-0.3.26.dist-info}/licenses/LICENSE +0 -0
  84. {rc_qlc-0.3.24.dist-info → rc_qlc-0.3.26.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,178 @@
1
+ Metadata-Version: 2.4
2
+ Name: rc-qlc
3
+ Version: 0.3.26
4
+ Summary: Quick Look Content (QLC): Model–Observation Comparison Suite for Use with CAMS
5
+ Home-page: https://pypi.org/project/qlc/
6
+ Author-email: ResearchConcepts io GmbH <contact@researchconcepts.io>
7
+ License: MIT
8
+ Requires-Python: >=3.10
9
+ Description-Content-Type: text/markdown
10
+ License-File: LICENSE
11
+ Requires-Dist: numpy
12
+ Requires-Dist: pandas
13
+ Requires-Dist: matplotlib
14
+ Requires-Dist: xarray
15
+ Requires-Dist: netCDF4
16
+ Requires-Dist: scipy
17
+ Requires-Dist: cartopy
18
+ Requires-Dist: tqdm
19
+ Provides-Extra: build
20
+ Requires-Dist: tomli; extra == "build"
21
+ Provides-Extra: test
22
+ Requires-Dist: pytest; extra == "test"
23
+ Provides-Extra: cams
24
+ Dynamic: home-page
25
+ Dynamic: license-file
26
+
27
+ # Quick Look Content (QLC): An Automated Model–Observation Comparison Suite
28
+
29
+ **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.
30
+
31
+ 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.
32
+
33
+ | Package | Status |
34
+ |---------|--------|
35
+ | [rc-qlc on PyPI](https://pypi.org/project/rc-qlc/) | ![PyPI](https://img.shields.io/pypi/v/rc-qlc?color=blue) |
36
+
37
+ ---
38
+
39
+ ## What's New in v0.3.26
40
+
41
+ This version introduces a completely new, high-performance Python processing engine and a more robust installation system.
42
+ - **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.
43
+ - **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.
44
+ - **New `cams` Installation Mode**: A dedicated installation mode for operational CAMS environments that automatically links to standard data directories.
45
+ - **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`).
46
+ - **Dynamic Variable Discovery**: The shell pipeline now automatically discovers which variables to process based on the available NetCDF files, simplifying configuration.
47
+ - **Flexible Model Level Handling**: The Python engine can intelligently select the correct vertical model level for each variable or use a user-defined default.
48
+
49
+ ---
50
+
51
+ ## Core Features
52
+
53
+ - **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.
54
+ - **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.
55
+ - **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.
56
+ - **Flexible Installation Modes**: The `qlc-install` script supports multiple, co-existing modes:
57
+ - `--mode test`: A standalone mode with bundled example data, perfect for new users. All data is stored locally in `$HOME/qlc_v<version>/test/`.
58
+ - `--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.
59
+ - **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.
60
+
61
+ ---
62
+
63
+ ## Quickstart
64
+
65
+ **1. Install the Package**
66
+ ```bash
67
+ pip install rc-qlc
68
+ ```
69
+
70
+ **2. Set Up the Test Environment**
71
+ 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.
72
+ ```bash
73
+ qlc-install --mode test
74
+ ```
75
+
76
+ **3. Run the Full Pipeline**
77
+ 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`.
78
+ ```bash
79
+ cd $(readlink -f $HOME/qlc)
80
+ qlc b2ro b2rn 2018-12-01 2018-12-21
81
+ ```
82
+
83
+ ---
84
+
85
+ ## Installation and Configuration
86
+
87
+ ### Standard Installation
88
+
89
+ QLC is installed from PyPI. After the `pip install`, you **must** run `qlc-install` to set up the necessary local directory structure.
90
+
91
+ ```bash
92
+ # For a standalone test environment with example data
93
+ pip install rc-qlc && qlc-install --mode test
94
+
95
+ # For an operational CAMS environment
96
+ pip install rc-qlc && qlc-install --mode cams
97
+ ```
98
+
99
+ ### Installation in Restricted Environments (HPC/ATOS)
100
+
101
+ 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.
102
+
103
+ **1. Update your PATH (Recommended)**
104
+ 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.
105
+ ```bash
106
+ # Example for bash shell
107
+ echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
108
+ source ~/.bashrc
109
+ ```
110
+
111
+ **2. Load the Correct Python Module**
112
+ Ensure you are using a compatible Python version.
113
+ ```bash
114
+ module load python3/3.10.10-01
115
+ ```
116
+
117
+ **3. Install and Run**
118
+ Now you can install as normal.
119
+ ```bash
120
+ pip install rc-qlc && qlc-install --mode test
121
+ ```
122
+ If you chose not to update your `PATH`, you must call the installer script by its full path:
123
+ ```bash
124
+ pip install rc-qlc && $HOME/.local/bin/qlc-install --mode test
125
+ ```
126
+
127
+ ### Where Files Are Installed
128
+ - **Python Package Source**: `$HOME/.local/lib/python3.10/site-packages/qlc/`
129
+ - **Executable Scripts**: `$HOME/.local/bin/`
130
+ - **QLC Runtime Environment**: `$HOME/qlc_v<version>/<mode>`
131
+ - **Stable Symlink**: `$HOME/qlc` (points to the latest installed runtime environment)
132
+
133
+
134
+ ### Configuration Structure
135
+
136
+ 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.
137
+
138
+ For example, in `test` mode:
139
+ - `$HOME/qlc/Results` (the path in your config) -> is a symlink to
140
+ - `$HOME/qlc_v<version>/test/Results` -> which is a symlink to
141
+ - `$HOME/qlc_v<version>/test/data/Results` -> which is a real directory.
142
+
143
+ 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.
144
+
145
+ ---
146
+
147
+ ## Developer Setup
148
+
149
+ To work on the `qlc` source code, clone the repository and install it in "editable" mode.
150
+
151
+ ```bash
152
+ # 1. Clone the repository
153
+ git clone https://github.com/researchConcepts/qlc.git
154
+ cd qlc
155
+
156
+ # 2. (Recommended) Create and activate a virtual environment
157
+ python3 -m venv .venv
158
+ source .venv/bin/activate
159
+
160
+ # 3. Install in editable mode (this compiles the Cython modules)
161
+ pip install -e .
162
+
163
+ # 4. Set up the test environment for development
164
+ qlc-install --mode test
165
+ ```
166
+
167
+ 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.
168
+ ```bash
169
+ qlc-install --mode interactive --config /path/to/your/custom_qlc.conf
170
+ ```
171
+
172
+ ---
173
+
174
+ ## License
175
+
176
+ © ResearchConcepts io GmbH
177
+ Contact: [contact@researchconcepts.io](mailto:contact@researchconcepts.io)
178
+ MIT-compatible, source-restricted under private release until publication.
@@ -0,0 +1,102 @@
1
+ qlc/__init__.py,sha256=gTHCo506l8Ud5R8eQr1H9ozSlxCNVRSg3TYaiYce9ow,216
2
+ qlc/install.py,sha256=nA8QILDConhODeQslWTYS1l8BilXpGD3Ld6WXZ-Yk2Y,18972
3
+ qlc/cli/__init__.py,sha256=EJ-W8SAC6i2Rdire1aYqCiWp_gu3-Ha-d0NekI8ZkSY,4331
4
+ qlc/cli/installer.py,sha256=DVbRCot5T-LMBmODc-esud9j_WCMg0xpCNJiHxeoNew,1369
5
+ qlc/cli/qlc_main.py,sha256=4XTxBhMVA1dy7KP4ASNTDM5_TLh5L1IuuQPdotfAvUw,8829
6
+ qlc/cli/qlc_py_main.py,sha256=eAWGuXnslNuOMb-PnWKKTi9ZVUfABOiUdaLGY__f-X8,2799
7
+ qlc/config/qlc.conf,sha256=ffggb-jJ-xBnNEAH22jG7TIQIEe_CkAioRx5qc3GomI,8726
8
+ qlc/config/json/qlc_config.json,sha256=aRJXYhu5ofRgrJJ_LBGLufB64HNGayXH0dUG9SumS-0,4074
9
+ qlc/config/nml/mars_A1_sfc.nml,sha256=ARVxOfINe44Mpv4YPlYJhh8hfm4-3uVBzmYKihCU2BA,531
10
+ qlc/config/nml/mars_A2_sfc.nml,sha256=c4RiMvmCV4FkUhRfinMOyuZe-ZA-uaDSxphOqnycUPo,657
11
+ qlc/config/nml/mars_A3_sfc.nml,sha256=5krkyOvQ9n-yWPQOw_R5xsOV0666J8ry0XJIvEF-6y4,543
12
+ qlc/config/nml/mars_B1_pl.nml,sha256=Lz7BeDcWPHhaZdppIYlyORzbYm2yb0-4RZJ4pib5ig8,660
13
+ qlc/config/nml/mars_B1_sfc.nml,sha256=VQexzdy3D1GO83Pur8uLJ93ElDRfZhTasoEM_JnZMdE,528
14
+ qlc/config/nml/mars_B2_pl.nml,sha256=kyGjlSLAoaiB5FlB-bGnyZekI7F2kqv9orsxo1tFb9M,723
15
+ qlc/config/nml/mars_C1_pl.nml,sha256=MOW5qf-ViPWnSLjwgD_5_X7U_RAba2YzyHCuPz8KFXQ,679
16
+ qlc/config/nml/mars_C1_sfc.nml,sha256=2HOWAtwLUF6vbxkebVE_mYqBy-WrhdliBrmAY2qPrHU,533
17
+ qlc/config/nml/mars_C2_pl.nml,sha256=4sIG6A6AtdrXAuMpvB6byt5EvVHJwjIycaBhO5V7Y00,711
18
+ qlc/config/nml/mars_C3_ml.nml,sha256=ttU0T83yptK_-JZEX4k79q3X6O6My2TNR_AGM__4nnI,673
19
+ qlc/config/nml/mars_D.nml,sha256=fCEEpbs_x_KqSDjEPm6Z7lKzURFhpQnSNAPCne6WIvI,584
20
+ qlc/config/nml/mars_E.nml,sha256=7gEVnnxwhE8VvYHXFgQRaDGiJBgo_L0gYDhUuzIjm98,599
21
+ qlc/config/nml/mars_F.nml,sha256=UUBJoDwjww62myJXB1rKM5w14r1-PXNB32CWoGTIYDs,554
22
+ qlc/config/nml/mars_G.nml,sha256=QG68v55LpucmvkKq1Gh2S2_vyrsLTCVGiRRMiRfhoyI,554
23
+ qlc/doc/CONTRIBUTING.md,sha256=wQxEfhegvfuruvrXQBfieFkUJJIGEpt5uMco754yRyc,2712
24
+ qlc/doc/README.md,sha256=93ciI80dRlnhxJ7WqBt1VV1MSKYKKiyfOFb6qSABHKU,7287
25
+ qlc/doc/USAGE.md,sha256=C8Xy53dFE_4BBA_u5AnJK_SzcCiQx4Iixn4ERPCEfHc,4329
26
+ qlc/examples/cams_case_1/mod/b2rn/2018/b2rn_20181201-20181221_B1_pl.grb,sha256=amWL5pi5OpxmkcejAleW22n57EK0nVeU_kl671bdASU,41073480
27
+ qlc/examples/cams_case_1/mod/b2rn/2018/b2rn_20181201-20181221_C1_sfc.grb,sha256=dFfCy3awEGV8_UuOxML22YVrTVQOEPoOIManyuLV64U,2979499
28
+ qlc/examples/cams_case_1/mod/b2ro/2018/b2ro_20181201-20181221_B1_pl.grb,sha256=WKK2bZf3i9VDj0K1uoZaToXxVZJXPxXEGm52rrLGVSg,41073480
29
+ qlc/examples/cams_case_1/mod/b2ro/2018/b2ro_20181201-20181221_C1_sfc.grb,sha256=FlWm-BFu9PTmAx--3AbUhs99tuWkNO6yEdFjn5UXRGA,1570901
30
+ qlc/examples/cams_case_1/obs/ebas_station-locations.csv,sha256=Yen7W-ZXGI6FXfcm9C7UFOubNrv6n8Tc8b3LxGcQGa8,1793
31
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181201.nc,sha256=p0mRXcTHVkCmBZhzYl-LG-2pkd20U84ubiXWOsdWlpo,147934
32
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181202.nc,sha256=b2GnqKha9ApadqT1PsfzOdGLyeTX2iRFZWHAe4m_6hw,147754
33
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181203.nc,sha256=z1WS6bCfhAQHXNZzL90fGX1FsHW4AA4Es7DjeCVPPkg,145381
34
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181204.nc,sha256=sK092bbJTA5SKVMtbQZxiLu2foErxRws06soyavemVU,145171
35
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181205.nc,sha256=eekGhiONUCCvijstVtBOa8RnjTpRa1iaA5AUY-d4WCY,147730
36
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181206.nc,sha256=bmrFOUT7I1vPSZxbrhnZ7ABMf72jw0iyCg6wgzgdhm8,145280
37
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181207.nc,sha256=mJ-BmPag7fdMA3U8B7nDceT4jsYrdwCWzmAVa93vy50,145312
38
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181208.nc,sha256=og4cK4x-vE-qAAROyw6yHjVJKZeFsAtQhfOyKwhat0c,145388
39
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181209.nc,sha256=LrPL3ivckNa5ea-E4njIIoY7syTou25PkuZTyK5mZi8,142958
40
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181210.nc,sha256=YSarGOGHuv0bBBTHogTiT3ia3Ba0WJZgSgC6V5Sgx28,145052
41
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181211.nc,sha256=rj7-gnA7bSM45iz68Fjbvzt9jlCKRq_eW8J3PujWfYs,145445
42
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181212.nc,sha256=YfHgucNBIhppHx2ZvuZDS51LLUZ0cjaMAv0HmPyZABg,145270
43
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181213.nc,sha256=Qtf0i0y2dKqrWOWunALxuM604bJYt1_GsCJ-yD3wJcA,147719
44
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181214.nc,sha256=etpmhAaUHVOABoOa9QDOF1hVvOhpytKXQhp6LFzyzco,145358
45
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181215.nc,sha256=u93WDDRwrKMuKG2dfXqqz-7ZglSgvNrgSfZYRaSJO8A,145335
46
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181216.nc,sha256=XITSvxE_H-mAbl8mTChGlmfjdUChLcbmIfGwJ3Lpnrs,145312
47
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181217.nc,sha256=imrxXStn8JHDE3cq9mm6ApUedx9s7-vrsRUVmrMS7Ds,147776
48
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181218.nc,sha256=BSWuq-opl7pWnfkp5fi6bL0xMRPdqupIeWANrea7Whc,137423
49
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181219.nc,sha256=oHRQoHzIPuqLHCSbUSB2-7jf0POFHkajB7NmD7JhElU,139924
50
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181220.nc,sha256=44wohtBt2B3OyS94588_nMomdDAgWmorWe0tNNt-lKs,145331
51
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181221.nc,sha256=2aUMTPqiZm9h-9y26jOb3cWmeMNugK7V-8e5ItAWNu0,147848
52
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181222.nc,sha256=70D7mC9tmaXLRCl_7LWIAJrmJL-lfxf8-SCFLgVNrXU,145581
53
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181223.nc,sha256=Z3d0_SuxBr3g8-8Apk79Rkgo8ZqIv5eVSGOl9sIqPWo,145434
54
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181224.nc,sha256=Ao6XGhwlCJOCk2B2dvdq8W5wk3LxspzsbMSH3gEKF70,145547
55
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181225.nc,sha256=NX_-ApK44vVUl1MlL34Kp1_saqe4f1hHWjXHYMe3lrE,148101
56
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181226.nc,sha256=QaXOShPz7dp-GpLXwOGIPD52fvDMJz_ZwCfjFFTPzuc,137630
57
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181227.nc,sha256=VIIwMqy8-3Oh_DUxL6TrAW3TQkE_PuuQy-UL4kPY01I,140117
58
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181228.nc,sha256=lRFdN3EMNT-_1i7OqJ0ASFTEbvdVVon-YkexmIz3Buk,145655
59
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181229.nc,sha256=TtdledzM8v9fKWMy07j0m2tXZcFVR2LOJCFhka9Ancg,148217
60
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181230.nc,sha256=H2EsyIFva38W8K8APOo3nbYOv_5xb0kUcGSNXQGp7RQ,145680
61
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181231.nc,sha256=aTAAzE3uXeeUIfVwn2Y_yDBM2oUe3HnFMyA7blD_8io,145563
62
+ qlc/py/__main__.cp311-win_amd64.pyd,sha256=5NhE_2pZn1Lx5zHQn8jY-JW2XjLVPTR9bHbTtYa39Yg,33792
63
+ qlc/py/averaging.cp311-win_amd64.pyd,sha256=LYoM3d1Yq7FLqpe1eemx9-9BYM4x8VrVjN7OApDs5mQ,41472
64
+ qlc/py/bias_plots.cp311-win_amd64.pyd,sha256=OTcWwSo5KUIG-6wApwfXnfyRadRn1P22DL-hUxI0F68,61440
65
+ qlc/py/control.cp311-win_amd64.pyd,sha256=g80mIP7pRrXdJ2Ks4DMvxPQwMm58algAnCvZyQAOsb8,138752
66
+ qlc/py/io.cp311-win_amd64.pyd,sha256=DOBmI9dARIn5ckVPP-Ci_ilbOZDSh02qoRqDVbDuZqQ,91648
67
+ qlc/py/loadmod.cp311-win_amd64.pyd,sha256=wey9PN8_IUqlTvD-0yP4SA0JrFmMXZGFUrIPTmKagzI,123904
68
+ qlc/py/loadobs.cp311-win_amd64.pyd,sha256=KCLLu4XnRsz2Et9iMhAauZvxLNtnV71JMMZbNTIF_fc,108032
69
+ qlc/py/logging_utils.cp311-win_amd64.pyd,sha256=Tk1YijFmixQcKQ892tCB5RhKqVNS7jEhNtpemnEI-8Y,66560
70
+ qlc/py/map_plots.cp311-win_amd64.pyd,sha256=_pPbWObfeRpqj7sKfFLjYRPvAmwj_Bs4npr1sNl2dQA,125440
71
+ qlc/py/matched.cp311-win_amd64.pyd,sha256=-VU5f_4yZCcFKd2x3aO5Z5ERLS5M-A47iLn2kv3WaFs,50176
72
+ qlc/py/plot_config.cp311-win_amd64.pyd,sha256=r9OmAGBuulP0qPFVc8Cw4dwG8pgqrk7mDML6IUGCnc8,32768
73
+ qlc/py/plotting.cp311-win_amd64.pyd,sha256=CcXkmw1M0B63z4QNqq-tDn_PQkE6cKD9C1lAVbDdvb0,114688
74
+ qlc/py/plugin_loader.cp311-win_amd64.pyd,sha256=tlkteZ34Wyqzy6_69s726bUJTyVG5jWlmM7DXwnb_A8,45056
75
+ qlc/py/processing.cp311-win_amd64.pyd,sha256=Ltc6sWfAi3kbMBKprTp2HaXpBIYNf2pUpXbufR8cw78,75264
76
+ qlc/py/scatter_plots.cp311-win_amd64.pyd,sha256=B2-cf6eRTghCz5HA3JpPHxlDZG99ecJBzAACWrp73IE,57856
77
+ qlc/py/stations.cp311-win_amd64.pyd,sha256=kcI29ILRp7g7ZSKRfom-eJQKTeumi2iPyzTdEuw3LMc,498176
78
+ qlc/py/statistics.cp311-win_amd64.pyd,sha256=ZqJBDFr6mwG2EPFbYqN_IT-sG5Zb6hhJIVBH-ThtQIQ,174080
79
+ qlc/py/style.cp311-win_amd64.pyd,sha256=7d31TQmoQfoua_ewHugIweYZ0XD_eI67WqvhyhtYBE0,216064
80
+ qlc/py/timeseries_plots.cp311-win_amd64.pyd,sha256=qFPHRqHZn5th--lQepNFb3wDufanMb6N-MZ0X66nuZA,428032
81
+ qlc/py/utils.cp311-win_amd64.pyd,sha256=ykyMO0rpeNWia8x451emvzfYAdAssHrUqDXEI02HDj4,436224
82
+ qlc/py/version.cp311-win_amd64.pyd,sha256=EsC9_sQWcSbvf6DQbfEr-gjtxhlV50Aj_yer2dqxuD8,16384
83
+ qlc/sh/qlc_A1.sh,sha256=eCOtLxZ0Jq1vT5KZeYPVqJNTO-HyeOoLSWlKF36nYPw,5476
84
+ qlc/sh/qlc_B1a.sh,sha256=ZXAPdliYKbORTvd7OxWOynUY4WlIJ0TC10zOe1eWpdU,3216
85
+ qlc/sh/qlc_B2.sh,sha256=owAoladmxKvoqSoNPBo7OaZfC6VG9r1ML8GoKbpVOes,11438
86
+ qlc/sh/qlc_C5.sh,sha256=3iIlrkQl5xXNGdMb77EAKRK6FZD6d6liScUuIFP-uVc,36950
87
+ qlc/sh/qlc_D1.sh,sha256=hCLb0CRjqfBt0-SGZgXwDIsPDuplWiJcUt6HWOfe0ro,13953
88
+ qlc/sh/qlc_Z1.sh,sha256=pFdjSYkkgDC-UQdiA8EWzKwWmKkF1Td-YNSg4eEDX2M,5638
89
+ qlc/sh/qlc_batch.sh,sha256=MVCE-7FFZmAqxyQwCA2mQtxdGwvxDB5cTRv9cTmJ9U4,2476
90
+ qlc/sh/qlc_common_functions.sh,sha256=qFiQPUTQV2AejZNOky_yjfsKExopCtj4hFqcjDGIBqg,5500
91
+ qlc/sh/qlc_main.sh,sha256=fBchfhBr7E1osl5AqoZV0OpTY63B6z6N60MrWmrQiwI,5018
92
+ qlc/sh/tex_template/beamercolorthemeCAMS2_35.sty,sha256=qt6xI-6fQgUye2nr7NQYyy7yim5xJJwrMzYujzM6AVc,2471
93
+ qlc/sh/tex_template/beamerfontthemeCAMS2_35.sty,sha256=WgcDWPM0r-zWO58UWvkUcCawN2x_hiOTCOXUJqq87Pw,5565
94
+ qlc/sh/tex_template/beamerthemeCAMS2_35.sty,sha256=9WnfzBr5lQfQqACO2t6O7jZrX_IrsP5GR7GwPW9kCVE,576
95
+ qlc/sh/tex_template/subcaption.sty,sha256=wB81gU2MIduCGg4si0lr7JCyyfxhQVjJbGpO2vfLTnY,6107
96
+ qlc/sh/tex_template/template.tex,sha256=66ipQGTzWh6b7jKp2bGGn1TeYRMCwIAFyqvSkprxO0w,4769
97
+ rc_qlc-0.3.26.dist-info/licenses/LICENSE,sha256=nKMnbH9hXXHmwB7c0rkt2Ucf-U_rBqZYb7f0g2nX57c,1102
98
+ rc_qlc-0.3.26.dist-info/METADATA,sha256=jsNcormtDwmUWkYIRpS5P41kfHczf-j4tKpWRaS2sV8,8027
99
+ rc_qlc-0.3.26.dist-info/WHEEL,sha256=JLOMsP7F5qtkAkINx5UnzbFguf8CqZeraV8o04b0I8I,101
100
+ rc_qlc-0.3.26.dist-info/entry_points.txt,sha256=haCqahVrnFhVkfBt0HoOuVpKGV1KJOKpC1v75lOBl_s,191
101
+ rc_qlc-0.3.26.dist-info/top_level.txt,sha256=Czv4KZhpli6RXvgvtCB1g87eRNEM2R-8iHplel1Qp5Q,4
102
+ rc_qlc-0.3.26.dist-info/RECORD,,
@@ -1,237 +0,0 @@
1
- [
2
- {
3
- "name": "CAMS2_35",
4
- "logdir": "./log",
5
- "workdir": "./run",
6
- "output_base_name": "$HOME/qlc/output/GMD",
7
- "station_file": "$HOME/qlc/obs/data/castnet_station-locations.csv",
8
- "obs_path": "$HOME/qlc/obs",
9
- "obs_dataset_type": "AMoN",
10
- "start_date": "2018-01-01",
11
- "end_date": "2018-12-31",
12
- "variable": "NH3",
13
- "station_radius_deg": 10.0,
14
- "plot_type": "",
15
- "plot_region": "US",
16
- "time_average": "weekly, monthly",
17
- "station_plot_group_size": 5,
18
- "show_stations": false,
19
- "show_min_max": true,
20
- "log_y_axis": false,
21
- "fix_y_axis": true,
22
- "show_station_map": true,
23
- "load_station_timeseries_obs": true,
24
- "show_station_timeseries_obs": true,
25
- "show_station_timeseries_mod": false,
26
- "show_station_timeseries_com": false,
27
- "save_plot_format": "pdf",
28
- "save_data_format": "nc",
29
- "multiprocessing": true,
30
- "n_threads": "20",
31
- "debug": false,
32
-
33
- "global_attributes": {
34
- "title": "Air pollutants over US, NH3",
35
- "summary": "AMoN bi-weekly observations for selected US stations.",
36
- "author": "Swen Metzger, sm@researchconcepts.io",
37
- "history": "Processed for CAMS2_35bis (dev 1.2)",
38
- "Conventions": "CF-1.8"
39
- }
40
- },
41
- {
42
- "name": "CAMS2_35",
43
- "logdir": "./log",
44
- "workdir": "./run",
45
- "output_base_name": "$HOME/qlc/output/GMD",
46
- "station_file": "$HOME/qlc/obs/data/castnet_station-locations.csv",
47
- "obs_path": "$HOME/qlc/obs/data/ver0d",
48
- "obs_dataset_type": "airnow",
49
- "start_date": "2018-01-01",
50
- "end_date": "2018-12-31",
51
- "variable": "SO2",
52
- "station_radius_deg": 10.0,
53
- "plot_type": "",
54
- "plot_region": "US",
55
- "time_average": "weekly, monthly",
56
- "station_plot_group_size": 5,
57
- "show_stations": false,
58
- "show_min_max": true,
59
- "log_y_axis": false,
60
- "fix_y_axis": true,
61
- "show_station_map": true,
62
- "load_station_timeseries_obs": true,
63
- "show_station_timeseries_obs": true,
64
- "show_station_timeseries_mod": false,
65
- "show_station_timeseries_com": false,
66
- "save_plot_format": "pdf",
67
- "save_data_format": "nc",
68
- "multiprocessing": true,
69
- "n_threads": "20",
70
- "debug": false,
71
-
72
- "global_attributes": {
73
- "title": "Air pollutants over US, SO2",
74
- "summary": "Airnow bi-weekly observations for selected US stations.",
75
- "author": "Swen Metzger, sm@researchconcepts.io",
76
- "history": "Processed for CAMS2_35bis (dev 1.2)",
77
- "Conventions": "CF-1.8"
78
- }
79
- },
80
- {
81
- "name": "CAMS2_35",
82
- "logdir": "./log",
83
- "workdir": "./run",
84
- "output_base_name": "$HOME/qlc/output/GMD",
85
- "station_file": "$HOME/qlc/obs/data/Asia_station_list.csv",
86
- "obs_path": "$HOME/qlc/obs/data/ver0d",
87
- "obs_dataset_type": "china_aq",
88
- "start_date": "2018-01-01",
89
- "end_date": "2018-12-31",
90
- "variable": "SO2",
91
- "station_radius_deg": 20.0,
92
- "plot_type": "",
93
- "plot_region": "Asia",
94
- "time_average": "weekly, monthly",
95
- "station_plot_group_size": 5,
96
- "show_stations": false,
97
- "show_min_max": true,
98
- "log_y_axis": false,
99
- "fix_y_axis": true,
100
- "show_station_map": true,
101
- "load_station_timeseries_obs": true,
102
- "show_station_timeseries_obs": true,
103
- "show_station_timeseries_mod": false,
104
- "show_station_timeseries_com": false,
105
- "save_plot_format": "pdf",
106
- "save_data_format": "nc",
107
- "multiprocessing": true,
108
- "n_threads": "20",
109
- "debug": false,
110
- "debug_extended": false,
111
-
112
- "global_attributes": {
113
- "title": "Air pollutants over Asia, SO2",
114
- "summary": "China AQ monthly observations for selected Asia stations.",
115
- "author": "Swen Metzger, sm@researchconcepts.io",
116
- "history": "Processed for CAMS2_35bis (dev 1.2)",
117
- "Conventions": "CF-1.8"
118
- }
119
- },
120
- {
121
- "name": "CAMS2_35",
122
- "logdir": "./log",
123
- "workdir": "./run",
124
- "output_base_name": "$HOME/qlc/output/GMD",
125
- "station_file": "$HOME/qlc/obs/data/ebas_station-locations.csv",
126
- "obs_path": "$HOME/qlc/obs/data/ver0d",
127
- "obs_dataset_type": "ebas_daily",
128
- "start_date": "2018-01-01",
129
- "end_date": "2018-12-31",
130
- "variable": "SO2,SO4,HNO3,NO3,NH3,NH4",
131
- "station_radius_deg": 10.0,
132
- "plot_type": "",
133
- "plot_region": "EU",
134
- "time_average": "weekly, monthly",
135
- "station_plot_group_size": 5,
136
- "show_stations": false,
137
- "show_min_max": true,
138
- "log_y_axis": false,
139
- "fix_y_axis": true,
140
- "show_station_map": true,
141
- "load_station_timeseries_obs": true,
142
- "show_station_timeseries_obs": true,
143
- "show_station_timeseries_mod": false,
144
- "show_station_timeseries_com": false,
145
- "save_plot_format": "pdf",
146
- "save_data_format": "nc",
147
- "multiprocessing": true,
148
- "n_threads": "20",
149
- "debug": false,
150
-
151
- "global_attributes": {
152
- "title": "Air pollutants over Europe, SO2,SO4,HNO3,NO3,NH3,NH4",
153
- "summary": "Ebas daily observations for selected EU stations.",
154
- "author": "Swen Metzger, sm@researchconcepts.io",
155
- "history": "Processed for CAMS (dev 1.2)",
156
- "Conventions": "CF-1.8"
157
- }
158
- },
159
- {
160
- "name": "CAMS2_35",
161
- "logdir": "./log",
162
- "workdir": "./run",
163
- "output_base_name": "$HOME/qlc/output/GMD",
164
- "station_file": "$HOME/qlc/obs/data/castnet_station-locations.csv",
165
- "obs_path": "$HOME/qlc/obs",
166
- "obs_dataset_type": "castnet",
167
- "start_date": "2018-01-01",
168
- "end_date": "2018-12-31",
169
- "variable": "SO2,SO4,HNO3,NO3,NH4,NH3",
170
- "station_radius_deg": 10.0,
171
- "plot_type": "",
172
- "plot_region": "US",
173
- "time_average": "weekly, monthly",
174
- "station_plot_group_size": 5,
175
- "show_stations": false,
176
- "show_min_max": true,
177
- "log_y_axis": false,
178
- "fix_y_axis": true,
179
- "show_station_map": true,
180
- "load_station_timeseries_obs": true,
181
- "show_station_timeseries_obs": true,
182
- "show_station_timeseries_mod": false,
183
- "show_station_timeseries_com": false,
184
- "save_plot_format": "pdf",
185
- "save_data_format": "nc",
186
- "multiprocessing": true,
187
- "n_threads": "20",
188
- "debug": false,
189
-
190
- "global_attributes": {
191
- "title": "Air pollutants over US, SO2,SO4,HNO3,NO3,NH4,NH3",
192
- "summary": "CASTNET weekly observations for selected US stations.",
193
- "author": "Swen Metzger, sm@researchconcepts.io",
194
- "history": "Processed for CAMS2_35bis (dev 1.2)",
195
- "Conventions": "CF-1.8"
196
- }
197
- },
198
- {
199
- "name": "CAMS2_35",
200
- "logdir": "./log",
201
- "workdir": "./run",
202
- "output_base_name": "$HOME/qlc/output/GMD",
203
- "station_file": "$HOME/qlc/obs/data/Asia_station_list.csv",
204
- "obs_path": "$HOME/qlc/obs",
205
- "obs_dataset_type": "NNDMN",
206
- "start_date": "2018-01-01",
207
- "end_date": "2018-12-31",
208
- "variable": "HNO3,NO3,NH4,NH3",
209
- "station_radius_deg": 50.0,
210
- "plot_type": "",
211
- "plot_region": "Asia",
212
- "time_average": "weekly, monthly",
213
- "station_plot_group_size": 5,
214
- "show_stations": false,
215
- "show_min_max": true,
216
- "log_y_axis": false,
217
- "fix_y_axis": true,
218
- "show_station_map": true,
219
- "load_station_timeseries_obs": true,
220
- "show_station_timeseries_obs": true,
221
- "show_station_timeseries_mod": false,
222
- "show_station_timeseries_com": false,
223
- "save_plot_format": "pdf",
224
- "save_data_format": "nc",
225
- "multiprocessing": true,
226
- "n_threads": "20",
227
- "debug": false,
228
-
229
- "global_attributes": {
230
- "title": "Air pollutants over Asia, HNO3,NO3,NH4,NH3",
231
- "summary": "NNDMN monthly observations for selected Asia stations.",
232
- "author": "Swen Metzger, sm@researchconcepts.io",
233
- "history": "Processed for CAMS2_35bis (dev 1.2)",
234
- "Conventions": "CF-1.8"
235
- }
236
- }
237
- ]