cloudnetpy 1.90.4__tar.gz → 1.90.6__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 (140) hide show
  1. {cloudnetpy-1.90.4/cloudnetpy.egg-info → cloudnetpy-1.90.6}/PKG-INFO +1 -1
  2. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/categorize/categorize.py +1 -1
  3. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/categorize/mwr.py +8 -1
  4. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/rpg.py +7 -6
  5. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/utils.py +2 -0
  6. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/version.py +1 -1
  7. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6/cloudnetpy.egg-info}/PKG-INFO +1 -1
  8. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/pyproject.toml +5 -0
  9. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/LICENSE +0 -0
  10. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/MANIFEST.in +0 -0
  11. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/README.md +0 -0
  12. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/__init__.py +0 -0
  13. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/categorize/__init__.py +0 -0
  14. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/categorize/atmos_utils.py +0 -0
  15. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/categorize/attenuation.py +0 -0
  16. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/categorize/attenuations/__init__.py +0 -0
  17. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/categorize/attenuations/gas_attenuation.py +0 -0
  18. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/categorize/attenuations/liquid_attenuation.py +0 -0
  19. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/categorize/attenuations/melting_attenuation.py +0 -0
  20. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/categorize/attenuations/rain_attenuation.py +0 -0
  21. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/categorize/classify.py +0 -0
  22. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/categorize/containers.py +0 -0
  23. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/categorize/disdrometer.py +0 -0
  24. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/categorize/droplet.py +0 -0
  25. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/categorize/falling.py +0 -0
  26. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/categorize/freezing.py +0 -0
  27. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/categorize/insects.py +0 -0
  28. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/categorize/itu.py +0 -0
  29. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/categorize/lidar.py +0 -0
  30. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/categorize/melting.py +0 -0
  31. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/categorize/model.py +0 -0
  32. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/categorize/radar.py +0 -0
  33. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/cli.py +0 -0
  34. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/cloudnetarray.py +0 -0
  35. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/concat_lib.py +0 -0
  36. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/constants.py +0 -0
  37. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/datasource.py +0 -0
  38. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/disdronator/__init__.py +0 -0
  39. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/disdronator/lpm.py +0 -0
  40. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/disdronator/parsivel.py +0 -0
  41. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/disdronator/rd80.py +0 -0
  42. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/disdronator/utils.py +0 -0
  43. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/exceptions.py +0 -0
  44. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/__init__.py +0 -0
  45. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/basta.py +0 -0
  46. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/bowtie.py +0 -0
  47. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/ceilo.py +0 -0
  48. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/ceilometer.py +0 -0
  49. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/cl61d.py +0 -0
  50. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/cloudnet_instrument.py +0 -0
  51. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/copernicus.py +0 -0
  52. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/da10.py +0 -0
  53. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/disdrometer/__init__.py +0 -0
  54. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/disdrometer/common.py +0 -0
  55. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/disdrometer/parsivel.py +0 -0
  56. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/disdrometer/rd80.py +0 -0
  57. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/disdrometer/thies.py +0 -0
  58. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/fd12p.py +0 -0
  59. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/galileo.py +0 -0
  60. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/hatpro.py +0 -0
  61. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/instruments.py +0 -0
  62. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/lufft.py +0 -0
  63. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/mira.py +0 -0
  64. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/mrr.py +0 -0
  65. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/nc_lidar.py +0 -0
  66. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/nc_radar.py +0 -0
  67. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/pollyxt.py +0 -0
  68. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/radiometrics.py +0 -0
  69. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/rain_e_h3.py +0 -0
  70. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/rpg_reader.py +0 -0
  71. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/toa5.py +0 -0
  72. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/vaisala.py +0 -0
  73. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/weather_radar.py +0 -0
  74. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/instruments/weather_station.py +0 -0
  75. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/metadata.py +0 -0
  76. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/__init__.py +0 -0
  77. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/file_handler.py +0 -0
  78. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/metadata.py +0 -0
  79. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/model_metadata.py +0 -0
  80. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/plotting/__init__.py +0 -0
  81. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/plotting/plot_meta.py +0 -0
  82. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/plotting/plot_tools.py +0 -0
  83. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/plotting/plotting.py +0 -0
  84. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/products/__init__.py +0 -0
  85. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/products/advance_methods.py +0 -0
  86. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/products/grid_methods.py +0 -0
  87. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/products/model_products.py +0 -0
  88. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/products/observation_products.py +0 -0
  89. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/products/product_resampling.py +0 -0
  90. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/products/tools.py +0 -0
  91. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/statistics/__init__.py +0 -0
  92. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/statistics/statistical_methods.py +0 -0
  93. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/tests/__init__.py +0 -0
  94. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/tests/e2e/__init__.py +0 -0
  95. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/tests/e2e/conftest.py +0 -0
  96. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/tests/e2e/process_cf/__init__.py +0 -0
  97. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/tests/e2e/process_cf/main.py +0 -0
  98. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/tests/e2e/process_cf/tests.py +0 -0
  99. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/tests/e2e/process_iwc/__init__.py +0 -0
  100. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/tests/e2e/process_iwc/main.py +0 -0
  101. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/tests/e2e/process_iwc/tests.py +0 -0
  102. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/tests/e2e/process_lwc/__init__.py +0 -0
  103. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/tests/e2e/process_lwc/main.py +0 -0
  104. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/tests/e2e/process_lwc/tests.py +0 -0
  105. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/tests/unit/__init__.py +0 -0
  106. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/tests/unit/conftest.py +0 -0
  107. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/tests/unit/test_advance_methods.py +0 -0
  108. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/tests/unit/test_grid_methods.py +0 -0
  109. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/tests/unit/test_model_products.py +0 -0
  110. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/tests/unit/test_observation_products.py +0 -0
  111. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/tests/unit/test_plot_tools.py +0 -0
  112. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/tests/unit/test_plotting.py +0 -0
  113. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/tests/unit/test_statistical_methods.py +0 -0
  114. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/tests/unit/test_tools.py +0 -0
  115. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/model_evaluation/utils.py +0 -0
  116. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/output.py +0 -0
  117. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/plotting/__init__.py +0 -0
  118. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/plotting/plot_meta.py +0 -0
  119. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/plotting/plotting.py +0 -0
  120. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/products/__init__.py +0 -0
  121. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/products/classification.py +0 -0
  122. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/products/der.py +0 -0
  123. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/products/drizzle.py +0 -0
  124. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/products/drizzle_error.py +0 -0
  125. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/products/drizzle_tools.py +0 -0
  126. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/products/epsilon.py +0 -0
  127. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/products/ier.py +0 -0
  128. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/products/iwc.py +0 -0
  129. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/products/lwc.py +0 -0
  130. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/products/mie_lu_tables.nc +0 -0
  131. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/products/mwr_tools.py +0 -0
  132. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/products/product_tools.py +0 -0
  133. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy/py.typed +0 -0
  134. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy.egg-info/SOURCES.txt +0 -0
  135. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy.egg-info/dependency_links.txt +0 -0
  136. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy.egg-info/entry_points.txt +0 -0
  137. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy.egg-info/requires.txt +0 -0
  138. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/cloudnetpy.egg-info/top_level.txt +0 -0
  139. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/docs/source/conf.py +0 -0
  140. {cloudnetpy-1.90.4 → cloudnetpy-1.90.6}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cloudnetpy
