cloudnetpy 1.69.6__tar.gz → 1.69.8__tar.gz

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 (130) hide show
  1. {cloudnetpy-1.69.6/cloudnetpy.egg-info → cloudnetpy-1.69.8}/PKG-INFO +3 -2
  2. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/instruments/hatpro.py +9 -3
  3. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/instruments/weather_station.py +56 -0
  4. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/version.py +1 -1
  5. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8/cloudnetpy.egg-info}/PKG-INFO +3 -2
  6. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy.egg-info/requires.txt +1 -1
  7. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/pyproject.toml +3 -2
  8. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/LICENSE +0 -0
  9. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/MANIFEST.in +0 -0
  10. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/README.md +0 -0
  11. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/__init__.py +0 -0
  12. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/categorize/__init__.py +0 -0
  13. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/categorize/atmos_utils.py +0 -0
  14. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/categorize/attenuation.py +0 -0
  15. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/categorize/attenuations/__init__.py +0 -0
  16. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/categorize/attenuations/gas_attenuation.py +0 -0
  17. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/categorize/attenuations/liquid_attenuation.py +0 -0
  18. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/categorize/attenuations/melting_attenuation.py +0 -0
  19. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/categorize/attenuations/rain_attenuation.py +0 -0
  20. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/categorize/categorize.py +0 -0
  21. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/categorize/classify.py +0 -0
  22. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/categorize/containers.py +0 -0
  23. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/categorize/disdrometer.py +0 -0
  24. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/categorize/droplet.py +0 -0
  25. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/categorize/falling.py +0 -0
  26. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/categorize/freezing.py +0 -0
  27. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/categorize/insects.py +0 -0
  28. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/categorize/itu.py +0 -0
  29. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/categorize/lidar.py +0 -0
  30. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/categorize/melting.py +0 -0
  31. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/categorize/model.py +0 -0
  32. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/categorize/mwr.py +0 -0
  33. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/categorize/radar.py +0 -0
  34. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/cli.py +0 -0
  35. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/cloudnetarray.py +0 -0
  36. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/concat_lib.py +0 -0
  37. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/constants.py +0 -0
  38. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/datasource.py +0 -0
  39. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/exceptions.py +0 -0
  40. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/instruments/__init__.py +0 -0
  41. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/instruments/basta.py +0 -0
  42. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/instruments/campbell_scientific.py +0 -0
  43. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/instruments/ceilo.py +0 -0
  44. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/instruments/ceilometer.py +0 -0
  45. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/instruments/cl61d.py +0 -0
  46. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/instruments/cloudnet_instrument.py +0 -0
  47. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/instruments/copernicus.py +0 -0
  48. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/instruments/disdrometer/__init__.py +0 -0
  49. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/instruments/disdrometer/common.py +0 -0
  50. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/instruments/disdrometer/parsivel.py +0 -0
  51. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/instruments/disdrometer/thies.py +0 -0
  52. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/instruments/galileo.py +0 -0
  53. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/instruments/instruments.py +0 -0
  54. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/instruments/lufft.py +0 -0
  55. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/instruments/mira.py +0 -0
  56. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/instruments/mrr.py +0 -0
  57. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/instruments/nc_lidar.py +0 -0
  58. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/instruments/nc_radar.py +0 -0
  59. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/instruments/pollyxt.py +0 -0
  60. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/instruments/radiometrics.py +0 -0
  61. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/instruments/rain_e_h3.py +0 -0
  62. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/instruments/rpg.py +0 -0
  63. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/instruments/rpg_reader.py +0 -0
  64. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/instruments/toa5.py +0 -0
  65. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/instruments/vaisala.py +0 -0
  66. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/metadata.py +0 -0
  67. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/__init__.py +0 -0
  68. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/file_handler.py +0 -0
  69. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/metadata.py +0 -0
  70. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/model_metadata.py +0 -0
  71. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/plotting/__init__.py +0 -0
  72. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/plotting/plot_meta.py +0 -0
  73. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/plotting/plot_tools.py +0 -0
  74. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/plotting/plotting.py +0 -0
  75. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/products/__init__.py +0 -0
  76. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/products/advance_methods.py +0 -0
  77. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/products/grid_methods.py +0 -0
  78. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/products/model_products.py +0 -0
  79. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/products/observation_products.py +0 -0
  80. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/products/product_resampling.py +0 -0
  81. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/products/tools.py +0 -0
  82. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/statistics/__init__.py +0 -0
  83. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/statistics/statistical_methods.py +0 -0
  84. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/tests/__init__.py +0 -0
  85. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/tests/e2e/__init__.py +0 -0
  86. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/tests/e2e/conftest.py +0 -0
  87. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/tests/e2e/process_cf/__init__.py +0 -0
  88. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/tests/e2e/process_cf/main.py +0 -0
  89. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/tests/e2e/process_cf/tests.py +0 -0
  90. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/tests/e2e/process_iwc/__init__.py +0 -0
  91. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/tests/e2e/process_iwc/main.py +0 -0
  92. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/tests/e2e/process_iwc/tests.py +0 -0
  93. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/tests/e2e/process_lwc/__init__.py +0 -0
  94. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/tests/e2e/process_lwc/main.py +0 -0
  95. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/tests/e2e/process_lwc/tests.py +0 -0
  96. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/tests/unit/__init__.py +0 -0
  97. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/tests/unit/conftest.py +0 -0
  98. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/tests/unit/test_advance_methods.py +0 -0
  99. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/tests/unit/test_grid_methods.py +0 -0
  100. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/tests/unit/test_model_products.py +0 -0
  101. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/tests/unit/test_observation_products.py +0 -0
  102. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/tests/unit/test_plot_tools.py +0 -0
  103. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/tests/unit/test_plotting.py +0 -0
  104. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/tests/unit/test_statistical_methods.py +0 -0
  105. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/tests/unit/test_tools.py +0 -0
  106. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/model_evaluation/utils.py +0 -0
  107. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/output.py +0 -0
  108. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/plotting/__init__.py +0 -0
  109. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/plotting/plot_meta.py +0 -0
  110. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/plotting/plotting.py +0 -0
  111. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/products/__init__.py +0 -0
  112. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/products/classification.py +0 -0
  113. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/products/der.py +0 -0
  114. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/products/drizzle.py +0 -0
  115. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/products/drizzle_error.py +0 -0
  116. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/products/drizzle_tools.py +0 -0
  117. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/products/ier.py +0 -0
  118. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/products/iwc.py +0 -0
  119. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/products/lwc.py +0 -0
  120. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/products/mie_lu_tables.nc +0 -0
  121. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/products/mwr_tools.py +0 -0
  122. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/products/product_tools.py +0 -0
  123. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/py.typed +0 -0
  124. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy/utils.py +0 -0
  125. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy.egg-info/SOURCES.txt +0 -0
  126. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy.egg-info/dependency_links.txt +0 -0
  127. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy.egg-info/entry_points.txt +0 -0
  128. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/cloudnetpy.egg-info/top_level.txt +0 -0
  129. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/docs/source/conf.py +0 -0
  130. {cloudnetpy-1.69.6 → cloudnetpy-1.69.8}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: cloudnetpy
