rc-qlc 0.3.20__cp310-cp310-macosx_11_0_arm64.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 (113) hide show
  1. qlc/__init__.py +8 -0
  2. qlc/cli/__init__.py +21 -0
  3. qlc/cli/installer.py +16 -0
  4. qlc/cli/qlc_main.py +185 -0
  5. qlc/cli/qlc_py_main.py +74 -0
  6. qlc/config/json/qlc_config.json +41 -0
  7. qlc/config/json/qlc_config_example_1a_all-obs.json +237 -0
  8. qlc/config/json/qlc_config_example_1b_all-mod.json +353 -0
  9. qlc/config/json/qlc_config_example_1c_all-coll.json +266 -0
  10. qlc/config/json/qlc_config_example_2a_all-obs.json +237 -0
  11. qlc/config/json/qlc_config_example_2b_all-mod.json +353 -0
  12. qlc/config/json/qlc_config_example_2c_all-coll.json +265 -0
  13. qlc/config/json/qlc_config_example_3a-us_obs.json +82 -0
  14. qlc/config/json/qlc_config_example_3b-us_mod.json +122 -0
  15. qlc/config/json/qlc_config_example_3c-us_coll.json +46 -0
  16. qlc/config/json/qlc_config_example_4a_eu-obs.json +41 -0
  17. qlc/config/json/qlc_config_example_4b_eu-mod.json +122 -0
  18. qlc/config/json/qlc_config_example_4c_eu-coll.json +45 -0
  19. qlc/config/nml/mars_A1_sfc.nml +19 -0
  20. qlc/config/nml/mars_A2_sfc.nml +19 -0
  21. qlc/config/nml/mars_A3_sfc.nml +19 -0
  22. qlc/config/nml/mars_B1_pl.nml +19 -0
  23. qlc/config/nml/mars_B2_pl.nml +19 -0
  24. qlc/config/nml/mars_C1_pl.nml +19 -0
  25. qlc/config/nml/mars_C2_pl.nml +19 -0
  26. qlc/config/nml/mars_C3_ml.nml +19 -0
  27. qlc/config/nml/mars_D.nml +19 -0
  28. qlc/config/nml/mars_E.nml +19 -0
  29. qlc/config/nml/mars_F.nml +19 -0
  30. qlc/config/nml/mars_G.nml +19 -0
  31. qlc/config/qlc_cams.conf +26 -0
  32. qlc/config/qlc_test.conf +26 -0
  33. qlc/config/qlc_tex.conf +107 -0
  34. qlc/doc/CONTRIBUTING.md +105 -0
  35. qlc/doc/README.md +116 -0
  36. qlc/doc/USAGE.md +58 -0
  37. qlc/examples/cams_case_1/config/json/qlc_config.json +41 -0
  38. qlc/examples/cams_case_1/config/nml/mars_A3_sfc.nml +19 -0
  39. qlc/examples/cams_case_1/config/nml/mars_B1_pl.nml +19 -0
  40. qlc/examples/cams_case_1/config/nml/mars_C1_pl.nml +19 -0
  41. qlc/examples/cams_case_1/config/qlc_cams.conf +122 -0
  42. qlc/examples/cams_case_1/mod/b2ro/2018/b2ro_20181215-20181231_A3_sfc.grb +0 -0
  43. qlc/examples/cams_case_1/mod/iqi9/2018/iqi9_20181215-20181231_A3_sfc.grb +0 -0
  44. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181201.nc +0 -0
  45. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181202.nc +0 -0
  46. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181203.nc +0 -0
  47. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181204.nc +0 -0
  48. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181205.nc +0 -0
  49. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181206.nc +0 -0
  50. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181207.nc +0 -0
  51. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181208.nc +0 -0
  52. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181209.nc +0 -0
  53. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181210.nc +0 -0
  54. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181211.nc +0 -0
  55. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181212.nc +0 -0
  56. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181213.nc +0 -0
  57. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181214.nc +0 -0
  58. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181215.nc +0 -0
  59. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181216.nc +0 -0
  60. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181217.nc +0 -0
  61. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181218.nc +0 -0
  62. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181219.nc +0 -0
  63. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181220.nc +0 -0
  64. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181221.nc +0 -0
  65. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181222.nc +0 -0
  66. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181223.nc +0 -0
  67. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181224.nc +0 -0
  68. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181225.nc +0 -0
  69. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181226.nc +0 -0
  70. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181227.nc +0 -0
  71. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181228.nc +0 -0
  72. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181229.nc +0 -0
  73. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181230.nc +0 -0
  74. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181231.nc +0 -0
  75. qlc/examples/cams_case_1/obs/ebas_station-locations.csv +50 -0
  76. qlc/install.py +280 -0
  77. qlc/py/__main__.cpython-310-darwin.so +0 -0
  78. qlc/py/averaging.cpython-310-darwin.so +0 -0
  79. qlc/py/bias_plots.cpython-310-darwin.so +0 -0
  80. qlc/py/control.cpython-310-darwin.so +0 -0
  81. qlc/py/io.cpython-310-darwin.so +0 -0
  82. qlc/py/loadmod.cpython-310-darwin.so +0 -0
  83. qlc/py/loadobs.cpython-310-darwin.so +0 -0
  84. qlc/py/logging_utils.cpython-310-darwin.so +0 -0
  85. qlc/py/map_plots.cpython-310-darwin.so +0 -0
  86. qlc/py/matched.cpython-310-darwin.so +0 -0
  87. qlc/py/plot_config.cpython-310-darwin.so +0 -0
  88. qlc/py/plotting.cpython-310-darwin.so +0 -0
  89. qlc/py/plugin_loader.cpython-310-darwin.so +0 -0
  90. qlc/py/processing.cpython-310-darwin.so +0 -0
  91. qlc/py/scatter_plots.cpython-310-darwin.so +0 -0
  92. qlc/py/stations.cpython-310-darwin.so +0 -0
  93. qlc/py/statistics.cpython-310-darwin.so +0 -0
  94. qlc/py/style.cpython-310-darwin.so +0 -0
  95. qlc/py/timeseries_plots.cpython-310-darwin.so +0 -0
  96. qlc/py/utils.cpython-310-darwin.so +0 -0
  97. qlc/py/version.cpython-310-darwin.so +0 -0
  98. qlc/sh/qlc_A1.sh +127 -0
  99. qlc/sh/qlc_B1a.sh +123 -0
  100. qlc/sh/qlc_B2.sh +258 -0
  101. qlc/sh/qlc_C5.sh +825 -0
  102. qlc/sh/qlc_D1.sh +130 -0
  103. qlc/sh/qlc_Z1.sh +165 -0
  104. qlc/sh/qlc_common_functions.sh +157 -0
  105. qlc/sh/qlc_main.sh +127 -0
  106. qlc/sh/qlc_start.sh +23 -0
  107. qlc/sh/qlc_start_batch.sh +46 -0
  108. rc_qlc-0.3.20.dist-info/METADATA +142 -0
  109. rc_qlc-0.3.20.dist-info/RECORD +113 -0
  110. rc_qlc-0.3.20.dist-info/WHEEL +5 -0
  111. rc_qlc-0.3.20.dist-info/entry_points.txt +6 -0
  112. rc_qlc-0.3.20.dist-info/licenses/LICENSE +21 -0
  113. rc_qlc-0.3.20.dist-info/top_level.txt +1 -0
