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
@@ -1,45 +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/ebas_station-locations.csv",
8
- "obs_path": "$HOME/qlc/obs/data/ver0d",
9
- "obs_dataset_type": "ebas_daily",
10
- "mod_path": "$HOME/qlc/mod/",
11
- "model": "ifs",
12
- "experiments": "hylm,i3bw,i3ad",
13
- "exp_labels": "CY48R1,CY49R1_NOE4C,CY49R1",
14
- "start_date": "2018-12-01",
15
- "end_date": "2018-12-31",
16
- "variable": "SO2,SO4,HNO3,NO3,NH3,NH4",
17
- "station_radius_deg": 0.5,
18
- "plot_type": "",
19
- "plot_region": "EU",
20
- "time_average": "daily,weekly",
21
- "station_plot_group_size": 5,
22
- "show_stations": false,
23
- "show_min_max": true,
24
- "log_y_axis": false,
25
- "fix_y_axis": true,
26
- "show_station_map": true,
27
- "load_station_timeseries_obs": false,
28
- "show_station_timeseries_obs": false,
29
- "show_station_timeseries_mod": false,
30
- "show_station_timeseries_com": true,
31
- "save_plot_format": "pdf",
32
- "save_data_format": "nc",
33
- "multiprocessing": true,
34
- "n_threads": "4",
35
- "debug": false,
36
-
37
- "global_attributes": {
38
- "title": "Air pollutants over Europe, SO2,SO4,HNO3,NO3,NH4,NH3",
39
- "summary": "EBAS daily observations for selected EU stations.",
40
- "author": "Swen Metzger, sm@researchconcepts.io",
41
- "history": "Processed for CAMS2_35bis (dev 1.2)",
42
- "Conventions": "CF-1.8"
43
- }
44
- }
45
- ]
qlc/config/qlc_cams.conf DELETED
@@ -1,26 +0,0 @@
1
- #----------------------------------------------------------------------
2
- #----------------------- QLC version to be used -------------------
3
- QLC_VERSION="VERSION"
4
- #----------------------- Path definitions -------------------------
5
- QLC_HOME="$HOME/qlc"
6
- QLC_DIRECTORY="${QLC_HOME}_v${QLC_VERSION}/cams"
7
- SCRIPTS_PATH="${QLC_DIRECTORY}/bin"
8
- WORKING_DIRECTORY="$SCRATCH/qlc"
9
- MARS_RETRIEVAL_DIRECTORY="$SCRATCH/qlc/Results"
10
- ANALYSIS_DIRECTORY="$HPCPERM/qlc/Analysis"
11
- PLOTS_DIRECTORY="$PERM/qlc/Plots"
12
- TEX_DIRECTORY="$PERM/qlc/Presentations"
13
- #----------------------- PDF presentation and info -------------
14
- TEAM_PREFIX="CAMS2_35"
15
- EVALUATION_PREFIX="EVAL"
16
- MODEL_RESOLUTION="T255L137"
17
- TIME_RESOLUTION="03hh"
18
- #----------------------------------------------------------------------
19
- # User specific configuration file
20
- CONFIG_DIR="$HOME/qlc/config"
21
- CONFIG_TEX="$CONFIG_DIR/qlc_tex.conf"
22
- #----------------------------------------------------------------------
23
- # Source the tex script configuration file to load the settings
24
- . "$CONFIG_TEX"
25
- #----------------------------------------------------------------------
26
- #----------------------------------------------------------------------
qlc/config/qlc_test.conf DELETED
@@ -1,26 +0,0 @@
1
- #----------------------------------------------------------------------
2
- #----------------------- QLC version to be used -------------------
3
- QLC_VERSION="VERSION"
4
- #----------------------- Path definitions -------------------------
5
- QLC_HOME="$HOME/qlc"
6
- QLC_DIRECTORY="${QLC_HOME}_v${QLC_VERSION}/test"
7
- SCRIPTS_PATH="${QLC_DIRECTORY}/bin"
8
- WORKING_DIRECTORY="${QLC_DIRECTORY}"
9
- MARS_RETRIEVAL_DIRECTORY="${QLC_HOME}/Results"
10
- ANALYSIS_DIRECTORY="${QLC_HOME}/Analysis"
11
- PLOTS_DIRECTORY="${QLC_HOME}/Plots"
12
- TEX_DIRECTORY="${QLC_HOME}/Presentations"
13
- #----------------------- PDF presentation and info -------------
14
- TEAM_PREFIX="CAMS2_35"
15
- EVALUATION_PREFIX="EVAL"
16
- MODEL_RESOLUTION="T255L137"
17
- TIME_RESOLUTION="03hh"
18
- #----------------------------------------------------------------------
19
- # User specific configuration file
20
- CONFIG_DIR="$HOME/qlc/config"
21
- CONFIG_TEX="$CONFIG_DIR/qlc_tex.conf"
22
- #----------------------------------------------------------------------
23
- # Source the tex script configuration file to load the settings
24
- . "$CONFIG_TEX"
25
- #----------------------------------------------------------------------
26
- #----------------------------------------------------------------------
qlc/config/qlc_tex.conf DELETED
@@ -1,107 +0,0 @@
1
- #----------------------------------------------------------------------
2
- #----------------------- PDF presentation and info -------------
3
- #PLOTEXTENSION="pdf"
4
- PLOTEXTENSION="png"
5
- #----------------------- Run-time definitions -------------------------
6
- #- 1. Definition of QLC complexity through selection of subscripts
7
- #----------------------------------------------------------------------
8
- #- (a) QLC unified data analysis and plotting (entries optional)
9
- #----------------------------------------------------------------------
10
- #SUBSCRIPT_NAMES=("A1" "B1" "B2" "C1" "D1" "E1" "F1" "G1" "Z1")
11
- #SUBSCRIPT_NAMES=("C5" "Z1")
12
- SUBSCRIPT_NAMES=("A1" "B1a" "B2" "C5" "Z1")
13
- #----------------------------------------------------------------------
14
- #- (b) QLC unified mars data retrieval (SUBSCRIPT_NAME, A1, A2, A3, ...)
15
- #- Mars retrievals for namelist : nml/mars_A2.nml, nml/mars_B2.nml, ...)
16
- #----------------------------------------------------------------------
17
- #- MARS_RETRIEVALS=("A2_sfc" "B2_pl" "C2_pl" "C3_ml" "D" "E" "F" "I")
18
- #- O3, NH3 and NH4_as
19
- MARS_RETRIEVALS=("A3_sfc" "B1_pl" "C1_pl")
20
- #----------------------------------------------------------------------
21
- #- un/comment MARS_RETRIEVALS (choose one or combine contents into one)
22
- #- The MARS_RETRIEVALS mapping is required for subscript processing (a)
23
- #----------------------------------------------------------------------
24
- #- Key variables (AOD, PM + gases and aerosols)
25
- # MARS_RETRIEVALS=("A2_sfc" "B2_pl" "C2_pl")
26
- #- pH variables (rain, cloud, aerosol pH and water)
27
- # MARS_RETRIEVALS=("D" "F" "G")
28
- #- Extended aerosol diagnostics (requires E4C and active 4D output)
29
- # MARS_RETRIEVALS=("E")
30
- #- PSC frequency (requires E4C output)
31
- # MARS_RETRIEVALS=("H")
32
- #- Meteo output (e.g., T, SH, RH)
33
- # MARS_RETRIEVALS=("I")
34
- #----------------------------------------------------------------------
35
- #----------------------------------------------------------------------
36
- #- 2. Variable mapping and definition (to be processed by subscripts)
37
- #- (number of array elements need to match mars retrieval, if active)
38
- #----------------------------------------------------------------------
39
- #- e.g., surface variables (sfc)
40
- #----------------------------------------------------------------------
41
- param_A1_sfc=("73.210")
42
- ncvar_A1_sfc=("var73")
43
- myvar_A1_sfc=("PM25")
44
- #----------------------------------------------------------------------
45
- param_A2_sfc=("207.210" "72.210" "73.210" "74.210")
46
- ncvar_A2_sfc=("var207" "var72" "var73" "var74")
47
- myvar_A2_sfc=("AOD" "PM1" "PM25" "PM10")
48
- #----------------------------------------------------------------------
49
- param_A3_sfc=("203.210")
50
- ncvar_A3_sfc=("go3")
51
- myvar_A3_sfc=("O3")
52
- #----------------------------------------------------------------------
53
- #- e.g., gases (pressure levels, pl)
54
- #----------------------------------------------------------------------
55
- param_B1_pl=("19.217")
56
- ncvar_B1_pl=("var19")
57
- myvar_B1_pl=("NH3")
58
- #----------------------------------------------------------------------
59
- param_B2_pl=("19.217" "6.217" "122.210" "203.210")
60
- ncvar_B2_pl=("var19" "var6" "var122" "var203")
61
- myvar_B2_pl=("NH3" "HNO3" "SO2" "O3")
62
- #----------------------------------------------------------------------
63
- #- e.g., aerosols (pressure levels, pl)
64
- #----------------------------------------------------------------------
65
- param_C1_pl=("35.212")
66
- ncvar_C1_pl=("var35")
67
- myvar_C1_pl=("NH4_as")
68
- #----------------------------------------------------------------------
69
- param_C2_pl=("36.212" "35.212" "2.212" "1.212")
70
- ncvar_C2_pl=("var36" "var35" "var2" "var1" )
71
- myvar_C2_pl=("NO3_as" "NH4_as" "SO4_as" "N_as")
72
- #----------------------------------------------------------------------
73
- param_C3_ml=("247.210" "248.210" "249.210" "11.210")
74
- ncvar_C3_ml=("var247" "var248" "var249" "var11" )
75
- myvar_C3_ml=("NO3a" "NO3b" "NH4" "SO4")
76
- #----------------------------------------------------------------------
77
- #- e.g., aerosol diagnostics
78
- #----------------------------------------------------------------------
79
- param_D=("51.212" "52.212")
80
- ncvar_D=("var51" "var52")
81
- myvar_D=("pHcloud" "pHrain")
82
- #----------------------------------------------------------------------
83
- param_E=("210025")
84
- ncvar_E=("aergn10")
85
- myvar_E=("EQdiag")
86
- #----------------------------------------------------------------------
87
- param_F=("22.210")
88
- ncvar_F=("aergn07")
89
- myvar_F=("pHaer")
90
- #----------------------------------------------------------------------
91
- param_G=("22.210")
92
- ncvar_G=("aergn07")
93
- myvar_G=("AW")
94
- #----------------------------------------------------------------------
95
- #- e.g., stratospheric diagnostics
96
- #----------------------------------------------------------------------
97
- param_H=("25.210")
98
- ncvar_H=("aergn10")
99
- myvar_H=("PSCfreq")
100
- #----------------------------------------------------------------------
101
- #- e.g., meteo fields
102
- #----------------------------------------------------------------------
103
- param_I=("130" "133" "157")
104
- ncvar_I=("var130" "var133" "var157")
105
- myvar_I=("T" "SH" "RH")
106
- #----------------------------------------------------------------------
107
- #----------------------------------------------------------------------
@@ -1,41 +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/ebas_station-locations.csv",
8
- "obs_path": "$HOME/qlc/obs/data/ver0d",
9
- "obs_dataset_type": "ebas_daily",
10
- "start_date": "2018-01-01",
11
- "end_date": "2018-12-31",
12
- "variable": "SO2,SO4,HNO3,NO3,NH3,NH4",
13
- "station_radius_deg": 10.0,
14
- "plot_type": "",
15
- "plot_region": "EU",
16
- "time_average": "daily, 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 Europe, SO2,SO4,HNO3,NO3,NH3,NH4",
35
- "summary": "Custom summary for netCDF output: Ebas daily observations for selected EU stations.",
36
- "author": "Plain & Simple, plain.simple@example.com",
37
- "history": "Processed for CAMS (test 1.1)",
38
- "Conventions": "CF-1.8"
39
- }
40
- }
41
- ]
@@ -1,19 +0,0 @@
1
- # adopt to your needs, except for EXP, SDATE, EDATE, MYPATH, MYFILE, which will be auto-replaced
2
- # add your param_, ncvar_ and myvar_ to your $HOME/qlc/qlc.conf file
3
- # param_B=("19.217" "6.217" "122.210" "203.210")
4
- # ncvar_B=("var19" "var6" "var122" "var203")
5
- # myvar_B=("NH3" "HNO3" "SO2" "O3")
6
- # pressure levels
7
- RETRIEVE,
8
- CLASS = XCLASS,
9
- TYPE = fc,
10
- STREAM = oper,
11
- EXPVER = EXP,
12
- PARAM = 19.217,
13
- LEVTYPE = pl,
14
- GRID = 1.0/1.0,
15
- TIME = 00:00:00,
16
- STEP = 0/6/12/18,
17
- LEVELIST = 10/20/30/50/70/100/150/200/250/300/400/500/700/850/925/1000,
18
- DATE = SDATE/to/EDATE,
19
- target = "MYPATH/MYFILE_B1_pl.grb"
qlc/sh/qlc_start.sh DELETED
@@ -1,23 +0,0 @@
1
- #!/bin/sh
2
- SCRIPT="$0"
3
- echo "________________________________________________________________________________________"
4
- echo "Start ${SCRIPT} at `date`"
5
- #echo "----------------------------------------------------------------------------------------"
6
- #echo "Copyright (c) 2021-2025 ResearchConcepts io GmbH. All Rights Reserved. "
7
- #echo "Questions / comments to: Swen M. Metzger <sm@researchconcepts.io> "
8
- echo "----------------------------------------------------------------------------------------"
9
- if [ "$1" == "" ] ;then
10
- ls -lrth $HOME/qlc/log/qlc*
11
- echo "type, e.g.:"
12
- echo "$HOME/qlc/bin/qlc_start.sh b2ro iqi9 2018-12-01 2018-12-31 mars log001"
13
- echo "________________________________________________________________________________________"
14
- echo "End ${SCRIPT} at `date`"
15
- echo "________________________________________________________________________________________"
16
- exit 0
17
- fi
18
- $HOME/qlc/bin/qlc $1 $2 $3 $4 $5 mars >& $HOME/qlc/log/qlc.$6 &
19
- echo "tail -f $HOME/qlc/log/qlc.$6"
20
- echo "________________________________________________________________________________________"
21
- echo "End ${SCRIPT} at `date`"
22
- echo "________________________________________________________________________________________"
23
- exit 0
qlc/sh/qlc_start_batch.sh DELETED
@@ -1,46 +0,0 @@
1
- #!/bin/sh -e
2
- SCRIPT="$0"
3
- echo "________________________________________________________________________________________"
4
- echo "Start ${SCRIPT} at `date`"
5
- #echo "----------------------------------------------------------------------------------------"
6
- #echo "Copyright (c) 2021-2025 ResearchConcepts io GmbH. All Rights Reserved. "
7
- #echo "Questions / comments to: Swen M. Metzger <sm@researchconcepts.io> "
8
- echo "----------------------------------------------------------------------------------------"
9
- if [ "$1" == "" ] ;then
10
- echo "type, e.g.:"
11
- echo "$HOME/qlc/bin/sqlc b2ro iqi9 2018-12-01 2018-12-31"
12
- echo "$HOME/qlc/bin/sqlc b2ro iqi9 2018-12-01 2018-12-31 mars"
13
- echo "Use option 'mars' to retrieve files and then submit a dependency job once all data have been retrieved."
14
- echo "Or, option 'mars' can be skipped, if all data are already present in $HOME/qlc/Results"
15
- echo "________________________________________________________________________________________"
16
- echo "End ${SCRIPT} at `date`"
17
- echo "________________________________________________________________________________________"
18
- exit 0
19
- fi
20
- if [ "$5" == "mars" ] ;then
21
- jobid='${SLURM_JOB_ID}'
22
- cat > $HOME/qlc/run/qlc_batch.sh$$<<EOF
23
- #!/bin/ksh -e
24
- #SBATCH --job-name=$HOME/qlc/run/qlc_batch.sh$$
25
- #SBATCH --output=log-%J.out
26
- #SBATCH --error=err-%J.out
27
- #SBATCH --export=ALL
28
- $HOME/qlc/bin/qlc $1 $2 $3 $4 $5
29
- echo "SLURM_JOB_ID = ${jobid}"
30
- sbatch --dependency=afterok:${jobid} --mail-user=$USER@ecmwf.int $HOME/qlc/bin/qlc $1 $2 $3 $4
31
- EOF
32
- else
33
- cat > $HOME/qlc/run/qlc_batch.sh$$<<EOF
34
- #!/bin/ksh -e
35
- #SBATCH --job-name=$HOME/qlc/run/qlc_batch.sh$$
36
- #SBATCH --output=log-%J.out
37
- #SBATCH --error=err-%J.out
38
- $HOME/qlc/bin/qlc $1 $2 $3 $4
39
- EOF
40
- fi
41
- sbatch $HOME/qlc/run/qlc_batch.sh$$
42
- squeue -u "$USER"
43
- echo "________________________________________________________________________________________"
44
- echo "End ${SCRIPT} at `date`"
45
- echo "________________________________________________________________________________________"
46
- exit 0
@@ -1,142 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: rc-qlc
3
- Version: 0.3.24
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
- | [rc-qlc on PyPI](https://pypi.org/project/rc-qlc/) | ![PyPI](https://img.shields.io/pypi/v/rc-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
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 rc-qlc && qlc-install --cams
56
-
57
- # Option 2: Local test mode with embedded examples
58
- pip install rc-qlc && qlc-install --test
59
-
60
- # Option 3: Custom interactive mode
61
- pip install rc-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
- ---
@@ -1,113 +0,0 @@
1
- qlc/__init__.py,sha256=gTHCo506l8Ud5R8eQr1H9ozSlxCNVRSg3TYaiYce9ow,216
2
- qlc/install.py,sha256=rEsZAuzbaCSuxhKg7PMgxA1FQj9_GDPS4xf6Sq0zd6Y,11269
3
- qlc/cli/__init__.py,sha256=Ob3fw-rTa7qvYPMQVPexnRpoeVKnXfhm2Tr5FR4XCEM,792
4
- qlc/cli/installer.py,sha256=j6t6mVshlEhiLf4oGTskMRLn-m-Hdtnpb5FxDn8BHBE,566
5
- qlc/cli/qlc_main.py,sha256=fIYr02Hakz8i8NrEVjtXOCf1nmbDECdbL7S49r6pHN4,7848
6
- qlc/cli/qlc_py_main.py,sha256=Idj9cO-hmzdSMcDcrWPJDEHH_JV4-VBc2ei0BozqtxI,2577
7
- qlc/config/qlc_cams.conf,sha256=0OkCwBidTPjWjCd-4nhMH7Fd0o_JAGZqYNqkJkhI3DM,1196
8
- qlc/config/qlc_test.conf,sha256=6Gyxo82SjH4lqgArkpO8bO7cmaA-gX46fm7LOQ-fcAk,1202
9
- qlc/config/qlc_tex.conf,sha256=LL3R2vf0FgwRkmVCc0tftKAr5uU3ZxC90QH16WNLHio,5250
10
- qlc/config/json/qlc_config.json,sha256=DnnpJat75ninx7QmYLT_zWW91kXXxDUj6SM3kdB-JNo,1368
11
- qlc/config/json/qlc_config_example_1a_all-obs.json,sha256=mZqE_oDAq_7gdXgwf8DI20TyM4KQ9P230gkDhz-U8Eo,7791
12
- qlc/config/json/qlc_config_example_1b_all-mod.json,sha256=dLAha29TVztayc4jLFHrfGamJVflfBfqTAxeNC51W8k,11240
13
- qlc/config/json/qlc_config_example_1c_all-coll.json,sha256=vOue3oqAW_Ktp1Uekw3QQ2KZ5JW7ALKEEN_j9wafWGs,8754
14
- qlc/config/json/qlc_config_example_2a_all-obs.json,sha256=wJppeWBwYeDChtB7xUpRarlq6xCowpT_FevkodSw63U,7833
15
- qlc/config/json/qlc_config_example_2b_all-mod.json,sha256=gLf-LnOLwHazTmVKMfNye5_knzc2aHB3rxQvmXL0kV0,11240
16
- qlc/config/json/qlc_config_example_2c_all-coll.json,sha256=Aql9VuB63mI_TcL9cr_6lpqxueZzwqo30cnDr6d2Wo8,8748
17
- qlc/config/json/qlc_config_example_3a-us_obs.json,sha256=yfoP8Y0xa66e91xeowt-kJWD59zgjpjq4NOpOkzZx-Y,2641
18
- qlc/config/json/qlc_config_example_3b-us_mod.json,sha256=yc_5dZMCLzx-LpDrz5J4VLU07YuG6ol5kJSMjWv_SOU,3851
19
- qlc/config/json/qlc_config_example_3c-us_coll.json,sha256=PjkOoLnkIhVgyGxwu6ypP4D2L909rcYFKOIxl3cpgVs,1495
20
- qlc/config/json/qlc_config_example_4a_eu-obs.json,sha256=flcQscDpau8ps5y8lLG9Rmz2bdTXsEX9Dc1q3phdvc8,1329
21
- qlc/config/json/qlc_config_example_4b_eu-mod.json,sha256=J0u9AXPxuQLa8DZr7vpx3d0KaOm1b913amBOvcUZ28U,3839
22
- qlc/config/json/qlc_config_example_4c_eu-coll.json,sha256=YmaMdvgzWvzhgCUkUmBqgKFTraePSYhiCCFriYWZtpc,1468
23
- qlc/config/nml/mars_A1_sfc.nml,sha256=WFs31wCP_qtVDjvROy5GkX5h3NOLmdvlsiipXgTDoyU,632
24
- qlc/config/nml/mars_A2_sfc.nml,sha256=c4RiMvmCV4FkUhRfinMOyuZe-ZA-uaDSxphOqnycUPo,657
25
- qlc/config/nml/mars_A3_sfc.nml,sha256=GO02RtwnGqwd3FVJ65mvQ5CpqprakyLbiSJB9m0OBec,562
26
- qlc/config/nml/mars_B1_pl.nml,sha256=nka-McNoPaxRV-2S-XoQO5ZF6oI3WEiA09ijK0pLNFg,688
27
- qlc/config/nml/mars_B2_pl.nml,sha256=kyGjlSLAoaiB5FlB-bGnyZekI7F2kqv9orsxo1tFb9M,723
28
- qlc/config/nml/mars_C1_pl.nml,sha256=uMbf_wp9DoB9YWV1CfQo6fNIymNJNAXbwpd1hcVwNNU,676
29
- qlc/config/nml/mars_C2_pl.nml,sha256=iEJ5dF9imdYzU11cXiMBzbuhBl8ewna-rcb0fRxhZKo,708
30
- qlc/config/nml/mars_C3_ml.nml,sha256=ttU0T83yptK_-JZEX4k79q3X6O6My2TNR_AGM__4nnI,673
31
- qlc/config/nml/mars_D.nml,sha256=fCEEpbs_x_KqSDjEPm6Z7lKzURFhpQnSNAPCne6WIvI,584
32
- qlc/config/nml/mars_E.nml,sha256=7gEVnnxwhE8VvYHXFgQRaDGiJBgo_L0gYDhUuzIjm98,599
33
- qlc/config/nml/mars_F.nml,sha256=UUBJoDwjww62myJXB1rKM5w14r1-PXNB32CWoGTIYDs,554
34
- qlc/config/nml/mars_G.nml,sha256=QG68v55LpucmvkKq1Gh2S2_vyrsLTCVGiRRMiRfhoyI,554
35
- qlc/doc/CONTRIBUTING.md,sha256=wQxEfhegvfuruvrXQBfieFkUJJIGEpt5uMco754yRyc,2712
36
- qlc/doc/README.md,sha256=_WLO80B7poTzNIWCJooE_fPPjIFzR3G2YlUUj9T0fBU,3594
37
- qlc/doc/USAGE.md,sha256=CPE3w84s2rcyHeacx7dpwgyxRCA85LTjIzMrXf2jZok,1203
38
- qlc/examples/cams_case_1/config/qlc_cams.conf,sha256=z-eGcsAYyI0-q-DX050H2iDbnlmuZ7QPwjAxpPbYPLo,5840
39
- qlc/examples/cams_case_1/config/json/qlc_config.json,sha256=DnnpJat75ninx7QmYLT_zWW91kXXxDUj6SM3kdB-JNo,1368
40
- qlc/examples/cams_case_1/config/nml/mars_A3_sfc.nml,sha256=GO02RtwnGqwd3FVJ65mvQ5CpqprakyLbiSJB9m0OBec,562
41
- qlc/examples/cams_case_1/config/nml/mars_B1_pl.nml,sha256=nka-McNoPaxRV-2S-XoQO5ZF6oI3WEiA09ijK0pLNFg,688
42
- qlc/examples/cams_case_1/config/nml/mars_C1_pl.nml,sha256=uMbf_wp9DoB9YWV1CfQo6fNIymNJNAXbwpd1hcVwNNU,676
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=Yen7W-ZXGI6FXfcm9C7UFOubNrv6n8Tc8b3LxGcQGa8,1793
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__.cp311-win_amd64.pyd,sha256=AP3dkZQ9ENypxx9NmlYdwx8BjbemBu8cM0nheVXtzkw,33792
78
- qlc/py/averaging.cp311-win_amd64.pyd,sha256=gUqkSmRRIy_PiV-4iOl_-wV_x-hztCGTyhCWMe_2U1A,41472
79
- qlc/py/bias_plots.cp311-win_amd64.pyd,sha256=de8ZIK1ttGqaz71pBe4QV0lStMDzpm0eEmecULXDOls,59392
80
- qlc/py/control.cp311-win_amd64.pyd,sha256=UJ8LVNs_SSBsOjzkNdH1z29WwUuGXjQfumbdVHaxJm0,134144
81
- qlc/py/io.cp311-win_amd64.pyd,sha256=jsdVuEgX--JSWMelabOOkJs2XM86YoBfKbDr1ZNkyNo,89600
82
- qlc/py/loadmod.cp311-win_amd64.pyd,sha256=z5Iy9ZxXSrr6v-1vBH869stl7VOlOgb87U-TsZVdwCg,123904
83
- qlc/py/loadobs.cp311-win_amd64.pyd,sha256=fdvUJBi4mf5C44F_LkE7Dd2dOm7akc4kO0LllaTMhYU,108544
84
- qlc/py/logging_utils.cp311-win_amd64.pyd,sha256=UaQWnezDXe9x0VmBhIjaAiFuWAuLG40ZngBTcHL4EKM,44544
85
- qlc/py/map_plots.cp311-win_amd64.pyd,sha256=nWAP_A0E02KTk303PSSOhazFSzt5Wd6A8fj4HiN7cgs,125440
86
- qlc/py/matched.cp311-win_amd64.pyd,sha256=AWMzClxcqRW1QmFbla25J7CLlZnH0kx3dBa98ICfL9A,50176
87
- qlc/py/plot_config.cp311-win_amd64.pyd,sha256=EB5kKdONKJ7U5mFc_grP9KEXIaz2n42dVqXq2ql0UGQ,32768
88
- qlc/py/plotting.cp311-win_amd64.pyd,sha256=mGfurMHX9z0DGFqSgqY6I1q8qRT1x9UNREsYWrx1hlM,115200
89
- qlc/py/plugin_loader.cp311-win_amd64.pyd,sha256=GC2QXJIaHBNl4rrzOX1WdbdKjcQHWVFrc-nwODZCR0I,45056
90
- qlc/py/processing.cp311-win_amd64.pyd,sha256=d-wCTqi0SE0_ukW1i6TRc--b_JT2Hoyw_r4780olY_c,75776
91
- qlc/py/scatter_plots.cp311-win_amd64.pyd,sha256=FAzgQpVSt00MdgCMMzFIxGwGbi7krrkKGjGXR-bR9Tc,57856
92
- qlc/py/stations.cp311-win_amd64.pyd,sha256=yBnnI88LG2Im-6qlV42mXkK3R9IkFy7zjzETcmJvBMY,452096
93
- qlc/py/statistics.cp311-win_amd64.pyd,sha256=uSXtnzDaft1dWmQC8uxLa6n9MzDF8ZlAdQEhMreFHUY,173568
94
- qlc/py/style.cp311-win_amd64.pyd,sha256=v3uUmNUrbaL3raUkQUuCiSIkcc_Hm68DGLghir-jNE0,216064
95
- qlc/py/timeseries_plots.cp311-win_amd64.pyd,sha256=NQLkUQKNgt7d5IAzs4e5Awp_5X91ufwIl7rU2Fkvlbo,417792
96
- qlc/py/utils.cp311-win_amd64.pyd,sha256=xEqsjhVod8e9y9l9NrDWsISQrtd4LFg8e129RM1Jj8M,414720
97
- qlc/py/version.cp311-win_amd64.pyd,sha256=eHItF6WH9iuNDzgNTFme0we6dIUpTpyiiICO_LdLUKA,16384
98
- qlc/sh/qlc_A1.sh,sha256=yEC5U3T_G812nZJJiCIuDYJnMaWlRNUQAxlBmSL1qX4,4690
99
- qlc/sh/qlc_B1a.sh,sha256=wgYdmAdwTz__Y7KvoFnJbqzYRptUXP_ujYg6lVP4kw0,3864
100
- qlc/sh/qlc_B2.sh,sha256=PfB2tUC_0dvTYFmPywLhncgJnOI4nG--2_1NaV2UNeE,11251
101
- qlc/sh/qlc_C5.sh,sha256=7TxB51OgsPw2hbSYpqZcrEGrFm1enJ-MCs5no3f1GPk,37252
102
- qlc/sh/qlc_D1.sh,sha256=GG6H7IakEEAlMBA6Ow5nYW5TMo4qeipmfvTiiBtnPPw,3769
103
- qlc/sh/qlc_Z1.sh,sha256=Qs2T3OeotVn52hv1J08ia9ry4nxwYXUmrfB3pUQInBs,5626
104
- qlc/sh/qlc_common_functions.sh,sha256=l2dobTgH2a5Iloxt81WPFDHOtEnE26K_cIiVA5BkrMU,5855
105
- qlc/sh/qlc_main.sh,sha256=Pzauf10_050EUwwdlNcbVtKPambBz2FjM7SKMlwhcMY,4380
106
- qlc/sh/qlc_start.sh,sha256=aOrwEpEkpy9n3losbkn41fa482z_PYvC8YPjr3aS_lE,1313
107
- qlc/sh/qlc_start_batch.sh,sha256=cBSmjAfJtuda_osvnJ3Y12T0SJKDGLPO3MPfc56yeDU,2078
108
- rc_qlc-0.3.24.dist-info/licenses/LICENSE,sha256=nKMnbH9hXXHmwB7c0rkt2Ucf-U_rBqZYb7f0g2nX57c,1102
109
- rc_qlc-0.3.24.dist-info/METADATA,sha256=RPlhSX2-HIdWXT-DvTb3YDg1Z-kZ7KCPO86O_SE35Os,4332
110
- rc_qlc-0.3.24.dist-info/WHEEL,sha256=JLOMsP7F5qtkAkINx5UnzbFguf8CqZeraV8o04b0I8I,101
111
- rc_qlc-0.3.24.dist-info/entry_points.txt,sha256=haCqahVrnFhVkfBt0HoOuVpKGV1KJOKpC1v75lOBl_s,191
112
- rc_qlc-0.3.24.dist-info/top_level.txt,sha256=Czv4KZhpli6RXvgvtCB1g87eRNEM2R-8iHplel1Qp5Q,4
113
- rc_qlc-0.3.24.dist-info/RECORD,,