cloudnetpy 1.67.3__py3-none-any.whl → 1.67.4__py3-none-any.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.
@@ -91,15 +91,19 @@ def copernicus2nc(
91
91
  copernicus.mask_corrupted_values()
92
92
  copernicus.mask_first_range_gates()
93
93
  copernicus.mask_invalid_data()
94
- copernicus.add_time_and_range()
95
94
  copernicus.fix_range_offset(site_meta)
96
95
  copernicus.screen_negative_ranges()
97
96
  copernicus.add_radar_specific_variables()
98
97
  copernicus.add_nyquist_velocity(keymap)
99
98
  copernicus.add_site_geolocation()
100
- valid_indices = copernicus.add_zenith_and_azimuth_angles()
99
+ valid_indices = copernicus.add_zenith_and_azimuth_angles(
100
+ elevation_threshold=1,
101
+ elevation_diff_threshold=0.1,
102
+ azimuth_diff_threshold=0.1,
103
+ )
101
104
  copernicus.screen_time_indices(valid_indices)
102
105
  copernicus.add_height()
106
+ copernicus.test_if_all_masked()
103
107
  attributes = output.add_time_attribute(ATTRIBUTES, copernicus.date)
104
108
  output.update_attributes(copernicus.data, attributes)
105
109
  return output.save_level1b(copernicus, output_file, uuid)
@@ -89,13 +89,17 @@ def galileo2nc(
89
89
  galileo.screen_by_snr(snr_limit=snr_limit)
90
90
  galileo.mask_clutter()
91
91
  galileo.mask_invalid_data()
92
- galileo.add_time_and_range()
93
92
  galileo.add_radar_specific_variables()
94
93
  galileo.add_nyquist_velocity(keymap)
95
94
  galileo.add_site_geolocation()
96
- valid_indices = galileo.add_zenith_and_azimuth_angles()
95
+ valid_indices = galileo.add_zenith_and_azimuth_angles(
96
+ elevation_threshold=1,
97
+ elevation_diff_threshold=0.1,
98
+ azimuth_diff_threshold=0.1,
99
+ )
97
100
  galileo.screen_time_indices(valid_indices)
98
101
  galileo.add_height()
102
+ galileo.test_if_all_masked()
99
103
  attributes = output.add_time_attribute(ATTRIBUTES, galileo.date)
100
104
  output.update_attributes(galileo.data, attributes)
101
105
  return output.save_level1b(galileo, output_file, uuid)
@@ -80,7 +80,11 @@ def mira2nc(
80
80
  mira.add_time_and_range()
81
81
  mira.add_site_geolocation()
82
82
  mira.add_radar_specific_variables()
83
- valid_indices = mira.add_zenith_and_azimuth_angles()
83
+ valid_indices = mira.add_zenith_and_azimuth_angles(
84
+ elevation_threshold=1,
85
+ elevation_diff_threshold=1e-6,
86
+ azimuth_diff_threshold=1e-3,
87
+ )
84
88
  mira.screen_time_indices(valid_indices)
85
89
  mira.add_height()
86
90
  mira.test_if_all_masked()
@@ -90,7 +90,12 @@ class NcRadar(DataSource, CloudnetInstrument):
90
90
  if len(ind) > 0:
91
91
  self.data["v"].data[:, ind] = ma.masked
92
92
 
93
- def add_zenith_and_azimuth_angles(self) -> list:
93
+ def add_zenith_and_azimuth_angles(
94
+ self,
95
+ elevation_threshold: float,
96
+ elevation_diff_threshold: float,
97
+ azimuth_diff_threshold: float,
98
+ ) -> list:
94
99
  """Adds non-varying instrument zenith and azimuth angles and returns valid
95
100
  time indices.
96
101
  """
@@ -100,9 +105,9 @@ class NcRadar(DataSource, CloudnetInstrument):
100
105
  elevation_diff = ma.diff(elevation, prepend=elevation[1])
101
106
  azimuth_diff = ma.diff(azimuth, prepend=azimuth[1])
102
107
 
103
- is_stable = np.abs(elevation - 90) < 1
104
- is_stable &= np.abs(elevation_diff) < 1e-6
105
- is_stable &= np.abs(azimuth_diff) < 1e-3
108
+ is_stable = np.abs(elevation - 90) < elevation_threshold
109
+ is_stable &= np.abs(elevation_diff) < elevation_diff_threshold
110
+ is_stable &= np.abs(azimuth_diff) < azimuth_diff_threshold
106
111
 
107
112
  # If scanning unit is broken, data are missing
108
113
  # (assume it's vertically pointing)
cloudnetpy/version.py CHANGED
@@ -1,4 +1,4 @@
1
1
  MAJOR = 1
2
2
  MINOR = 67
3
- PATCH = 3
3
+ PATCH = 4
4
4
  __version__ = f"{MAJOR}.{MINOR}.{PATCH}"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cloudnetpy
3
- Version: 1.67.3
3
+ Version: 1.67.4
4
4
  Summary: Python package for Cloudnet processing
5
5
  Author: Simo Tukiainen
6
6
  License: MIT License
@@ -9,7 +9,7 @@ cloudnetpy/metadata.py,sha256=DOGt7EQLS-AVJEszrUrpXr3gHVQv655FzeCzKrOPvoU,5477
9
9
  cloudnetpy/output.py,sha256=lq4YSeMT_d-j4rlQkKm9KIZ8boupTBBBKV1eUawpmCI,15672
10
10
  cloudnetpy/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  cloudnetpy/utils.py,sha256=U0iMIKPiKLrLVAfs_u9pPuoWYW1RJHcM8dbLF9a4yIA,29796
12
- cloudnetpy/version.py,sha256=g8g1vACVDsZA7aoMeIfXx3LzdjPkjA1SXN6-nsmvJUM,72
12
+ cloudnetpy/version.py,sha256=bB1gVbPp01OH9vaIK4R6vM7yCkY9CJ9vS7zOVCzkf6o,72
13
13
  cloudnetpy/categorize/__init__.py,sha256=s-SJaysvVpVVo5kidiruWQO6p3gv2TXwY1wEHYO5D6I,44
14
14
  cloudnetpy/categorize/atmos_utils.py,sha256=RcmbKxm2COkE7WEya0mK3yX5rzUbrewRVh3ekm01RtM,10598
15
15
  cloudnetpy/categorize/attenuation.py,sha256=Y_-fzmQTltWTqIZTulJhovC7a6ifpMcaAazDJcnMIOc,990
@@ -39,15 +39,15 @@ cloudnetpy/instruments/ceilo.py,sha256=xrI7iYNftKvGZf-3C_ESUNsu-QhXV43iWkDuKp3bi
39
39
  cloudnetpy/instruments/ceilometer.py,sha256=pdmLVljsuciyKpaGxWxJ_f1IrJK-UrkBC0lSeuirLlU,12095
40
40
  cloudnetpy/instruments/cl61d.py,sha256=g6DNBFju3wYhLFl32DKmC8pUup7y-EupXoUU0fuoGGA,1990
41
41
  cloudnetpy/instruments/cloudnet_instrument.py,sha256=NQZ_FMXh8iyzXYSCKQSpIdp0MZFAh7WqKE8mZRmVbF4,4164
42
- cloudnetpy/instruments/copernicus.py,sha256=nmgqGOjVQFngj7BNbpcuCwA-W3yksvBbqn__iq7MyDk,6469
43
- cloudnetpy/instruments/galileo.py,sha256=yQBedd7dmDnwuWi1MtXOsg4-RyRx0uRAXumCY4YuH9k,4686
42
+ cloudnetpy/instruments/copernicus.py,sha256=he15ncH6SDCidBhr0BkOJc6Rg8cMvLWN0vGmpui6nGQ,6611
43
+ cloudnetpy/instruments/galileo.py,sha256=qABO3IUdRpGFDgqKsN0Pl4TQ-CWHQz8s13PxnwdIUnU,4828
44
44
  cloudnetpy/instruments/hatpro.py,sha256=DzCWzTJxTc5BSOgoeyM8RjYkSXX6NDi3QXgKRp0uxlI,8759
45
45
  cloudnetpy/instruments/instruments.py,sha256=cHP0RN-Z8Jl9yoDHdvaOflTrzuogDTGmd-nxSOk8Uq4,3568
46
46
  cloudnetpy/instruments/lufft.py,sha256=ugXF6pssHAAz1Y_hqPdpKuluAjxxHSR88xBmQuS6RlI,3705
47
- cloudnetpy/instruments/mira.py,sha256=HXfSRIWXrsSet3mSi0hiU-m-eEA6V_Pz0vjtiG8pbUM,10263
47
+ cloudnetpy/instruments/mira.py,sha256=un7qcoJrIeZmKWmVFCV84rmYCZkyJtvYnYXEhkENrY4,10407
48
48
  cloudnetpy/instruments/mrr.py,sha256=eeAzCp3CiHGauywjwvMUAFwZ4vBOZMcd3IlF8KsrLQo,5711
49
49
  cloudnetpy/instruments/nc_lidar.py,sha256=5gQG9PApnNPrHmS9_zanl8HEYIQuGRpbnzC3wfTcOyQ,1705
50
- cloudnetpy/instruments/nc_radar.py,sha256=ZNNmPdSF4yTVhq8CpnfgecH1DuYy7psc4YTxp3BLWRw,6724
50
+ cloudnetpy/instruments/nc_radar.py,sha256=AjPn3mkq5a1mE7YzKtZnxX5suNju9NhUq-TDvs7T_uU,6911
51
51
  cloudnetpy/instruments/pollyxt.py,sha256=TAhpwwV9EcFTg2Zb-Hjwc6PUetEkO4csGs74ghrpTe4,9899
52
52
  cloudnetpy/instruments/radiometrics.py,sha256=ySG4a042XkgjMTG8d20oAPNvFvw9bMwwiqS3zv-JF_w,11825
53
53
  cloudnetpy/instruments/rpg.py,sha256=IozvBJ8_qXTPqtp58FQwRsoI5_aI3-kycpXugZkS0d4,17462
@@ -115,9 +115,9 @@ cloudnetpy/products/mie_lu_tables.nc,sha256=It4fYpqJXlqOgL8jeZ-PxGzP08PMrELIDVe5
115
115
  cloudnetpy/products/mwr_tools.py,sha256=rd7UC67O4fsIE5SaHVZ4qWvUJTj41ZGwgQWPwZzOM14,5377
116
116
  cloudnetpy/products/product_tools.py,sha256=uu4l6reuGbPcW3TgttbaSrqIKbyYGhBVTdnC7opKvmg,11101
117
117
  docs/source/conf.py,sha256=IKiFWw6xhUd8NrCg0q7l596Ck1d61XWeVjIFHVSG9Og,1490
118
- cloudnetpy-1.67.3.dist-info/LICENSE,sha256=wcZF72bdaoG9XugpyE95Juo7lBQOwLuTKBOhhtANZMM,1094
119
- cloudnetpy-1.67.3.dist-info/METADATA,sha256=QrnsmPKlK0kGbF6XogT2gmffoZ2ZEhKTjGY5ldJty0I,5793
120
- cloudnetpy-1.67.3.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
121
- cloudnetpy-1.67.3.dist-info/entry_points.txt,sha256=HhY7LwCFk4qFgDlXx_Fy983ZTd831WlhtdPIzV-Y3dY,51
122
- cloudnetpy-1.67.3.dist-info/top_level.txt,sha256=ibSPWRr6ojS1i11rtBFz2_gkIe68mggj7aeswYfaOo0,16
123
- cloudnetpy-1.67.3.dist-info/RECORD,,
118
+ cloudnetpy-1.67.4.dist-info/LICENSE,sha256=wcZF72bdaoG9XugpyE95Juo7lBQOwLuTKBOhhtANZMM,1094
119
+ cloudnetpy-1.67.4.dist-info/METADATA,sha256=DUMWfQX6VEeCONbm-gA6B7BxCGr7RWwYnIKHqNGXQgs,5793
120
+ cloudnetpy-1.67.4.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
121
+ cloudnetpy-1.67.4.dist-info/entry_points.txt,sha256=HhY7LwCFk4qFgDlXx_Fy983ZTd831WlhtdPIzV-Y3dY,51
122
+ cloudnetpy-1.67.4.dist-info/top_level.txt,sha256=ibSPWRr6ojS1i11rtBFz2_gkIe68mggj7aeswYfaOo0,16
123
+ cloudnetpy-1.67.4.dist-info/RECORD,,