3
- Version: 1.69.6
3
+ Version: 1.69.8
4
4
  Summary: Python package for Cloudnet processing
5
5
  Author: Simo Tukiainen
6
6
  License: MIT License
@@ -36,13 +36,14 @@ Classifier: Operating System :: OS Independent
36
36
  Classifier: Programming Language :: Python :: 3.10
37
37
  Classifier: Programming Language :: Python :: 3.11
38
38
  Classifier: Programming Language :: Python :: 3.12
39
+ Classifier: Programming Language :: Python :: 3.13
39
40
  Classifier: Topic :: Scientific/Engineering
40
41
  Requires-Python: >=3.10
41
42
  Description-Content-Type: text/markdown
42
43
  License-File: LICENSE
43
44
  Requires-Dist: cloudnetpy_qc>=1.15.0
44
45
  Requires-Dist: matplotlib
45
- Requires-Dist: mwrpy>=0.4.3
46
+ Requires-Dist: mwrpy>=1.2.0
46
47
  Requires-Dist: netCDF4
47
48
  Requires-Dist: requests
48
49
  Requires-Dist: rpgpy>=0.14.5
@@ -31,7 +31,7 @@ def hatpro2l1c(
31
31
  output_file: str,
32
32
  site_meta: dict,
33
33
  uuid: str | None = None,
34
- date: str | None = None,
34
+ date: datetime.date | str | None = None,
35
35
  ) -> str:
