cloudnetpy 1.72.2__py3-none-any.whl → 1.72.3__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.
@@ -7,7 +7,7 @@ from numpy import ma
7
7
  from cloudnetpy import utils
8
8
  from cloudnetpy.cloudnetarray import CloudnetArray
9
9
  from cloudnetpy.exceptions import ValidTimeStampError
10
- from cloudnetpy.instruments.instruments import BASTA, FMCW35, FMCW94, HATPRO, Instrument
10
+ from cloudnetpy.instruments.instruments import BASTA, FMCW35, FMCW94, Instrument
11
11
 
12
12
 
13
13
  class CloudnetInstrument:
@@ -23,12 +23,13 @@ class CloudnetInstrument:
23
23
  for key in ("latitude", "longitude", "altitude"):
24
24
  value = None
25
25
  source = None
26
- # From source data (BASTA, RPG-FMCW, HATPRO).
26
+ # From source data (BASTA, RPG-FMCW).
27
27
  # Should be the accurate GPS coordinates.
28
+ # HATPRO is handled elsewhere.
28
29
  if (
29
30
  value is None
30
31
  and self.instrument is not None
31
- and self.instrument in (BASTA, FMCW94, FMCW35, HATPRO)
32
+ and self.instrument in (BASTA, FMCW94, FMCW35)
32
33
  ):
33
34
  data = None
