rc-qlc 0.3.24__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 (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__.cpython-310-darwin.so +0 -0
  22. qlc/py/averaging.cpython-310-darwin.so +0 -0
  23. qlc/py/bias_plots.cpython-310-darwin.so +0 -0
  24. qlc/py/control.cpython-310-darwin.so +0 -0
  25. qlc/py/io.cpython-310-darwin.so +0 -0
  26. qlc/py/loadmod.cpython-310-darwin.so +0 -0
  27. qlc/py/loadobs.cpython-310-darwin.so +0 -0
  28. qlc/py/logging_utils.cpython-310-darwin.so +0 -0
  29. qlc/py/map_plots.cpython-310-darwin.so +0 -0
  30. qlc/py/matched.cpython-310-darwin.so +0 -0
  31. qlc/py/plot_config.cpython-310-darwin.so +0 -0
  32. qlc/py/plotting.cpython-310-darwin.so +0 -0
  33. qlc/py/plugin_loader.cpython-310-darwin.so +0 -0
  34. qlc/py/processing.cpython-310-darwin.so +0 -0
  35. qlc/py/scatter_plots.cpython-310-darwin.so +0 -0
  36. qlc/py/stations.cpython-310-darwin.so +0 -0
  37. qlc/py/statistics.cpython-310-darwin.so +0 -0
  38. qlc/py/style.cpython-310-darwin.so +0 -0
  39. qlc/py/timeseries_plots.cpython-310-darwin.so +0 -0
  40. qlc/py/utils.cpython-310-darwin.so +0 -0
  41. qlc/py/version.cpython-310-darwin.so +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.25.dist-info/METADATA +178 -0
  57. rc_qlc-0.3.25.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.25.dist-info}/WHEEL +0 -0
  82. {rc_qlc-0.3.24.dist-info → rc_qlc-0.3.25.dist-info}/entry_points.txt +0 -0
  83. {rc_qlc-0.3.24.dist-info → rc_qlc-0.3.25.dist-info}/licenses/LICENSE +0 -0
  84. {rc_qlc-0.3.24.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.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
- rc_qlc-0.3.24.dist-info/RECORD,,
2
- rc_qlc-0.3.24.dist-info/WHEEL,sha256=wyHf6UDzyHyUK-aDYscyyyExpYI7SeEZ9xjyEiU4cnw,109
3
- rc_qlc-0.3.24.dist-info/entry_points.txt,sha256=haCqahVrnFhVkfBt0HoOuVpKGV1KJOKpC1v75lOBl_s,191
4
- rc_qlc-0.3.24.dist-info/top_level.txt,sha256=Czv4KZhpli6RXvgvtCB1g87eRNEM2R-8iHplel1Qp5Q,4
5
- rc_qlc-0.3.24.dist-info/METADATA,sha256=BGsnqbpFJtHnSYNGJRLfkchn2Dt5lR4sdI3Q6qkC5BI,4190
6
- rc_qlc-0.3.24.dist-info/licenses/LICENSE,sha256=1pYHFCPjSx9_0weOUVJ-SpSin1dm6nSMzeO8Jj_qKuo,1081
7
- qlc/__init__.py,sha256=cmqybybgtiIwlVJIUfWOtP65yM1WzykLc1QRgdLANtI,208
8
- qlc/install.py,sha256=PpgLMiAbyBuIXt1sGCr8jZuWTKBtllsDi0QpB88K060,10985
9
- qlc/py/bias_plots.cpython-310-darwin.so,sha256=-uSk_2CxROczsKfg6riLoLnCoujCwXUUZxqauiekOLc,107024
10
- qlc/py/control.cpython-310-darwin.so,sha256=F8oQk6AteHAOPnrFUnVS4fHcd92zoSH-HH1bkN5EOmU,233232
11
- qlc/py/__main__.cpython-310-darwin.so,sha256=3yxmHbaNvnKecGXpkvKAMtNbsVCsjtFaLNcXLnEOWaU,80448
12
- qlc/py/processing.cpython-310-darwin.so,sha256=CDsTrL_6HX1fmn-JRZW76AGJQVwKqKNtrUpub3gwup0,123360
13
- qlc/py/loadobs.cpython-310-darwin.so,sha256=yd2Ns0RCJFUzq2bCBTOeWH81DKpoaKeoKYA_ACGRi6Y,181232
14
- qlc/py/stations.cpython-310-darwin.so,sha256=r0RRfLOfLGvxpiQrAYb_j7ekaWmC9g47j_lLQ-osHsA,622832
15
- qlc/py/averaging.cpython-310-darwin.so,sha256=xOFa5allTrb3ffxsACdS3GoDTbj9lLISoSDBheN-KPE,83072
16
- qlc/py/style.cpython-310-darwin.so,sha256=21rHbWgUgclxK0dSPwoNuqM0TN_DII5kEnUvRz_QbuY,299528
17
- qlc/py/plot_config.cpython-310-darwin.so,sha256=V3O1RkUdZWaFCCbRmNkFzrOPk8Ym7JAYHdNh_gbs3zg,79760
18
- qlc/py/plotting.cpython-310-darwin.so,sha256=u-SdNDqr0GyY3jx4fAg8XF1iUbRD00Wnil-1Q2CkLMg,179280
19
- qlc/py/loadmod.cpython-310-darwin.so,sha256=epK0T9SyDKWoVh7kos-BVVRKQnFtpbsWnoFeodMRy40,198560
20
- qlc/py/timeseries_plots.cpython-310-darwin.so,sha256=Ta_wAgdgRwW0Di4D2wPGPeXMRHBI8_PIflD3RMm2wnM,604248
21
- qlc/py/io.cpython-310-darwin.so,sha256=Q58xYEDh902dXQshabEZICIJa6H0fCZ5v6iNPq-EhMI,143416
22
- qlc/py/scatter_plots.cpython-310-darwin.so,sha256=FS2qADdNedPtT6PyeNA9F0IUBZlnVwiWxQbP56VA4E8,106128
23
- qlc/py/version.cpython-310-darwin.so,sha256=QA--fbJw8owTwSSB4FXR-5zXFquqRjHvgT1oPdfCld8,54272
24
- qlc/py/utils.cpython-310-darwin.so,sha256=390WcNWtmydug3f3OOwf5AzZfkEwQKc_d26OITBlx48,521016
25
- qlc/py/logging_utils.cpython-310-darwin.so,sha256=jCZPUmxIlXn_JzaF7LQLxifqsIs8TMwogndvGBv_oM0,82496
26
- qlc/py/matched.cpython-310-darwin.so,sha256=zQv_R_1_vJSZ4u4CmIxYDrLz5LIP2uTlr3PLpiC-SOM,100848
27
- qlc/py/map_plots.cpython-310-darwin.so,sha256=hE4aKGx39tuBMZHIs31R-XyFpoQNCc2h7MJOseQCbIA,205600
28
- qlc/py/plugin_loader.cpython-310-darwin.so,sha256=nnYh1gnG4c1nKDMtu5cENLbQGl3A35zE1Fvw8hxob1Q,83136
29
- qlc/py/statistics.cpython-310-darwin.so,sha256=P9g14_P-x31UmV5ZHK5BH3tkATUfvDTKPloG5JOVfTs,251376
30
- qlc/config/qlc_tex.conf,sha256=O76Y4d1HkVmV7e75sKjlThGOIvTHoH4Tb4O7yC1NH0Q,5144
31
- qlc/config/qlc_cams.conf,sha256=c7dePIqdN26750KGsm031HnAlXLb8EKFcRevyz8eFnw,1170
32
- qlc/config/qlc_test.conf,sha256=9SQ2F0Bj1VXHT-e5RDdbTgKtWaz_wqBxYJDW3KMNrfg,1176
33
- qlc/config/nml/mars_A2_sfc.nml,sha256=83Gkdr8vmlzif41EClWdjiJopZHDk9p-80-_l3fkeDE,638
34
- qlc/config/nml/mars_B1_pl.nml,sha256=ii3fcR_LJTY9aODeTpqEhtofJPe85gqHQeWt3_Tgq2A,669
35
- qlc/config/nml/mars_C1_pl.nml,sha256=gAkIFG3wOwz7jUpzNmiVoePnmDDTEWuPZk0Ov1egYp8,657
36
- qlc/config/nml/mars_A3_sfc.nml,sha256=CFVxn_0frDrgY4HeINnaulGUasNY2hMZVLRPiVuRN_M,543
37
- qlc/config/nml/mars_A1_sfc.nml,sha256=E5kG6rqVy4qvdvwpJ_sXfKzP2zwTq6wBAZcxuhUDZyQ,613
38
- qlc/config/nml/mars_D.nml,sha256=DYtFEnAF1Nb7jwg3Gjf1SQIEtZbG_yvcV7W0ZMtoygI,565
39
- qlc/config/nml/mars_C2_pl.nml,sha256=z3m0V33HjNS1kKZ_gtmbAnqDqWrAqUJzJwYGO6XfJC0,689
40
- qlc/config/nml/mars_E.nml,sha256=F6qlw9WpKa6s2kXJCa90_JtajvHCihpTu24liMiLhHc,580
41
- qlc/config/nml/mars_C3_ml.nml,sha256=IEdmbPOmJu_DSv8p5r6k--hj2xZFoYibCG8ogwxVXaI,654
42
- qlc/config/nml/mars_G.nml,sha256=XK2kEVO02jX0MlopUUALBpMti4X_zJRrH3wBZURFd9w,535
43
- qlc/config/nml/mars_F.nml,sha256=rIShFyYxx0ZIL_Kmd9yAtF0fGrh-hEbKmfGMhg56b9g,535
44
- qlc/config/nml/mars_B2_pl.nml,sha256=_G2JFmvm6G6CvEZkb0zG8UKBqiiF1OwEgAkpNuFJapE,704
45
- qlc/config/json/qlc_config_example_3a-us_obs.json,sha256=JtlLYpKN2ToVU_duUqbG6L8NZuRD2ehv8S94P-TC_So,2559
46
- qlc/config/json/qlc_config_example_1b_all-mod.json,sha256=pmsuYHM2dYEcaoNVZqBzLUIsxdkWH6fzIVJnpu7B8kU,10887
47
- qlc/config/json/qlc_config_example_2b_all-mod.json,sha256=-gQTvmquAoRh71nKJJYF4EsUQRFtKTkdPD9-PxZXdio,10887
48
- qlc/config/json/qlc_config_example_2c_all-coll.json,sha256=wro2TX_jtrlgKPQb5ZIDWT5PtG-CJWESklna4d25RUU,8483
49
- qlc/config/json/qlc_config_example_3b-us_mod.json,sha256=aWeBfpSX4ztdQL8MamG8bJ6znE0ftw_9lMv5NpsWWks,3729
50
- qlc/config/json/qlc_config_example_1c_all-coll.json,sha256=nuo-2EZF3N9DGgfTguUURcNvYLNgrBgXEFVfjV52yjg,8488
51
- qlc/config/json/qlc_config_example_1a_all-obs.json,sha256=YedsRXqi2ZezT5M5SGtVUzLGABHXMYjMJvJrmqYHs4E,7554
52
- qlc/config/json/qlc_config_example_3c-us_coll.json,sha256=3lXZSxOUIRqiD5m6cQmMctJx9dn_JoyuGUUxXEqrVYQ,1449
53
- qlc/config/json/qlc_config_example_4c_eu-coll.json,sha256=PnjdaP_KoUEpaMdybA8atmOfoACFPvF_cH83w8cQbVA,1423
54
- qlc/config/json/qlc_config_example_2a_all-obs.json,sha256=t9yqtMFKendTF9c2DyA2udxWBcECBbe6b_26vmJAAQA,7596
55
- qlc/config/json/qlc_config_example_4b_eu-mod.json,sha256=D2gLRwUjKZ97zlZdq8PNHcu9rSV8MjRMQ2IWZ4tHQmU,3717
56
- qlc/config/json/qlc_config_example_4a_eu-obs.json,sha256=zSkChYknqQhJV-dWoDqPtY-2tCJHtIybJ60DOlCNDHs,1288
57
- qlc/config/json/qlc_config.json,sha256=vOxUiBSVwg8pFuPnIaPz3M80aMata23HtldnB46bsTo,1327
58
- qlc/cli/qlc_main.py,sha256=fZ4CgPDzc3LC865JL6tBeP7dHzanqSR6QIg33h9qFtI,7663
59
- qlc/cli/__init__.py,sha256=JIJ_XEqrtN0kvnkBupk1ShKqAfjnpk1vg0L-EIF3uGY,771
60
- qlc/cli/installer.py,sha256=ur6Ay7qKHt-8i7_TplEdlEpE23Qh0GAO15kVOAuphEQ,550
61
- qlc/cli/qlc_py_main.py,sha256=6soHJyNTfu1DT9LtzSBsFmHntBRMzTKS6Y6BZ8fctX4,2503
62
- qlc/sh/qlc_B1a.sh,sha256=fifFOWRbV1M4lJeoUwKpaejmYOToXQtZISoN5q0m3Dc,3741
63
- qlc/sh/qlc_D1.sh,sha256=GU0xtF1ys5yB6gZi3T06DF7OagRMYyCs2reB3bTojBw,3639
64
- qlc/sh/qlc_A1.sh,sha256=ALll_tcuOwK-TWuQg897jGvYr0DLG-RKbIG_A58PgJE,4563
65
- qlc/sh/qlc_common_functions.sh,sha256=_Y0U7nF1mHxQsbrUS_YQR1l6G9HDK4mt_gRiEuSucbg,5698
66
- qlc/sh/qlc_C5.sh,sha256=zC-wcm4MWpVflhJO1sLdki3PfclOMljh3ZAmScoSVvg,36427
67
- qlc/sh/qlc_start_batch.sh,sha256=vwtoXV8sAF1OCzs2KfylOCy8_M2cFmV0HgdfxwJLLkA,2032
68
- qlc/sh/qlc_main.sh,sha256=yyNs5r_xO0LmDba2GwcCyiLoSvn-g77aXwAVbmi_UV4,4253
69
- qlc/sh/qlc_start.sh,sha256=FL37u3s29xTBN24dotWqXxGcY41rAhmEB1XLcG01uwE,1290
70
- qlc/sh/qlc_Z1.sh,sha256=R9ulrb5tDjOuOAKd6a8FsDiCvIL1B8hcrCD25EM2T9o,5461
71
- qlc/sh/qlc_B2.sh,sha256=xlNIJhQ1f_JSvysDIeWX1ZpflTCLfdgNzd05ufFJA0Q,10993
72
- qlc/examples/cams_case_1/config/qlc_cams.conf,sha256=tmhy0u4EP0-Plh6ByNrnKwJqmBr1lzg4EHUms3qeRBk,5719
73
- qlc/examples/cams_case_1/config/nml/mars_B1_pl.nml,sha256=ii3fcR_LJTY9aODeTpqEhtofJPe85gqHQeWt3_Tgq2A,669
74
- qlc/examples/cams_case_1/config/nml/mars_C1_pl.nml,sha256=gAkIFG3wOwz7jUpzNmiVoePnmDDTEWuPZk0Ov1egYp8,657
75
- qlc/examples/cams_case_1/config/nml/mars_A3_sfc.nml,sha256=CFVxn_0frDrgY4HeINnaulGUasNY2hMZVLRPiVuRN_M,543
76
- qlc/examples/cams_case_1/config/json/qlc_config.json,sha256=vOxUiBSVwg8pFuPnIaPz3M80aMata23HtldnB46bsTo,1327
77
- qlc/examples/cams_case_1/obs/ebas_station-locations.csv,sha256=v4LIThJ4gDmgJyDsXozwUm3k8lUvPhYKhrXjxp-YI3g,1743
78
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181220.nc,sha256=44wohtBt2B3OyS94588_nMomdDAgWmorWe0tNNt-lKs,145331
79
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181214.nc,sha256=etpmhAaUHVOABoOa9QDOF1hVvOhpytKXQhp6LFzyzco,145358
80
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181204.nc,sha256=sK092bbJTA5SKVMtbQZxiLu2foErxRws06soyavemVU,145171
81
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181230.nc,sha256=H2EsyIFva38W8K8APOo3nbYOv_5xb0kUcGSNXQGp7RQ,145680
82
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181210.nc,sha256=YSarGOGHuv0bBBTHogTiT3ia3Ba0WJZgSgC6V5Sgx28,145052
83
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181224.nc,sha256=Ao6XGhwlCJOCk2B2dvdq8W5wk3LxspzsbMSH3gEKF70,145547
84
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181211.nc,sha256=rj7-gnA7bSM45iz68Fjbvzt9jlCKRq_eW8J3PujWfYs,145445
85
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181225.nc,sha256=NX_-ApK44vVUl1MlL34Kp1_saqe4f1hHWjXHYMe3lrE,148101
86
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181201.nc,sha256=p0mRXcTHVkCmBZhzYl-LG-2pkd20U84ubiXWOsdWlpo,147934
87
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181221.nc,sha256=2aUMTPqiZm9h-9y26jOb3cWmeMNugK7V-8e5ItAWNu0,147848
88
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181215.nc,sha256=u93WDDRwrKMuKG2dfXqqz-7ZglSgvNrgSfZYRaSJO8A,145335
89
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181205.nc,sha256=eekGhiONUCCvijstVtBOa8RnjTpRa1iaA5AUY-d4WCY,147730
90
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181231.nc,sha256=aTAAzE3uXeeUIfVwn2Y_yDBM2oUe3HnFMyA7blD_8io,145563
91
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181212.nc,sha256=YfHgucNBIhppHx2ZvuZDS51LLUZ0cjaMAv0HmPyZABg,145270
92
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181226.nc,sha256=QaXOShPz7dp-GpLXwOGIPD52fvDMJz_ZwCfjFFTPzuc,137630
93
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181202.nc,sha256=b2GnqKha9ApadqT1PsfzOdGLyeTX2iRFZWHAe4m_6hw,147754
94
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181222.nc,sha256=70D7mC9tmaXLRCl_7LWIAJrmJL-lfxf8-SCFLgVNrXU,145581
95
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181216.nc,sha256=XITSvxE_H-mAbl8mTChGlmfjdUChLcbmIfGwJ3Lpnrs,145312
96
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181206.nc,sha256=bmrFOUT7I1vPSZxbrhnZ7ABMf72jw0iyCg6wgzgdhm8,145280
97
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181223.nc,sha256=Z3d0_SuxBr3g8-8Apk79Rkgo8ZqIv5eVSGOl9sIqPWo,145434
98
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181217.nc,sha256=imrxXStn8JHDE3cq9mm6ApUedx9s7-vrsRUVmrMS7Ds,147776
99
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181207.nc,sha256=mJ-BmPag7fdMA3U8B7nDceT4jsYrdwCWzmAVa93vy50,145312
100
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181213.nc,sha256=Qtf0i0y2dKqrWOWunALxuM604bJYt1_GsCJ-yD3wJcA,147719
101
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181227.nc,sha256=VIIwMqy8-3Oh_DUxL6TrAW3TQkE_PuuQy-UL4kPY01I,140117
102
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181203.nc,sha256=z1WS6bCfhAQHXNZzL90fGX1FsHW4AA4Es7DjeCVPPkg,145381
103
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181218.nc,sha256=BSWuq-opl7pWnfkp5fi6bL0xMRPdqupIeWANrea7Whc,137423
104
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181208.nc,sha256=og4cK4x-vE-qAAROyw6yHjVJKZeFsAtQhfOyKwhat0c,145388
105
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181228.nc,sha256=lRFdN3EMNT-_1i7OqJ0ASFTEbvdVVon-YkexmIz3Buk,145655
106
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181229.nc,sha256=TtdledzM8v9fKWMy07j0m2tXZcFVR2LOJCFhka9Ancg,148217
107
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181219.nc,sha256=oHRQoHzIPuqLHCSbUSB2-7jf0POFHkajB7NmD7JhElU,139924
108
- qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181209.nc,sha256=LrPL3ivckNa5ea-E4njIIoY7syTou25PkuZTyK5mZi8,142958
109
- qlc/examples/cams_case_1/mod/iqi9/2018/iqi9_20181215-20181231_A3_sfc.grb,sha256=WaQI398klK1LmGMqJTT8ghuNY1tGYJFdA3QP1RV6x4M,10341960
110
- qlc/examples/cams_case_1/mod/b2ro/2018/b2ro_20181215-20181231_A3_sfc.grb,sha256=G3z7XhuYn0r6Rs7pcIHHrYrShBuNXXhLO6YXmfYGr_g,10341600
111
- qlc/doc/USAGE.md,sha256=hUMiv3xj5qn2P8HiOz34A9uyE-P1_mQp1-tIBiU9_Nk,1145
112
- qlc/doc/README.md,sha256=3CfnL7_xzHoH3RmHS4g1D_R6qZVMLgDBk7mEYXZORas,3478
113
- qlc/doc/CONTRIBUTING.md,sha256=IXYwAIdAfiQUQOVJcP0RTVpWL9Q-dW2ljG6hs4WkHTY,2607