36
36
  """Converts RPG HATPRO microwave radiometer data into Cloudnet Level 1c netCDF file.
37
37
 
@@ -45,7 +45,11 @@ def hatpro2l1c(
45
45
  Returns:
46
46
  UUID of the generated file.
47
47
  """
48
+ if isinstance(date, str):
49
+ date = datetime.date.fromisoformat(date)
50
+
48
51
  coeff_files = site_meta.get("coefficientFiles")
52
+ time_offset = site_meta.get("time_offset")
49
53
 
50
54
  try:
51
55
  hatpro_raw = lev1_to_nc(
@@ -54,6 +58,8 @@ def hatpro2l1c(
54
58
  output_file=output_file,
55
59
  coeff_files=coeff_files,
56
60
  instrument_config=site_meta,
61
+ date=date,
62
+ time_offset=time_offset,
57
63
  )
58
64
  except MissingInputData as err:
59
65
  raise HatproDataError(str(err)) from err
@@ -73,7 +79,7 @@ def hatpro2l1c(
73
79
  msg = "Timestamps are not increasing"
74
80
  raise RuntimeError(msg)
75
81
  dates = [
76
- str(datetime.datetime.fromtimestamp(t, tz=datetime.timezone.utc).date())
82
+ datetime.datetime.fromtimestamp(t, tz=datetime.timezone.utc).date()
77
83
  for t in timestamps
78
84
  ]
79
85
  if len(set(dates)) != 1:
@@ -119,7 +125,7 @@ class HatproL1c:
119
125
  def __init__(self, hatpro, site_meta: dict):
120
126
  self.raw_data = hatpro.raw_data
121
127
  self.data = hatpro.data
122
- self.date = hatpro.date.split("-")
128
+ self.date = hatpro.date.isoformat().split("-")
123
129
  self.site_meta = site_meta
124
130
  self.instrument = HATPRO
125
131
 
@@ -59,6 +59,8 @@ def ws2nc(
59
59
  ws = GalatiWS(weather_station_file, site_meta)
60
60
  elif site_meta["name"] == "Jülich":
61
61
  ws = JuelichWS(weather_station_file, site_meta)
62
+ elif site_meta["name"] == "Lampedusa":
63
+ ws = LampedusaWS(weather_station_file, site_meta)
62
64
  else:
63
65
  msg = "Unsupported site"
64
66
  raise ValueError(msg) # noqa: TRY301
@@ -486,3 +488,57 @@ class JuelichWS(WS):
486
488
  data[keymap[key]].append(parsed)
487
489
 
488
490
  return self.format_data(data)
491
+
492
+
493
+ class LampedusaWS(WS):
494
+ """Read Lampedusa weather station data in ICOS format."""
495
+
496
+ def __init__(self, filenames: list[str], site_meta: dict):
497
+ super().__init__(site_meta)
498
+ self.filename = filenames[0]
499
+ self._data = self._read_data()
500
+
501
+ def _read_data(self) -> dict:
502
+ with open(self.filename, newline="") as f:
503
+ fields = [
504
+ "time",
505
+ "str1",
506
+ "str2",
507
+ "T",
508
+ "RH",
509
+ "Td",
510
+ "P",
511
+ "WSi",
512
+ "WDi",
513
+ "WS10m",
514
+ "WD10m",
515
+ "rain1m",
516
+ "rain2h",
517
+ "empty",
518
+ ]
519
+ reader = csv.DictReader(f, fieldnames=fields)
520
+ raw_data: dict = {key: [] for key in fields}
521
+ for row in reader:
522
+ for key, value in row.items():
523
+ parsed_value: float | datetime.datetime
524
+ if key == "time":
525
+ parsed_value = datetime.datetime.strptime(
526
+ value, "%y%m%d %H%M%S"
527
+ )
528
+ else:
529
+ try:
530
+ parsed_value = float(value)
531
+ except ValueError:
532
+ parsed_value = math.nan
533
+ raw_data[key].append(parsed_value)
534
+
535
+ data = {
536
+ "time": raw_data["time"],
537
+ "air_temperature": raw_data["T"],
538
+ "relative_humidity": raw_data["RH"],
539
+ "air_pressure": raw_data["P"],
540
+ "wind_speed": raw_data["WSi"],
541
+ "wind_direction": raw_data["WDi"],
542
+ "rainfall_rate": raw_data["rain1m"],
543
+ }
544
+ return self.format_data(data)
@@ -1,4 +1,4 @@
1
1
  MAJOR = 1
2
2
  MINOR = 69
3
- PATCH = 6
3
+ PATCH = 8
4
4
  __version__ = f"{MAJOR}.{MINOR}.{PATCH}"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: cloudnetpy
3
- Version: 1.69.6
3
+ Version: 1.69.8
4
4
  Summary: Python package for Cloudnet processing
5
5
  Author: Simo Tukiainen
6
6
  License: MIT License
@@ -36,13 +36,14 @@ Classifier: Operating System :: OS Independent
36
36
  Classifier: Programming Language :: Python :: 3.10
37
37
  Classifier: Programming Language :: Python :: 3.11
38
38
  Classifier: Programming Language :: Python :: 3.12
39
+ Classifier: Programming Language :: Python :: 3.13
39
40
  Classifier: Topic :: Scientific/Engineering
40
41
  Requires-Python: >=3.10
41
42
  Description-Content-Type: text/markdown
42
43
  License-File: LICENSE
43
44
  Requires-Dist: cloudnetpy_qc>=1.15.0
44
45
  Requires-Dist: matplotlib
45
- Requires-Dist: mwrpy>=0.4.3
46
+ Requires-Dist: mwrpy>=1.2.0
46
47
  Requires-Dist: netCDF4
47
48
  Requires-Dist: requests
48
49
  Requires-Dist: rpgpy>=0.14.5
@@ -1,6 +1,6 @@
1
1
  cloudnetpy_qc>=1.15.0
2
2
  matplotlib
3
- mwrpy>=0.4.3
3
+ mwrpy>=1.2.0
4
4
  netCDF4
5
5
  requests
6
6
  rpgpy>=0.14.5
@@ -13,12 +13,13 @@ classifiers = [
13
13
  "Programming Language :: Python :: 3.10",
14
14
  "Programming Language :: Python :: 3.11",
15
15
  "Programming Language :: Python :: 3.12",
16
+ "Programming Language :: Python :: 3.13",
16
17
  "Topic :: Scientific/Engineering",
17
18
  ]
18
19
  dependencies = [
19
20
  "cloudnetpy_qc>=1.15.0",
20
21
  "matplotlib",
21
- "mwrpy>=0.4.3",
22
+ "mwrpy>=1.2.0",
22
23
  "netCDF4",
23
24
  "requests",
24
25
  "rpgpy>=0.14.5",
@@ -51,7 +52,7 @@ Changelog = "https://github.com/actris-cloudnet/cloudnetpy/blob/main/CHANGELOG.m
51
52
  check_untyped_defs = true
52
53
 
53
54
  [[tool.mypy.overrides]]
54
- module = ["matplotlib.*", "mpl_toolkits.*", "netCDF4.*", "scipy.*", "skimage.*", "voodoonet.*"]
55
+ module = ["mpl_toolkits.*", "scipy.*", "voodoonet.*"]
55
56
  ignore_missing_imports = true
56
57
 
57
58
  [tool.release-version]
File without changes
File without changes
File without changes
File without changes