rc-qlc 0.3.20__cp310-cp310-macosx_11_0_arm64.whl → 0.3.25__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 (85) 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/CONTRIBUTING.md +8 -8
  15. qlc/doc/README.md +101 -65
  16. qlc/doc/USAGE.md +68 -29
  17. qlc/examples/cams_case_1/mod/b2rn/2018/b2rn_20181201-20181221_B1_pl.grb +0 -0
  18. qlc/examples/cams_case_1/mod/b2rn/2018/b2rn_20181201-20181221_C1_sfc.grb +0 -0
  19. qlc/examples/cams_case_1/mod/b2ro/2018/b2ro_20181201-20181221_B1_pl.grb +0 -0
  20. qlc/examples/cams_case_1/mod/b2ro/2018/b2ro_20181201-20181221_C1_sfc.grb +0 -0
  21. qlc/install.py +260 -101
  22. qlc/py/__main__.cpython-310-darwin.so +0 -0
  23. qlc/py/averaging.cpython-310-darwin.so +0 -0
  24. qlc/py/bias_plots.cpython-310-darwin.so +0 -0
  25. qlc/py/control.cpython-310-darwin.so +0 -0
  26. qlc/py/io.cpython-310-darwin.so +0 -0
  27. qlc/py/loadmod.cpython-310-darwin.so +0 -0
  28. qlc/py/loadobs.cpython-310-darwin.so +0 -0
  29. qlc/py/logging_utils.cpython-310-darwin.so +0 -0
  30. qlc/py/map_plots.cpython-310-darwin.so +0 -0
  31. qlc/py/matched.cpython-310-darwin.so +0 -0
  32. qlc/py/plot_config.cpython-310-darwin.so +0 -0
  33. qlc/py/plotting.cpython-310-darwin.so +0 -0
  34. qlc/py/plugin_loader.cpython-310-darwin.so +0 -0
  35. qlc/py/processing.cpython-310-darwin.so +0 -0
  36. qlc/py/scatter_plots.cpython-310-darwin.so +0 -0
  37. qlc/py/stations.cpython-310-darwin.so +0 -0
  38. qlc/py/statistics.cpython-310-darwin.so +0 -0
  39. qlc/py/style.cpython-310-darwin.so +0 -0
  40. qlc/py/timeseries_plots.cpython-310-darwin.so +0 -0
  41. qlc/py/utils.cpython-310-darwin.so +0 -0
  42. qlc/py/version.cpython-310-darwin.so +0 -0
  43. qlc/sh/qlc_A1.sh +29 -11
  44. qlc/sh/qlc_B1a.sh +1 -18
  45. qlc/sh/qlc_B2.sh +8 -1
  46. qlc/sh/qlc_C5.sh +19 -30
  47. qlc/sh/qlc_D1.sh +291 -51
  48. qlc/sh/qlc_Z1.sh +6 -6
  49. qlc/sh/qlc_batch.sh +61 -0
  50. qlc/sh/qlc_common_functions.sh +17 -29
  51. qlc/sh/qlc_main.sh +32 -26
  52. qlc/sh/tex_template/beamercolorthemeCAMS2_35.sty +51 -0
  53. qlc/sh/tex_template/beamerfontthemeCAMS2_35.sty +166 -0
  54. qlc/sh/tex_template/beamerthemeCAMS2_35.sty +25 -0
  55. qlc/sh/tex_template/subcaption.sty +170 -0
  56. qlc/sh/tex_template/template.tex +109 -0
  57. rc_qlc-0.3.25.dist-info/METADATA +178 -0
  58. rc_qlc-0.3.25.dist-info/RECORD +102 -0
  59. qlc/config/json/qlc_config_example_1a_all-obs.json +0 -237
  60. qlc/config/json/qlc_config_example_1b_all-mod.json +0 -353
  61. qlc/config/json/qlc_config_example_1c_all-coll.json +0 -266
  62. qlc/config/json/qlc_config_example_2a_all-obs.json +0 -237
  63. qlc/config/json/qlc_config_example_2b_all-mod.json +0 -353
  64. qlc/config/json/qlc_config_example_2c_all-coll.json +0 -265
  65. qlc/config/json/qlc_config_example_3a-us_obs.json +0 -82
  66. qlc/config/json/qlc_config_example_3b-us_mod.json +0 -122
  67. qlc/config/json/qlc_config_example_3c-us_coll.json +0 -46
  68. qlc/config/json/qlc_config_example_4a_eu-obs.json +0 -41
  69. qlc/config/json/qlc_config_example_4b_eu-mod.json +0 -122
  70. qlc/config/json/qlc_config_example_4c_eu-coll.json +0 -45
  71. qlc/config/qlc_cams.conf +0 -26
  72. qlc/config/qlc_test.conf +0 -26
  73. qlc/config/qlc_tex.conf +0 -107
  74. qlc/examples/cams_case_1/config/json/qlc_config.json +0 -41
  75. qlc/examples/cams_case_1/config/nml/mars_B1_pl.nml +0 -19
  76. qlc/examples/cams_case_1/mod/b2ro/2018/b2ro_20181215-20181231_A3_sfc.grb +0 -0
  77. qlc/examples/cams_case_1/mod/iqi9/2018/iqi9_20181215-20181231_A3_sfc.grb +0 -0
  78. qlc/sh/qlc_start.sh +0 -23
  79. qlc/sh/qlc_start_batch.sh +0 -46
  80. rc_qlc-0.3.20.dist-info/METADATA +0 -142
  81. rc_qlc-0.3.20.dist-info/RECORD +0 -113
  82. {rc_qlc-0.3.20.dist-info → rc_qlc-0.3.25.dist-info}/WHEEL +0 -0
  83. {rc_qlc-0.3.20.dist-info → rc_qlc-0.3.25.dist-info}/entry_points.txt +0 -0
  84. {rc_qlc-0.3.20.dist-info → rc_qlc-0.3.25.dist-info}/licenses/LICENSE +0 -0
  85. {rc_qlc-0.3.20.dist-info → rc_qlc-0.3.25.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.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
- ---
@@ -1,113 +0,0 @@
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,,