@@ -0,0 +1,142 @@
1
+ Metadata-Version: 2.4
2
+ Name: rc-qlc
3
+ Version: 0.3.20
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): Model–Observation Comparison Suite for Use with CAMS
28
+
29
+ `qlc` is a single command-line tool for model–observation comparisons with automated figures and summaries,
30
+ designed to support climate and air quality monitoring and specifically adapted for use with CAMS (Copernicus Atmospheric Monitoring Service) datasets.
31
+
32
+ | Package | Status |
33
+ |---------|--------|
34
+ | [qlc on PyPI](https://pypi.org/project/qlc/) | ![PyPI](https://img.shields.io/pypi/v/qlc?color=blue) |
35
+
36
+ ---
37
+
38
+ ## 🚀 Features
39
+
40
+ - Side-by-side evaluation of observational and modelled data
41
+ - Fully scriptable and automated post-processing chain (`qlc_main.sh`)
42
+ - Modular structure using shell + Python + Cython
43
+ - Generates publication-ready figures and LaTeX integration
44
+ - Supports NetCDF and CSV time series formats
45
+ - Pre-configured CAMS observational interface via JSON
46
+
47
+ ---
48
+
49
+ ## 🧩 User Installation
50
+
51
+ Use one of the following install modes:
52
+
53
+ ```bash
54
+ # Option 1: CAMS (default data links + config)
55
+ pip install qlc && qlc-install --cams
56
+
57
+ # Option 2: Local test mode with embedded examples
58
+ pip install qlc && qlc-install --test
59
+
60
+ # Option 3: Custom interactive mode
61
+ pip install qlc && qlc-install --interactive="./path/to/qlc_user.conf"
62
+ ```
63
+
64
+ ---
65
+
66
+ ## 🧪 Example Use Cases
67
+
68
+ ### Run the full shell pipeline (retrieval, processing, plotting):
69
+ ```bash
70
+ qlc
71
+ ```
72
+
73
+ ### Run just the observation/model comparison in Python:
74
+ ```bash
75
+ qlc-py
76
+ ```
77
+
78
+ ### Submit via batch system (e.g., SLURM or LSF):
79
+ ```bash
80
+ sqlc
81
+ ```
82
+
83
+ ## 🔧 Developer Setup
84
+
85
+ To work on the `qlc` source code, clone the repository and install it in "editable" mode. This will install all dependencies and link the `qlc` command to your source tree.
86
+
87
+ ```bash
88
+ # 1. Clone the repository
89
+ git clone https://github.com/researchConcepts/qlc.git
90
+ cd qlc
91
+
92
+ # 2. (Recommended) Create and activate a virtual environment
93
+ python3 -m venv .venv
94
+ source .venv/bin/activate
95
+
96
+ # 3. Install in editable mode
97
+ pip install -e .
98
+ ```
99
+
100
+ ---
101
+
102
+ ## 🔧 Configuration Structure
103
+
104
+ The installer script creates the following structure in your home directory:
105
+ ```
106
+ $HOME/qlc_v<version>/
107
+ ├── test/ # Root directory for the 'test' installation mode
108
+ │ ├── bin/ # Symlinks to shell scripts
109
+ │ ├── doc/ # Symlinks to documentation
110
+ │ ├── config/ # Active config files (e.g., qlc.conf)
111
+ │ ├── examples/ # Test input and output files
112
+ │ ├── obs/, mod/, ... # Runtime directories
113
+ │ └── VERSION.json # Tracks install mode and version
114
+ └── cams/ # Root for 'cams' mode, etc.
115
+ ```
116
+ A symlink `$HOME/qlc` is also created to point to the active installation. You can edit `$HOME/qlc/config/qlc.conf` to modify runtime behavior.
117
+
118
+ ---
119
+
120
+ ## 📄 Documentation
121
+
122
+ - All core logic is contained in the `qlc` package.
123
+ - Shell scripts for driving the pipeline are in `qlc/sh/`.
124
+ - The core Python/Cython logic is in `qlc/py/*.py` and is compiled to binary modules for performance.
125
+
126
+ ---
127
+
128
+ ## 🛠 Developer Notes
129
+
130
+ - Python source files (`.py`) are compiled to binary modules (`.so`) using Cython at install time.
131
+ - The package version is managed in `pyproject.toml`.
132
+ - The `qlc-install` script sets up the runtime environment by creating directories and symlinks.
133
+
134
+ ---
135
+
136
+ ## 🔗 License
137
+
138
+ © ResearchConcepts io GmbH
139
+ Contact: [contact@researchconcepts.io](mailto:contact@researchconcepts.io)
140
+ MIT-compatible, source-restricted under private release until publication.
141
+
142
+ ---
@@ -0,0 +1,113 @@
1
+ qlc/__init__.py,sha256=cmqybybgtiIwlVJIUfWOtP65yM1WzykLc1QRgdLANtI,208
2
+ qlc/install.py,sha256=N19jDWosoPaPQAKbMPX22kyjc2pGhCeeQeO32e81Nuo,10796
3
+ qlc/cli/__init__.py,sha256=JIJ_XEqrtN0kvnkBupk1ShKqAfjnpk1vg0L-EIF3uGY,771
4
+ qlc/cli/installer.py,sha256=ur6Ay7qKHt-8i7_TplEdlEpE23Qh0GAO15kVOAuphEQ,550
5
+ qlc/cli/qlc_main.py,sha256=fZ4CgPDzc3LC865JL6tBeP7dHzanqSR6QIg33h9qFtI,7663
6
+ qlc/cli/qlc_py_main.py,sha256=6soHJyNTfu1DT9LtzSBsFmHntBRMzTKS6Y6BZ8fctX4,2503
7
+ qlc/config/qlc_cams.conf,sha256=c7dePIqdN26750KGsm031HnAlXLb8EKFcRevyz8eFnw,1170
8
+ qlc/config/qlc_test.conf,sha256=9SQ2F0Bj1VXHT-e5RDdbTgKtWaz_wqBxYJDW3KMNrfg,1176
9
+ qlc/config/qlc_tex.conf,sha256=O76Y4d1HkVmV7e75sKjlThGOIvTHoH4Tb4O7yC1NH0Q,5144
10
+ qlc/config/json/qlc_config.json,sha256=vOxUiBSVwg8pFuPnIaPz3M80aMata23HtldnB46bsTo,1327
11
+ qlc/config/json/qlc_config_example_1a_all-obs.json,sha256=YedsRXqi2ZezT5M5SGtVUzLGABHXMYjMJvJrmqYHs4E,7554
12
+ qlc/config/json/qlc_config_example_1b_all-mod.json,sha256=pmsuYHM2dYEcaoNVZqBzLUIsxdkWH6fzIVJnpu7B8kU,10887
13
+ qlc/config/json/qlc_config_example_1c_all-coll.json,sha256=nuo-2EZF3N9DGgfTguUURcNvYLNgrBgXEFVfjV52yjg,8488
14
+ qlc/config/json/qlc_config_example_2a_all-obs.json,sha256=t9yqtMFKendTF9c2DyA2udxWBcECBbe6b_26vmJAAQA,7596
15
+ qlc/config/json/qlc_config_example_2b_all-mod.json,sha256=-gQTvmquAoRh71nKJJYF4EsUQRFtKTkdPD9-PxZXdio,10887
16
+ qlc/config/json/qlc_config_example_2c_all-coll.json,sha256=wro2TX_jtrlgKPQb5ZIDWT5PtG-CJWESklna4d25RUU,8483
17
+ qlc/config/json/qlc_config_example_3a-us_obs.json,sha256=JtlLYpKN2ToVU_duUqbG6L8NZuRD2ehv8S94P-TC_So,2559
18
+ qlc/config/json/qlc_config_example_3b-us_mod.json,sha256=aWeBfpSX4ztdQL8MamG8bJ6znE0ftw_9lMv5NpsWWks,3729
19
+ qlc/config/json/qlc_config_example_3c-us_coll.json,sha256=3lXZSxOUIRqiD5m6cQmMctJx9dn_JoyuGUUxXEqrVYQ,1449
20
+ qlc/config/json/qlc_config_example_4a_eu-obs.json,sha256=zSkChYknqQhJV-dWoDqPtY-2tCJHtIybJ60DOlCNDHs,1288
21
+ qlc/config/json/qlc_config_example_4b_eu-mod.json,sha256=D2gLRwUjKZ97zlZdq8PNHcu9rSV8MjRMQ2IWZ4tHQmU,3717
22
+ qlc/config/json/qlc_config_example_4c_eu-coll.json,sha256=PnjdaP_KoUEpaMdybA8atmOfoACFPvF_cH83w8cQbVA,1423
23
+ qlc/config/nml/mars_A1_sfc.nml,sha256=E5kG6rqVy4qvdvwpJ_sXfKzP2zwTq6wBAZcxuhUDZyQ,613
24
+ qlc/config/nml/mars_A2_sfc.nml,sha256=83Gkdr8vmlzif41EClWdjiJopZHDk9p-80-_l3fkeDE,638
25
+ qlc/config/nml/mars_A3_sfc.nml,sha256=CFVxn_0frDrgY4HeINnaulGUasNY2hMZVLRPiVuRN_M,543
26
+ qlc/config/nml/mars_B1_pl.nml,sha256=ii3fcR_LJTY9aODeTpqEhtofJPe85gqHQeWt3_Tgq2A,669
27
+ qlc/config/nml/mars_B2_pl.nml,sha256=_G2JFmvm6G6CvEZkb0zG8UKBqiiF1OwEgAkpNuFJapE,704
28
+ qlc/config/nml/mars_C1_pl.nml,sha256=gAkIFG3wOwz7jUpzNmiVoePnmDDTEWuPZk0Ov1egYp8,657
29
+ qlc/config/nml/mars_C2_pl.nml,sha256=z3m0V33HjNS1kKZ_gtmbAnqDqWrAqUJzJwYGO6XfJC0,689
30
+ qlc/config/nml/mars_C3_ml.nml,sha256=IEdmbPOmJu_DSv8p5r6k--hj2xZFoYibCG8ogwxVXaI,654
31
+ qlc/config/nml/mars_D.nml,sha256=DYtFEnAF1Nb7jwg3Gjf1SQIEtZbG_yvcV7W0ZMtoygI,565
32
+ qlc/config/nml/mars_E.nml,sha256=F6qlw9WpKa6s2kXJCa90_JtajvHCihpTu24liMiLhHc,580
33
+ qlc/config/nml/mars_F.nml,sha256=rIShFyYxx0ZIL_Kmd9yAtF0fGrh-hEbKmfGMhg56b9g,535
34
+ qlc/config/nml/mars_G.nml,sha256=XK2kEVO02jX0MlopUUALBpMti4X_zJRrH3wBZURFd9w,535
35
+ qlc/doc/CONTRIBUTING.md,sha256=_HxulxBkasIhCgvuzKH9em7H5FRquy9bLJzVhHe32H0,2650
36
+ qlc/doc/README.md,sha256=X1Nb1u4kkpYZuQp-4VBEoe8J9cSlpRot4DvW03BqGjU,3514
37
+ qlc/doc/USAGE.md,sha256=u958d50-u6yzZyKYa0WcLB1ua9zUBY1lwTysDvNYEl8,1152
38
+ qlc/examples/cams_case_1/config/qlc_cams.conf,sha256=tmhy0u4EP0-Plh6ByNrnKwJqmBr1lzg4EHUms3qeRBk,5719
39
+ qlc/examples/cams_case_1/config/json/qlc_config.json,sha256=vOxUiBSVwg8pFuPnIaPz3M80aMata23HtldnB46bsTo,1327
40
+ qlc/examples/cams_case_1/config/nml/mars_A3_sfc.nml,sha256=CFVxn_0frDrgY4HeINnaulGUasNY2hMZVLRPiVuRN_M,543
41
+ qlc/examples/cams_case_1/config/nml/mars_B1_pl.nml,sha256=ii3fcR_LJTY9aODeTpqEhtofJPe85gqHQeWt3_Tgq2A,669
42
+ qlc/examples/cams_case_1/config/nml/mars_C1_pl.nml,sha256=gAkIFG3wOwz7jUpzNmiVoePnmDDTEWuPZk0Ov1egYp8,657
43
+ qlc/examples/cams_case_1/mod/b2ro/2018/b2ro_20181215-20181231_A3_sfc.grb,sha256=G3z7XhuYn0r6Rs7pcIHHrYrShBuNXXhLO6YXmfYGr_g,10341600
44
+ qlc/examples/cams_case_1/mod/iqi9/2018/iqi9_20181215-20181231_A3_sfc.grb,sha256=WaQI398klK1LmGMqJTT8ghuNY1tGYJFdA3QP1RV6x4M,10341960
45
+ qlc/examples/cams_case_1/obs/ebas_station-locations.csv,sha256=v4LIThJ4gDmgJyDsXozwUm3k8lUvPhYKhrXjxp-YI3g,1743
46
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181201.nc,sha256=p0mRXcTHVkCmBZhzYl-LG-2pkd20U84ubiXWOsdWlpo,147934
47
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181202.nc,sha256=b2GnqKha9ApadqT1PsfzOdGLyeTX2iRFZWHAe4m_6hw,147754
48
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181203.nc,sha256=z1WS6bCfhAQHXNZzL90fGX1FsHW4AA4Es7DjeCVPPkg,145381
49
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181204.nc,sha256=sK092bbJTA5SKVMtbQZxiLu2foErxRws06soyavemVU,145171
50
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181205.nc,sha256=eekGhiONUCCvijstVtBOa8RnjTpRa1iaA5AUY-d4WCY,147730
51
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181206.nc,sha256=bmrFOUT7I1vPSZxbrhnZ7ABMf72jw0iyCg6wgzgdhm8,145280
52
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181207.nc,sha256=mJ-BmPag7fdMA3U8B7nDceT4jsYrdwCWzmAVa93vy50,145312
53
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181208.nc,sha256=og4cK4x-vE-qAAROyw6yHjVJKZeFsAtQhfOyKwhat0c,145388
54
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181209.nc,sha256=LrPL3ivckNa5ea-E4njIIoY7syTou25PkuZTyK5mZi8,142958
55
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181210.nc,sha256=YSarGOGHuv0bBBTHogTiT3ia3Ba0WJZgSgC6V5Sgx28,145052
56
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181211.nc,sha256=rj7-gnA7bSM45iz68Fjbvzt9jlCKRq_eW8J3PujWfYs,145445
57
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181212.nc,sha256=YfHgucNBIhppHx2ZvuZDS51LLUZ0cjaMAv0HmPyZABg,145270
58
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181213.nc,sha256=Qtf0i0y2dKqrWOWunALxuM604bJYt1_GsCJ-yD3wJcA,147719
59
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181214.nc,sha256=etpmhAaUHVOABoOa9QDOF1hVvOhpytKXQhp6LFzyzco,145358
60
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181215.nc,sha256=u93WDDRwrKMuKG2dfXqqz-7ZglSgvNrgSfZYRaSJO8A,145335
61
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181216.nc,sha256=XITSvxE_H-mAbl8mTChGlmfjdUChLcbmIfGwJ3Lpnrs,145312
62
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181217.nc,sha256=imrxXStn8JHDE3cq9mm6ApUedx9s7-vrsRUVmrMS7Ds,147776
63
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181218.nc,sha256=BSWuq-opl7pWnfkp5fi6bL0xMRPdqupIeWANrea7Whc,137423
64
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181219.nc,sha256=oHRQoHzIPuqLHCSbUSB2-7jf0POFHkajB7NmD7JhElU,139924
65
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181220.nc,sha256=44wohtBt2B3OyS94588_nMomdDAgWmorWe0tNNt-lKs,145331
66
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181221.nc,sha256=2aUMTPqiZm9h-9y26jOb3cWmeMNugK7V-8e5ItAWNu0,147848
67
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181222.nc,sha256=70D7mC9tmaXLRCl_7LWIAJrmJL-lfxf8-SCFLgVNrXU,145581
68
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181223.nc,sha256=Z3d0_SuxBr3g8-8Apk79Rkgo8ZqIv5eVSGOl9sIqPWo,145434
69
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181224.nc,sha256=Ao6XGhwlCJOCk2B2dvdq8W5wk3LxspzsbMSH3gEKF70,145547
70
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181225.nc,sha256=NX_-ApK44vVUl1MlL34Kp1_saqe4f1hHWjXHYMe3lrE,148101
71
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181226.nc,sha256=QaXOShPz7dp-GpLXwOGIPD52fvDMJz_ZwCfjFFTPzuc,137630
72
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181227.nc,sha256=VIIwMqy8-3Oh_DUxL6TrAW3TQkE_PuuQy-UL4kPY01I,140117
73
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181228.nc,sha256=lRFdN3EMNT-_1i7OqJ0ASFTEbvdVVon-YkexmIz3Buk,145655
74
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181229.nc,sha256=TtdledzM8v9fKWMy07j0m2tXZcFVR2LOJCFhka9Ancg,148217
75
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181230.nc,sha256=H2EsyIFva38W8K8APOo3nbYOv_5xb0kUcGSNXQGp7RQ,145680
76
+ qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181231.nc,sha256=aTAAzE3uXeeUIfVwn2Y_yDBM2oUe3HnFMyA7blD_8io,145563
77
+ qlc/py/__main__.cpython-310-darwin.so,sha256=dhE7RcpUtC1NqyeP3x0YUVfFMPvId64uTZMSYAHxRwg,94400
78
+ qlc/py/averaging.cpython-310-darwin.so,sha256=wmxmC-9f8GoKZYDt2mamGPf5zsm7Ravd9tzpCFhcB3Y,96080
79
+ qlc/py/bias_plots.cpython-310-darwin.so,sha256=85GjloYg0_-oJsuIruBNGgciCdVcp_6736hOR94ynwc,118784
80
+ qlc/py/control.cpython-310-darwin.so,sha256=DqWHYkqbueZ9WmZR-Ly5fTqS0UJv1Wu1-9kFcuxlUcU,247520
81
+ qlc/py/io.cpython-310-darwin.so,sha256=eoPV_uaRtfeMh3Pp2k0cyOLmLz-8B4blKrbJgQCnf14,172336
82
+ qlc/py/loadmod.cpython-310-darwin.so,sha256=Yzs4xtu7M1X6_6ZeSGOYwgt3hvWsnj-h4kpZsLJZ778,229632
83
+ qlc/py/loadobs.cpython-310-darwin.so,sha256=yixRmalStrG4uYEid0n5uUIOExpTskZABXZR0yIBFVw,211200
84
+ qlc/py/logging_utils.cpython-310-darwin.so,sha256=NlmJ18BuNxPOQ5-eWl4MoeoWiR0RRSLmZ2k_pNICyJo,113600
85
+ qlc/py/map_plots.cpython-310-darwin.so,sha256=f-Jy-upRhZzAiryiDGKa93k8dmG-q_qJjpohGZrzAOM,231392
86
+ qlc/py/matched.cpython-310-darwin.so,sha256=qt1vxlhmCgvXZei7leRWYmtY8UEpSPPW9-deg1KN1jk,114464
87
+ qlc/py/plot_config.cpython-310-darwin.so,sha256=7rNVJwX2z9XfZKzzaLX8IM4Fyex0c1gIt3eR7Bz6BOw,93808
88
+ qlc/py/plotting.cpython-310-darwin.so,sha256=o0b2YAISfa-B4fhzflbOEArT9rGS3kO_WnZmC6YjH_A,209824
89
+ qlc/py/plugin_loader.cpython-310-darwin.so,sha256=mod5I7t2Jk5FNx2fImrwN7FNItBtqI-4xY4N1hUWz8s,113600
90
+ qlc/py/processing.cpython-310-darwin.so,sha256=iY5QJp-a_nBO4NYp-rpQ5Eql_Wrnz6xgdRfuaQ5zsP4,152864
91
+ qlc/py/scatter_plots.cpython-310-darwin.so,sha256=ZUz5LPIoDs1iz99j5CaEQD3XsGKsdwO1r5a_nFkZ0T4,118096
92
+ qlc/py/stations.cpython-310-darwin.so,sha256=y8EEWay6GWTPdcheFR5yQNRrN6mzb9neiCLl_6f8Whc,693824
93
+ qlc/py/statistics.cpython-310-darwin.so,sha256=fsvMJW0KIjqupei4hXHYgAbp4bngNuaBah4_rCCGd-w,287024
94
+ qlc/py/style.cpython-310-darwin.so,sha256=7i4DibEoueRPXybw012EqpexDg33Bt4uhh7J8OZI8eU,320784
95
+ qlc/py/timeseries_plots.cpython-310-darwin.so,sha256=pWUT0KXo1640AmhA-MNGh1HWKtJfvpl-23bn7zG8mFg,693088
96
+ qlc/py/utils.cpython-310-darwin.so,sha256=HDzPnj9JhrpPfdTUlhKevUWxoLUuriaCZYb3KFN1sRg,573296
97
+ qlc/py/version.cpython-310-darwin.so,sha256=caWoDQpz1EXDeDO5i2t_BQrc3XyxxUNqRz5DrRufzug,70672
98
+ qlc/sh/qlc_A1.sh,sha256=ALll_tcuOwK-TWuQg897jGvYr0DLG-RKbIG_A58PgJE,4563
99
+ qlc/sh/qlc_B1a.sh,sha256=fifFOWRbV1M4lJeoUwKpaejmYOToXQtZISoN5q0m3Dc,3741
100
+ qlc/sh/qlc_B2.sh,sha256=xlNIJhQ1f_JSvysDIeWX1ZpflTCLfdgNzd05ufFJA0Q,10993
101
+ qlc/sh/qlc_C5.sh,sha256=zC-wcm4MWpVflhJO1sLdki3PfclOMljh3ZAmScoSVvg,36427
102
+ qlc/sh/qlc_D1.sh,sha256=GU0xtF1ys5yB6gZi3T06DF7OagRMYyCs2reB3bTojBw,3639
103
+ qlc/sh/qlc_Z1.sh,sha256=R9ulrb5tDjOuOAKd6a8FsDiCvIL1B8hcrCD25EM2T9o,5461
104
+ qlc/sh/qlc_common_functions.sh,sha256=_Y0U7nF1mHxQsbrUS_YQR1l6G9HDK4mt_gRiEuSucbg,5698
105
+ qlc/sh/qlc_main.sh,sha256=yyNs5r_xO0LmDba2GwcCyiLoSvn-g77aXwAVbmi_UV4,4253
106
+ qlc/sh/qlc_start.sh,sha256=FL37u3s29xTBN24dotWqXxGcY41rAhmEB1XLcG01uwE,1290
107
+ qlc/sh/qlc_start_batch.sh,sha256=vwtoXV8sAF1OCzs2KfylOCy8_M2cFmV0HgdfxwJLLkA,2032
108
+ rc_qlc-0.3.20.dist-info/licenses/LICENSE,sha256=1pYHFCPjSx9_0weOUVJ-SpSin1dm6nSMzeO8Jj_qKuo,1081
109
+ rc_qlc-0.3.20.dist-info/METADATA,sha256=qQaWXISeV8rtUygs2ZQB43-_uuiQtnrc4IZk5Vo2Ejo,4227
110
+ rc_qlc-0.3.20.dist-info/WHEEL,sha256=wyHf6UDzyHyUK-aDYscyyyExpYI7SeEZ9xjyEiU4cnw,109
111
+ rc_qlc-0.3.20.dist-info/entry_points.txt,sha256=haCqahVrnFhVkfBt0HoOuVpKGV1KJOKpC1v75lOBl_s,191
112
+ rc_qlc-0.3.20.dist-info/top_level.txt,sha256=Czv4KZhpli6RXvgvtCB1g87eRNEM2R-8iHplel1Qp5Q,4
113
+ rc_qlc-0.3.20.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.9.0)
3
+ Root-Is-Purelib: false
4
+ Tag: cp310-cp310-macosx_11_0_arm64
5
+
@@ -0,0 +1,6 @@
1
+ [console_scripts]
2
+ qlc = qlc.cli:run_shell_driver
3
+ qlc-install = qlc.cli.installer:main
4
+ qlc-py = qlc.cli.qlc_py_main:main
5
+ qlc-python = qlc.cli:run_python_driver
6
+ sqlc = qlc.cli:run_batch_driver
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 ResearchConcepts io GmbH
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1 @@
1
+ qlc