rc-qlc 0.3.24__cp310-cp310-win32.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. qlc/__init__.py +8 -0
  2. qlc/cli/__init__.py +21 -0
  3. qlc/cli/installer.py +16 -0
  4. qlc/cli/qlc_main.py +185 -0
  5. qlc/cli/qlc_py_main.py +74 -0
  6. qlc/config/json/qlc_config.json +41 -0
  7. qlc/config/json/qlc_config_example_1a_all-obs.json +237 -0
  8. qlc/config/json/qlc_config_example_1b_all-mod.json +353 -0
  9. qlc/config/json/qlc_config_example_1c_all-coll.json +266 -0
  10. qlc/config/json/qlc_config_example_2a_all-obs.json +237 -0
  11. qlc/config/json/qlc_config_example_2b_all-mod.json +353 -0
  12. qlc/config/json/qlc_config_example_2c_all-coll.json +265 -0
  13. qlc/config/json/qlc_config_example_3a-us_obs.json +82 -0
  14. qlc/config/json/qlc_config_example_3b-us_mod.json +122 -0
  15. qlc/config/json/qlc_config_example_3c-us_coll.json +46 -0
  16. qlc/config/json/qlc_config_example_4a_eu-obs.json +41 -0
  17. qlc/config/json/qlc_config_example_4b_eu-mod.json +122 -0
  18. qlc/config/json/qlc_config_example_4c_eu-coll.json +45 -0
  19. qlc/config/nml/mars_A1_sfc.nml +19 -0
  20. qlc/config/nml/mars_A2_sfc.nml +19 -0
  21. qlc/config/nml/mars_A3_sfc.nml +19 -0
  22. qlc/config/nml/mars_B1_pl.nml +19 -0
  23. qlc/config/nml/mars_B2_pl.nml +19 -0
  24. qlc/config/nml/mars_C1_pl.nml +19 -0
  25. qlc/config/nml/mars_C2_pl.nml +19 -0
  26. qlc/config/nml/mars_C3_ml.nml +19 -0
  27. qlc/config/nml/mars_D.nml +19 -0
  28. qlc/config/nml/mars_E.nml +19 -0
  29. qlc/config/nml/mars_F.nml +19 -0
  30. qlc/config/nml/mars_G.nml +19 -0
  31. qlc/config/qlc_cams.conf +26 -0
  32. qlc/config/qlc_test.conf +26 -0
  33. qlc/config/qlc_tex.conf +107 -0
  34. qlc/doc/CONTRIBUTING.md +105 -0
  35. qlc/doc/README.md +116 -0
  36. qlc/doc/USAGE.md +58 -0
  37. qlc/examples/cams_case_1/config/json/qlc_config.json +41 -0
  38. qlc/examples/cams_case_1/config/nml/mars_A3_sfc.nml +19 -0
  39. qlc/examples/cams_case_1/config/nml/mars_B1_pl.nml +19 -0
  40. qlc/examples/cams_case_1/config/nml/mars_C1_pl.nml +19 -0
  41. qlc/examples/cams_case_1/config/qlc_cams.conf +122 -0
  42. qlc/examples/cams_case_1/mod/b2ro/2018/b2ro_20181215-20181231_A3_sfc.grb +0 -0
  43. qlc/examples/cams_case_1/mod/iqi9/2018/iqi9_20181215-20181231_A3_sfc.grb +0 -0
  44. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181201.nc +0 -0
  45. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181202.nc +0 -0
  46. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181203.nc +0 -0
  47. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181204.nc +0 -0
  48. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181205.nc +0 -0
  49. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181206.nc +0 -0
  50. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181207.nc +0 -0
  51. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181208.nc +0 -0
  52. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181209.nc +0 -0
  53. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181210.nc +0 -0
  54. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181211.nc +0 -0
  55. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181212.nc +0 -0
  56. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181213.nc +0 -0
  57. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181214.nc +0 -0
  58. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181215.nc +0 -0
  59. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181216.nc +0 -0
  60. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181217.nc +0 -0
  61. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181218.nc +0 -0
  62. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181219.nc +0 -0
  63. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181220.nc +0 -0
  64. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181221.nc +0 -0
  65. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181222.nc +0 -0
  66. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181223.nc +0 -0
  67. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181224.nc +0 -0
  68. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181225.nc +0 -0
  69. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181226.nc +0 -0
  70. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181227.nc +0 -0
  71. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181228.nc +0 -0
  72. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181229.nc +0 -0
  73. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181230.nc +0 -0
  74. qlc/examples/cams_case_1/obs/ebas_daily/v_20240216/201812/ebas_20181231.nc +0 -0
  75. qlc/examples/cams_case_1/obs/ebas_station-locations.csv +50 -0
  76. qlc/install.py +285 -0
  77. qlc/py/__main__.cp310-win32.pyd +0 -0
  78. qlc/py/averaging.cp310-win32.pyd +0 -0
  79. qlc/py/bias_plots.cp310-win32.pyd +0 -0
  80. qlc/py/control.cp310-win32.pyd +0 -0
  81. qlc/py/io.cp310-win32.pyd +0 -0
  82. qlc/py/loadmod.cp310-win32.pyd +0 -0
  83. qlc/py/loadobs.cp310-win32.pyd +0 -0
  84. qlc/py/logging_utils.cp310-win32.pyd +0 -0
  85. qlc/py/map_plots.cp310-win32.pyd +0 -0
  86. qlc/py/matched.cp310-win32.pyd +0 -0
  87. qlc/py/plot_config.cp310-win32.pyd +0 -0
  88. qlc/py/plotting.cp310-win32.pyd +0 -0
  89. qlc/py/plugin_loader.cp310-win32.pyd +0 -0
  90. qlc/py/processing.cp310-win32.pyd +0 -0
  91. qlc/py/scatter_plots.cp310-win32.pyd +0 -0
  92. qlc/py/stations.cp310-win32.pyd +0 -0
  93. qlc/py/statistics.cp310-win32.pyd +0 -0
  94. qlc/py/style.cp310-win32.pyd +0 -0
  95. qlc/py/timeseries_plots.cp310-win32.pyd +0 -0
  96. qlc/py/utils.cp310-win32.pyd +0 -0
  97. qlc/py/version.cp310-win32.pyd +0 -0
  98. qlc/sh/qlc_A1.sh +127 -0
  99. qlc/sh/qlc_B1a.sh +123 -0
  100. qlc/sh/qlc_B2.sh +258 -0
  101. qlc/sh/qlc_C5.sh +825 -0
  102. qlc/sh/qlc_D1.sh +130 -0
  103. qlc/sh/qlc_Z1.sh +165 -0
  104. qlc/sh/qlc_common_functions.sh +157 -0
  105. qlc/sh/qlc_main.sh +127 -0
  106. qlc/sh/qlc_start.sh +23 -0
  107. qlc/sh/qlc_start_batch.sh +46 -0
  108. rc_qlc-0.3.24.dist-info/METADATA +142 -0
  109. rc_qlc-0.3.24.dist-info/RECORD +113 -0
  110. rc_qlc-0.3.24.dist-info/WHEEL +5 -0
  111. rc_qlc-0.3.24.dist-info/entry_points.txt +6 -0
  112. rc_qlc-0.3.24.dist-info/licenses/LICENSE +21 -0
  113. rc_qlc-0.3.24.dist-info/top_level.txt +1 -0