3
- Version: 1.90.4
3
+ Version: 1.90.6
4
4
  Summary: Python package for Cloudnet processing
5
5
  Author: Simo Tukiainen
6
6
  License: MIT License
@@ -92,7 +92,7 @@ def generate_categorize(
92
92
  if data.disdrometer is not None:
93
93
  data.disdrometer.interpolate_to_grid(time)
94
94
  if data.mwr is not None:
95
- data.mwr.interpolate_to_grid(time)
95
+ data.mwr.interpolate_to_grid(time, max_time=2)
96
96
  data.model.calc_attenuations(data.radar.radar_frequency)
97
97
  data.model.interpolate_to_common_height()
98
98
  model_gap_ind = data.model.interpolate_to_grid(time, height)
@@ -24,7 +24,14 @@ class Mwr(DataSource):
24
24
  self._init_lwp_data()
25
25
  self._init_lwp_error()
26
26
 
27
- def interpolate_to_grid(self, time_grid: npt.NDArray, max_time: float = 1) -> None:
27
+ def interpolate_to_grid(self, time_grid: npt.NDArray, max_time: float) -> None:
28
+ """Interpolate LWP using linear interpolation.
29
+
30
+ Args:
31
+ time_grid: 1D array, new time coordinates.
32
+ max_time: Maximum allowed gap in minutes. Values outside this gap will
33
+ be masked.
34
+ """
28
35
  for key, array in self.data.items():
29
36
  self.data[key].data = interpolate_1d(
30
37
  self.time, array.data, time_grid, max_time=max_time
@@ -335,12 +335,13 @@ class Fmcw(Rpg):
335
335
 
336
336
  def mask_invalid_ldr(self) -> None:
337
337
  """Removes ldr outliers."""
338
- threshold = -35
339
- if "ldr" in self.data:
340
- self.data["ldr"].data = ma.masked_less_equal(
341
- self.data["ldr"].data,
342
- threshold,
343
- )
338
+ thresholds = {"ldr": -35, "sldr": -40}
339
+ for key, threshold in thresholds.items():
340
+ if key in self.data:
341
+ self.data[key].data = ma.masked_less_equal(
342
+ self.data[key].data,
343
+ threshold,
344
+ )
344
345
 
345
346
  def mask_invalid_width(self) -> None:
346
347
  """Removes very low width values.
@@ -498,6 +498,8 @@ def interpolate_1d(
498
498
  return ma.masked_all(time_new.shape)
499
499
  time = time[~y.mask]
500
500
  y = y[~y.mask]
501
+ time, unique_idx = np.unique(time, return_index=True)
502
+ y = y[unique_idx]
501
503
  fun = interp1d(time, y, kind=method, fill_value=(y[0], y[-1]), bounds_error=False)
502
504
  interpolated = ma.array(fun(time_new))
503
505
  bad_idx = get_gap_ind(time, time_new, max_time / 60)
@@ -1,4 +1,4 @@
1
1
  MAJOR = 1
2
2
  MINOR = 90
3
- PATCH = 4
3
+ PATCH = 6
4
4
  __version__ = f"{MAJOR}.{MINOR}.{PATCH}"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cloudnetpy
3
- Version: 1.90.4
3
+ Version: 1.90.6
4
4
  Summary: Python package for Cloudnet processing
5
5
  Author: Simo Tukiainen
6
6
  License: MIT License
@@ -55,6 +55,11 @@ check_untyped_defs = true
55
55
  module = ["cftime.*", "mpl_toolkits.*", "scipy.*", "voodoonet.*"]
56
56
  ignore_missing_imports = true
57
57
 
58
+ [tool.pytest.ini_options]
59
+ filterwarnings = [
60
+ "ignore::scipy.stats.ConstantInputWarning",
61
+ ]
62
+
58
63
  [tool.release-version]
59
64
  filename = "cloudnetpy/version.py"
60
65
  pattern = ["MAJOR = (?P<major>\\d+)", "MINOR = (?P<minor>\\d+)", "PATCH = (?P<patch>\\d+)"]
File without changes
File without changes
File without changes
File without changes