34
35
  if (
@@ -106,9 +106,21 @@ def hatpro2l1c(
106
106
  if "irt" in hatpro.data:
107
107
  hatpro.data["irt"].dimensions = ("time", "ir_channel")
108
108
 
109
- for key in ("latitude", "longitude", "altitude"):
110
- value = float(ma.mean(hatpro.data[key].data))
111
- hatpro.data[key] = CloudnetArray(value, key)
109
+ lat = hatpro.data["latitude"].data
110
+ lon = hatpro.data["longitude"].data
111
+ valid_latlon = (lat != 0) | (lon != 0)
112
+ if np.any(valid_latlon):
113
+ lat = float(ma.mean(lat[valid_latlon]))
114
+ lon = float(ma.mean(lon[valid_latlon]))
115
+ latlon_source = "GPS"
116
+ else:
117
+ lat = site_meta["latitude"]
118
+ lon = site_meta["longitude"]
119
+ latlon_source = "site coordinates"
120
+ alt = float(site_meta["altitude"])
121
+ hatpro.data["latitude"] = CloudnetArray(lat, "latitude", source=latlon_source)
122
+ hatpro.data["longitude"] = CloudnetArray(lon, "longitude", source=latlon_source)
123
+ hatpro.data["altitude"] = CloudnetArray(alt, "altitude", source="site coordinates")
112
124
 
113
125
  attrs_copy = ATTRIBUTES_1B01.copy()
114
126
  attributes = output.add_time_attribute(attrs_copy, hatpro.date)
cloudnetpy/version.py CHANGED
@@ -1,4 +1,4 @@
1
1
  MAJOR = 1
2
2
  MINOR = 72
3
- PATCH = 2
3
+ PATCH = 3
4
4
  __version__ = f"{MAJOR}.{MINOR}.{PATCH}"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cloudnetpy
3
- Version: 1.72.2
3
+ Version: 1.72.3
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=BDEpgwZ58PHznc1gi11gtNNV4kFiMAmlHnF4huTy7nw,5982
9
9
  cloudnetpy/output.py,sha256=l0LoOhcGCBrg2EJ4NT1xZ7-UKWdV7X7yQ0fJmhkwJVc,15829
10
10
  cloudnetpy/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  cloudnetpy/utils.py,sha256=U0iMIKPiKLrLVAfs_u9pPuoWYW1RJHcM8dbLF9a4yIA,29796
12
- cloudnetpy/version.py,sha256=BtuV33bUwNC3aqZLwqUU4LXvhJ0WO9OsQbaPQEj2myA,72
12
+ cloudnetpy/version.py,sha256=VZyDjYqkZF5bawPUyoO9efabZW4A0aKtVUmrLqcEnGE,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
@@ -37,10 +37,10 @@ cloudnetpy/instruments/basta.py,sha256=Lb_EhQTI93S5Bd9osDbCE_tC8gZreRsHz7D2_dFOj
37
37
  cloudnetpy/instruments/ceilo.py,sha256=rkP6Vo90eS5ZhnKxZpnkuiG5ZEP86lDK8zRqoMY1aqg,9498
38
38
  cloudnetpy/instruments/ceilometer.py,sha256=pdmLVljsuciyKpaGxWxJ_f1IrJK-UrkBC0lSeuirLlU,12095
39
39
  cloudnetpy/instruments/cl61d.py,sha256=g6DNBFju3wYhLFl32DKmC8pUup7y-EupXoUU0fuoGGA,1990
40
- cloudnetpy/instruments/cloudnet_instrument.py,sha256=0yA8qtlCfjeLtSVpsrMSC8fwZzg_np2a2vRcq2Q79oA,6935
40
+ cloudnetpy/instruments/cloudnet_instrument.py,sha256=3lKAhGd6RZx9tuyX86uJTrrkdHNRmICsmk0ZV7TkE5Q,6954
41
41
  cloudnetpy/instruments/copernicus.py,sha256=99idcn6-iKOSvSslNjwFRng3gwlTLFjKPiT1tnVytpQ,6613
42
42
  cloudnetpy/instruments/galileo.py,sha256=BjWE15_S3tTCOmAM5k--oicI3wghKaO0hv9EUBxtbl8,4830
43
- cloudnetpy/instruments/hatpro.py,sha256=tIwnwM3MmtmR-LrDbUlanoXAze8Y0Pnmvx5jhLdId7Q,9092
43
+ cloudnetpy/instruments/hatpro.py,sha256=_k6vZzgI9BUQ9Razge2IdaQEdrhT3tCxnplU2p5ijPc,9629
44
44
  cloudnetpy/instruments/instruments.py,sha256=97hHMjp8fp2IKihr0XJYY3BrOlBArU7gYwYmt3OxqvU,4124
45
45
  cloudnetpy/instruments/lufft.py,sha256=nIoEKuuFGKq2dLqkX7zW-HpAifefG472tZhKfXE1yoA,4212
46
46
  cloudnetpy/instruments/mira.py,sha256=Wofp8HbiAwJce_IbOLjpEFV07H_Kh4170C9Wygiz-ew,11401
@@ -115,10 +115,10 @@ cloudnetpy/products/lwc.py,sha256=sl6Al2tuH3KkCBrPbWTmuz3jlD5UQJ4D6qBsn1tt2CQ,18
115
115
  cloudnetpy/products/mie_lu_tables.nc,sha256=It4fYpqJXlqOgL8jeZ-PxGzP08PMrELIDVe55y9ob58,16637951
116
116
  cloudnetpy/products/mwr_tools.py,sha256=rd7UC67O4fsIE5SaHVZ4qWvUJTj41ZGwgQWPwZzOM14,5377
117
117
  cloudnetpy/products/product_tools.py,sha256=uu4l6reuGbPcW3TgttbaSrqIKbyYGhBVTdnC7opKvmg,11101
118
- cloudnetpy-1.72.2.dist-info/licenses/LICENSE,sha256=wcZF72bdaoG9XugpyE95Juo7lBQOwLuTKBOhhtANZMM,1094
118
+ cloudnetpy-1.72.3.dist-info/licenses/LICENSE,sha256=wcZF72bdaoG9XugpyE95Juo7lBQOwLuTKBOhhtANZMM,1094
119
119
  docs/source/conf.py,sha256=IKiFWw6xhUd8NrCg0q7l596Ck1d61XWeVjIFHVSG9Og,1490
120
- cloudnetpy-1.72.2.dist-info/METADATA,sha256=-ghMOCfGJeLwiSHAU3cHY8fKan77DiKabJtlblp0SoA,5796
121
- cloudnetpy-1.72.2.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
122
- cloudnetpy-1.72.2.dist-info/entry_points.txt,sha256=HhY7LwCFk4qFgDlXx_Fy983ZTd831WlhtdPIzV-Y3dY,51
123
- cloudnetpy-1.72.2.dist-info/top_level.txt,sha256=ibSPWRr6ojS1i11rtBFz2_gkIe68mggj7aeswYfaOo0,16
124
- cloudnetpy-1.72.2.dist-info/RECORD,,
120
+ cloudnetpy-1.72.3.dist-info/METADATA,sha256=eKefOUz7gfLWg1dMP0-2GqIkWGPzjinAVmdzO05iNOs,5796
121
+ cloudnetpy-1.72.3.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
122
+ cloudnetpy-1.72.3.dist-info/entry_points.txt,sha256=HhY7LwCFk4qFgDlXx_Fy983ZTd831WlhtdPIzV-Y3dY,51
123
+ cloudnetpy-1.72.3.dist-info/top_level.txt,sha256=ibSPWRr6ojS1i11rtBFz2_gkIe68mggj7aeswYfaOo0,16
124
+ cloudnetpy-1.72.3.dist-info/RECORD,,