qlc/doc/USAGE.md ADDED
@@ -0,0 +1,58 @@
1
+ # QLC Usage Guide
2
+
3
+ ## Installed CLI Tools
4
+
5
+ Once installed, QLC provides the following command-line entry points:
6
+
7
+ ### `qlc`
8
+ Runs the full shell-based QLC pipeline (retrieval, processing, plotting).
9
+
10
+ ### `qlc-py`
11
+ Runs the standalone Python-based observation–model comparison.
12
+
13
+ ### `sqlc`
14
+ Submits a QLC run as a batch job (e.g., SLURM, LSF).
15
+
16
+ ---
17
+
18
+ ## PyPI Installation
19
+
20
+ To install `rc-qlc` from PyPI and set up the local environment, use the following two-step command.
21
+
22
+ ### CAMS Mode
23
+ For users connected to the CAMS data infrastructure.
24
+ ```bash
25
+ pip install rc-qlc && qlc-install --cams
26
+ ```
27
+
28
+ ### Test Mode
29
+ For a standalone test using the bundled example data.
30
+ ```bash
31
+ pip install rc-qlc && qlc-install --test
32
+ ```
33
+
34
+ ---
35
+
36
+ ## Local Wheel Installation
37
+
38
+ If you have a wheel file (`.whl`), you can install it directly.
39
+
40
+ ```bash
41
+ # Example for a local wheel file
42
+ pip install ./path/to/your/rc-qlc-0.3.21-....whl
43
+ qlc-install --test
44
+ ```
45
+
46
+ ---
47
+
48
+ ## Running QLC in Test Mode
49
+
50
+ After installing in test mode, you can immediately run the main drivers:
51
+ ```bash
52
+ # Run the full shell pipeline with example data
53
+ qlc
54
+
55
+ # Run only the Python processing part
56
+ qlc-py
57
+ ```
58
+
@@ -0,0 +1,41 @@
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
+ ]
@@ -0,0 +1,19 @@
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/config/qlc.conf file
3
+ # param_A3-sfc=("203.210")
4
+ # ncvar_A3-sfc=("go3")
5
+ # myvar_A3-sfc=("O3")
6
+ # surface level
7
+ RETRIEVE,
8
+ CLASS = XCLASS,
9
+ TYPE = fc,
10
+ STREAM = oper,
11
+ EXPVER = EXP,
12
+ PARAM = 203.210,
13
+ LEVTYPE = sfc,
14
+ GRID = 1.0/1.0,
15
+ TIME = 00:00:00,
16
+ STEP = 0/6/12/18,
17
+ LEVELIST = 137,
18
+ DATE = SDATE/to/EDATE,
19
+ target = "MYPATH/MYFILE_A3_sfc.grb"
@@ -0,0 +1,19 @@
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"
@@ -0,0 +1,19 @@
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_C2=("36.212" "35.212" "2.212" "1.212")
4
+ # ncvar_C2=("var36" "var35" "var2" "var1" )
5
+ # myvar_C2=("NO3_as" "NH4_as" "SO4_as" "N_as")
6
+ # model levels
7
+ RETRIEVE,
8
+ CLASS = XCLASS,
9
+ TYPE = fc,
10
+ STREAM = oper,
11
+ EXPVER = EXP,
12
+ PARAM = 35.212,
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_C1_pl.grb"
@@ -0,0 +1,122 @@
1
+ #----------------------------------------------------------------------
2
+ #----------------------- QLC version to be used -------------------
3
+ QLC_VERSION="v03"
4
+ #----------------------- Path definitions -------------------------
5
+ SCRIPTS_PATH="$HOME/../cysm/bin_public/qlc_src_$QLC_VERSION"
6
+ QLC_HOME="$HOME/qlc"
7
+ QLC_DIRECTORY="${QLC_HOME}_$QLC_VERSION"
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
+ #PLOTEXTENSION="pdf"
19
+ PLOTEXTENSION="png"
20
+ #----------------------- Run-time definitions -------------------------
21
+ #- 1. Definition of QLC complexity through selection of subscripts
22
+ #----------------------------------------------------------------------
23
+ #- (a) QLC unified data analysis and plotting (entries optional)
24
+ #----------------------------------------------------------------------
25
+ #SUBSCRIPT_NAMES=("A1" "B1" "B2" "C1" "D1" "E1" "F1" "G1" "Z1")
26
+ #SUBSCRIPT_NAMES=("C5" "Z1")
27
+ SUBSCRIPT_NAMES=("A1" "B1a" "B2" "C5" "Z1")
28
+ #----------------------------------------------------------------------
29
+ #- (b) QLC unified mars data retrieval (SUBSCRIPT_NAME, A1, A2, A3, ...)
30
+ #- Mars retrievals for namelist : nml/mars_A2.nml, nml/mars_B2.nml, ...)
31
+ #----------------------------------------------------------------------
32
+ #- MARS_RETRIEVALS=("A2_sfc" "B2_pl" "C2_pl" "C3_ml" "D" "E" "F" "I")
33
+ #- O3, NH3 and NH4_as
34
+ MARS_RETRIEVALS=("A3_sfc" "B1_pl" "C1_pl")
35
+ #----------------------------------------------------------------------
36
+ #- un/comment MARS_RETRIEVALS (choose one or combine contents into one)
37
+ #- The MARS_RETRIEVALS mapping is required for subscript processing (a)
38
+ #----------------------------------------------------------------------
39
+ #- Key variables (AOD, PM + gases and aerosols)
40
+ # MARS_RETRIEVALS=("A2_sfc" "B2_pl" "C2_pl")
41
+ #- pH variables (rain, cloud, aerosol pH and water)
42
+ # MARS_RETRIEVALS=("D" "F" "G")
43
+ #- Extended aerosol diagnostics (requires E4C and active 4D output)
44
+ # MARS_RETRIEVALS=("E")
45
+ #- PSC frequency (requires E4C output)
46
+ # MARS_RETRIEVALS=("H")
47
+ #- Meteo output (e.g., T, SH, RH)
48
+ # MARS_RETRIEVALS=("I")
49
+ #----------------------------------------------------------------------
50
+ #----------------------------------------------------------------------
51
+ #- 2. Variable mapping and definition (to be processed by subscripts)
52
+ #- (number of array elements need to match mars retrieval, if active)
53
+ #----------------------------------------------------------------------
54
+ #- e.g., surface variables (sfc)
55
+ #----------------------------------------------------------------------
56
+ param_A1_sfc=("73.210")
57
+ ncvar_A1_sfc=("var73")
58
+ myvar_A1_sfc=("PM25")
59
+ #----------------------------------------------------------------------
60
+ param_A2_sfc=("207.210" "72.210" "73.210" "74.210")
61
+ ncvar_A2_sfc=("var207" "var72" "var73" "var74")
62
+ myvar_A2_sfc=("AOD" "PM1" "PM25" "PM10")
63
+ #----------------------------------------------------------------------
64
+ param_A3_sfc=("203.210")
65
+ ncvar_A3_sfc=("go3")
66
+ myvar_A3_sfc=("O3")
67
+ #----------------------------------------------------------------------
68
+ #- e.g., gases (pressure levels, pl)
69
+ #----------------------------------------------------------------------
70
+ param_B1_pl=("19.217")
71
+ ncvar_B1_pl=("var19")
72
+ myvar_B1_pl=("NH3")
73
+ #----------------------------------------------------------------------
74
+ param_B2_pl=("19.217" "6.217" "122.210" "203.210")
75
+ ncvar_B2_pl=("var19" "var6" "var122" "var203")
76
+ myvar_B2_pl=("NH3" "HNO3" "SO2" "O3")
77
+ #----------------------------------------------------------------------
78
+ #- e.g., aerosols (pressure levels, pl)
79
+ #----------------------------------------------------------------------
80
+ param_C1_pl=("35.212")
81
+ ncvar_C1_pl=("var35")
82
+ myvar_C1_pl=("NH4_as")
83
+ #----------------------------------------------------------------------
84
+ param_C2_pl=("36.212" "35.212" "2.212" "1.212")
85
+ ncvar_C2_pl=("var36" "var35" "var2" "var1" )
86
+ myvar_C2_pl=("NO3_as" "NH4_as" "SO4_as" "N_as")
87
+ #----------------------------------------------------------------------
88
+ param_C3_ml=("247.210" "248.210" "249.210" "11.210")
89
+ ncvar_C3_ml=("var247" "var248" "var249" "var11" )
90
+ myvar_C3_ml=("NO3a" "NO3b" "NH4" "SO4")
91
+ #----------------------------------------------------------------------
92
+ #- e.g., aerosol diagnostics
93
+ #----------------------------------------------------------------------
94
+ param_D=("51.212" "52.212")
95
+ ncvar_D=("var51" "var52")
96
+ myvar_D=("pHcloud" "pHrain")
97
+ #----------------------------------------------------------------------
98
+ param_E=("210025")
99
+ ncvar_E=("aergn10")
100
+ myvar_E=("EQdiag")
101
+ #----------------------------------------------------------------------
102
+ param_F=("22.210")
103
+ ncvar_F=("aergn07")
104
+ myvar_F=("pHaer")
105
+ #----------------------------------------------------------------------
106
+ param_G=("22.210")
107
+ ncvar_G=("aergn07")
108
+ myvar_G=("AW")
109
+ #----------------------------------------------------------------------
110
+ #- e.g., stratospheric diagnostics
111
+ #----------------------------------------------------------------------
112
+ param_H=("25.210")
113
+ ncvar_H=("aergn10")
114
+ myvar_H=("PSCfreq")
115
+ #----------------------------------------------------------------------
116
+ #- e.g., meteo fields
117
+ #----------------------------------------------------------------------
118
+ param_I=("130" "133" "157")
119
+ ncvar_I=("var130" "var133" "var157")
120
+ myvar_I=("T" "SH" "RH")
121
+ #----------------------------------------------------------------------
122
+ #----------------------------------------------------------------------
@@ -0,0 +1,50 @@
1
+ # Site ID, Site Name, Latitude, Longitude, Altitude (m)
2
+ eu052801075n00,Site01,52.8,10.75,
3
+ eu04791791n00,Site02,47.91,7.91,
4
+ eu053161303n00,Site03,53.16,13.03,
5
+ eu05635960n00,Site04,56.35,9.6,
6
+ eu056711151n00,Site05,56.71,11.51,
7
+ eu055691208n00,Site06,55.69,12.08,
8
+ eu059772137n00,Site07,59.77,21.37,
9
+ eu060532766n00,Site08,60.53,27.66,
10
+ eu068002423n00,Site09,68.0,24.23,
11
+ eu05444787n00,Site10,54.44,-7.87,
12
+ eu05579324n00,Site11,55.79,-3.24,
13
+ eu05114143n00,Site12,51.14,-1.43,
14
+ eu046961958n00,Site13,46.96,19.58,
15
+ eu046911632n00,Site14,46.91,16.32,
16
+ eu056162117n00,Site15,56.16,21.17,
17
+ eu05838825n00,Site16,58.38,8.25,
18
+ eu065831391n00,Site17,65.83,13.91,
19
+ eu06278888n00,Site18,62.78,8.88,
20
+ eu078901188n00,Site19,78.9,11.88,
21
+ eu060371107n00,Site20,60.37,11.07,
22
+ eu078921192n00,Site21,78.92,11.92,
23
+ eu054152206n00,Site22,54.15,22.06,
24
+ eu063851533n00,Site23,63.85,15.33,
25
+ eu057391191n00,Site24,57.39,11.91,
26
+ eu056041314n00,Site25,56.04,13.14,
27
+ eu060081750n00,Site26,60.08,17.5,
28
+ eu049052226n00,Site27,49.05,22.26,
29
+ eu05635960n00,Site28,56.35,9.6,
30
+ eu056711151n00,Site29,56.71,11.51,
31
+ eu055691208n00,Site30,55.69,12.08,
32
+ eu060532766n00,Site31,60.53,27.66,
33
+ eu05444787n00,Site32,54.44,-7.87,
34
+ eu05579324n00,Site33,55.79,-3.24,
35
+ eu05114143n00,Site34,51.14,-1.43,
36
+ eu046961958n00,Site35,46.96,19.58,
37
+ eu046911632n00,Site36,46.91,16.32,
38
+ eu056162117n00,Site37,56.16,21.17,
39
+ eu05838825n00,Site38,58.38,8.25,
40
+ eu065831391n00,Site39,65.83,13.91,
41
+ eu06278888n00,Site40,62.78,8.88,
42
+ eu078901188n00,Site41,78.9,11.88,
43
+ eu060371107n00,Site42,60.37,11.07,
44
+ eu078921192n00,Site43,78.92,11.92,
45
+ eu054152206n00,Site44,54.15,22.06,
46
+ eu063851533n00,Site45,63.85,15.33,
47
+ eu057391191n00,Site46,57.39,11.91,
48
+ eu056041314n00,Site47,56.04,13.14,
49
+ eu060081750n00,Site48,60.08,17.5,
50
+ eu049052226n00,Site49,49.05,22.26,