cloudnetpy-qc 1.19.5__py3-none-any.whl → 1.21.0__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.
- cloudnetpy_qc/data/area-type-table.xml +23 -5
- cloudnetpy_qc/data/cf-standard-name-table.xml +4456 -11658
- cloudnetpy_qc/data/standardized-region-list.xml +8 -2
- cloudnetpy_qc/quality.py +23 -1
- cloudnetpy_qc/variables.py +101 -0
- cloudnetpy_qc/version.py +2 -2
- {cloudnetpy_qc-1.19.5.dist-info → cloudnetpy_qc-1.21.0.dist-info}/METADATA +2 -1
- cloudnetpy_qc-1.21.0.dist-info/RECORD +15 -0
- {cloudnetpy_qc-1.19.5.dist-info → cloudnetpy_qc-1.21.0.dist-info}/WHEEL +1 -1
- cloudnetpy_qc-1.19.5.dist-info/RECORD +0 -15
- {cloudnetpy_qc-1.19.5.dist-info → cloudnetpy_qc-1.21.0.dist-info}/LICENSE +0 -0
- {cloudnetpy_qc-1.19.5.dist-info → cloudnetpy_qc-1.21.0.dist-info}/top_level.txt +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<?xml version="1.0"?>
|
|
2
2
|
<standardized_region_list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="region-list-1.1.xsd">
|
|
3
3
|
<title>Standardized Region List</title>
|
|
4
|
-
<version_number>
|
|
5
|
-
<date>
|
|
4
|
+
<version_number>5</version_number>
|
|
5
|
+
<date>12 November 2024</date>
|
|
6
6
|
<institution>Centre for Environmental Data Analysis</institution>
|
|
7
7
|
<contact>support@ceda.ac.uk</contact>
|
|
8
8
|
<entry id="africa">
|
|
@@ -176,6 +176,9 @@
|
|
|
176
176
|
<entry id="north_sea">
|
|
177
177
|
<description></description>
|
|
178
178
|
</entry>
|
|
179
|
+
<entry id="northern_hemisphere">
|
|
180
|
+
<description></description>
|
|
181
|
+
</entry>
|
|
179
182
|
<entry id="norwegian_sea">
|
|
180
183
|
<description></description>
|
|
181
184
|
</entry>
|
|
@@ -206,6 +209,9 @@
|
|
|
206
209
|
<entry id="south_china_sea">
|
|
207
210
|
<description></description>
|
|
208
211
|
</entry>
|
|
212
|
+
<entry id="southern_hemisphere">
|
|
213
|
+
<description></description>
|
|
214
|
+
</entry>
|
|
209
215
|
<entry id="southern_ocean">
|
|
210
216
|
<description></description>
|
|
211
217
|
</entry>
|
cloudnetpy_qc/quality.py
CHANGED
|
@@ -226,6 +226,8 @@ class FindVariableOutliers(Test):
|
|
|
226
226
|
Product.MWR_MULTI,
|
|
227
227
|
):
|
|
228
228
|
return None
|
|
229
|
+
if key == "height" and self.product == Product.CPR:
|
|
230
|
+
return None
|
|
229
231
|
if key == "air_pressure":
|
|
230
232
|
pressure = utils.calc_pressure(self.nc["altitude"][:])
|
|
231
233
|
max_diff = pressure * 0.05
|
|
@@ -655,6 +657,17 @@ class TestRainfallConsistency(Test):
|
|
|
655
657
|
# -------------------- #
|
|
656
658
|
|
|
657
659
|
|
|
660
|
+
class TestDataModel(Test):
|
|
661
|
+
name = "Data model"
|
|
662
|
+
description = "Test netCDF data model."
|
|
663
|
+
|
|
664
|
+
def run(self):
|
|
665
|
+
expected = "NETCDF4_CLASSIC"
|
|
666
|
+
received = self.nc.data_model
|
|
667
|
+
if expected != received:
|
|
668
|
+
self._add_error(utils.create_expected_received_msg(expected, received))
|
|
669
|
+
|
|
670
|
+
|
|
658
671
|
class TestBrightnessTemperature(Test):
|
|
659
672
|
name = "Brightness temperature"
|
|
660
673
|
description = "Test that brightness temperature data are valid."
|
|
@@ -987,7 +1000,16 @@ class TestInstrumentPid(Test):
|
|
|
987
1000
|
"https://vocabulary.actris.nilu.no/actris_vocab/ThiesLPM",
|
|
988
1001
|
],
|
|
989
1002
|
"Thies Clima LPM": ["https://vocabulary.actris.nilu.no/actris_vocab/ThiesLPM"],
|
|
1003
|
+
"Vaisala WindCube WLS70": [
|
|
1004
|
+
"https://vocabulary.actris.nilu.no/actris_vocab/VaisalaWindCubeWLS70"
|
|
1005
|
+
],
|
|
1006
|
+
"Vaisala WindCube WLS100S": [
|
|
1007
|
+
"https://vocabulary.actris.nilu.no/actris_vocab/VaisalaWindCube100S"
|
|
1008
|
+
],
|
|
990
1009
|
"Vaisala WindCube WLS200S": [
|
|
991
|
-
"https://vocabulary.actris.nilu.no/
|
|
1010
|
+
"https://vocabulary.actris.nilu.no/actris_vocab/VaisalaWindCube200S"
|
|
1011
|
+
],
|
|
1012
|
+
"Vaisala WindCube WLS400S": [
|
|
1013
|
+
"https://vocabulary.actris.nilu.no/actris_vocab/VaisalaWindCube400S"
|
|
992
1014
|
],
|
|
993
1015
|
}
|
cloudnetpy_qc/variables.py
CHANGED
|
@@ -40,6 +40,7 @@ class Product(Enum):
|
|
|
40
40
|
L3_CF = "l3-cf"
|
|
41
41
|
L3_IWC = "l3-iwc"
|
|
42
42
|
L3_LWC = "l3-lwc"
|
|
43
|
+
CPR = "cpr-simulation"
|
|
43
44
|
|
|
44
45
|
@classmethod
|
|
45
46
|
def all(cls) -> set[Product]:
|
|
@@ -74,6 +75,7 @@ LEVELS: dict[Product, Level] = {
|
|
|
74
75
|
Product.L3_CF: "3",
|
|
75
76
|
Product.L3_IWC: "3",
|
|
76
77
|
Product.L3_LWC: "3",
|
|
78
|
+
Product.CPR: "3",
|
|
77
79
|
}
|
|
78
80
|
|
|
79
81
|
|
|
@@ -789,6 +791,105 @@ VARIABLES = {
|
|
|
789
791
|
],
|
|
790
792
|
dtype=Dtype.INT,
|
|
791
793
|
),
|
|
794
|
+
# ---------------------------------------
|
|
795
|
+
# Required in cpr-simulation Level 3 file
|
|
796
|
+
# ---------------------------------------
|
|
797
|
+
"sat_ifov": Variable(
|
|
798
|
+
long_name="Satellite instantaneous field of view",
|
|
799
|
+
units="m",
|
|
800
|
+
required=[Product.CPR],
|
|
801
|
+
),
|
|
802
|
+
"sat_range_resolution": Variable(
|
|
803
|
+
long_name="Satellite range resolution",
|
|
804
|
+
units="m",
|
|
805
|
+
required=[Product.CPR],
|
|
806
|
+
),
|
|
807
|
+
"sat_along_track_resolution": Variable(
|
|
808
|
+
long_name="Satellite along-track resolution",
|
|
809
|
+
units="m",
|
|
810
|
+
required=[Product.CPR],
|
|
811
|
+
),
|
|
812
|
+
"ze": Variable(
|
|
813
|
+
long_name="Radar reflectivity factor of input",
|
|
814
|
+
units="dBZ",
|
|
815
|
+
required=[Product.CPR],
|
|
816
|
+
),
|
|
817
|
+
"vm": Variable(
|
|
818
|
+
long_name="Mean Doppler velocity of input",
|
|
819
|
+
units="m s-1",
|
|
820
|
+
required=[Product.CPR],
|
|
821
|
+
),
|
|
822
|
+
"ze_sat": Variable(
|
|
823
|
+
long_name="Convolved and integrated radar reflectivity factor",
|
|
824
|
+
units="dBZ",
|
|
825
|
+
required=[Product.CPR],
|
|
826
|
+
),
|
|
827
|
+
"vm_sat": Variable(
|
|
828
|
+
long_name="Convolved and integrated mean Doppler velocity",
|
|
829
|
+
units="m s-1",
|
|
830
|
+
required=[Product.CPR],
|
|
831
|
+
),
|
|
832
|
+
"vm_sat_vel": Variable(
|
|
833
|
+
long_name="Convolved and integrated mean Doppler velocity with satellite motion error",
|
|
834
|
+
units="m s-1",
|
|
835
|
+
required=[Product.CPR],
|
|
836
|
+
),
|
|
837
|
+
"vm_sat_noise": Variable(
|
|
838
|
+
long_name="Convolved and integrated mean Doppler velocity with noise and satellite motion error",
|
|
839
|
+
units="m s-1",
|
|
840
|
+
required=[Product.CPR],
|
|
841
|
+
),
|
|
842
|
+
"ze_sat_noise": Variable(
|
|
843
|
+
long_name="Convolved and integrated radar reflectivity factor with noise",
|
|
844
|
+
units="dBZ",
|
|
845
|
+
required=[Product.CPR],
|
|
846
|
+
),
|
|
847
|
+
"vm_sat_folded": Variable(
|
|
848
|
+
long_name="Doppler velocity with noise, satellite motion error, and folding",
|
|
849
|
+
units="m s-1",
|
|
850
|
+
required=[Product.CPR],
|
|
851
|
+
),
|
|
852
|
+
"nubf": Variable(
|
|
853
|
+
long_name="Non-uniform beam filling",
|
|
854
|
+
units="dBZ",
|
|
855
|
+
required=[Product.CPR],
|
|
856
|
+
),
|
|
857
|
+
"nubf_flag": Variable(
|
|
858
|
+
long_name="Non-uniform beam filling flag",
|
|
859
|
+
dtype=Dtype.INT,
|
|
860
|
+
required=[Product.CPR],
|
|
861
|
+
),
|
|
862
|
+
"ms_flag": Variable(
|
|
863
|
+
long_name="Multiple scattering flag",
|
|
864
|
+
dtype=Dtype.INT,
|
|
865
|
+
required=[Product.CPR],
|
|
866
|
+
),
|
|
867
|
+
"folding_flag": Variable(
|
|
868
|
+
long_name="Folding flag",
|
|
869
|
+
dtype=Dtype.INT,
|
|
870
|
+
required=[Product.CPR],
|
|
871
|
+
),
|
|
872
|
+
"along_track_sat": Variable(
|
|
873
|
+
long_name="Along-track distance at satellite resolution",
|
|
874
|
+
units="m",
|
|
875
|
+
required=[Product.CPR],
|
|
876
|
+
),
|
|
877
|
+
"along_track": Variable(
|
|
878
|
+
long_name="Along-track distance",
|
|
879
|
+
units="m",
|
|
880
|
+
required=[Product.CPR],
|
|
881
|
+
),
|
|
882
|
+
"mean_wind": Variable(
|
|
883
|
+
long_name="Mean horizontal wind",
|
|
884
|
+
units="m s-1",
|
|
885
|
+
required=[Product.CPR],
|
|
886
|
+
),
|
|
887
|
+
"height_sat": Variable(
|
|
888
|
+
long_name="Height above mean sea level at satellite resolution",
|
|
889
|
+
units="m",
|
|
890
|
+
dtype=Dtype.FLOAT,
|
|
891
|
+
required=[Product.CPR],
|
|
892
|
+
),
|
|
792
893
|
# -------------------------
|
|
793
894
|
# Required in several files
|
|
794
895
|
# -------------------------
|
cloudnetpy_qc/version.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: cloudnetpy_qc
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.21.0
|
|
4
4
|
Summary: Quality control routines for CloudnetPy products
|
|
5
5
|
Author-email: Finnish Meteorological Institute <actris-cloudnet@fmi.fi>
|
|
6
6
|
License: MIT License
|
|
@@ -136,6 +136,7 @@ print(json_object)
|
|
|
136
136
|
| `TestCFConvention` | Test compliance with the CF metadata conventions. |
|
|
137
137
|
| `TestComment` | Check that variables have expected comments. |
|
|
138
138
|
| `TestDataCoverage` | Test that file contains enough data. |
|
|
139
|
+
| `TestDataModel` | Test netCDF data model. |
|
|
139
140
|
| `TestDataTypes` | Check that variables have expected data types. |
|
|
140
141
|
| `TestFillValue` | Test that fill value is explicitly set for variables with missing data. |
|
|
141
142
|
| `TestFloatingPointValues` | Test for special floating-point values which may indicate problems with the processing. |
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
cloudnetpy_qc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
cloudnetpy_qc/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
|
+
cloudnetpy_qc/quality.py,sha256=ToBErPLERhh08ZBFE-7-tOpHAr23lMI71upCpP5ezQI,34679
|
|
4
|
+
cloudnetpy_qc/utils.py,sha256=ssRqu8Auz7YpfZ79mTKmms4DkP9_ExLthbIpQGNq4jc,3270
|
|
5
|
+
cloudnetpy_qc/variables.py,sha256=Jg1H-4yrqzuE0YLuj6PJI1NKIzKbyCnPyUcFePTN9Qs,50055
|
|
6
|
+
cloudnetpy_qc/version.py,sha256=rWrguHf8ML_3gjxW3MeDMxnaSjhpNs88CWM3QPUDymE,102
|
|
7
|
+
cloudnetpy_qc/data/area-type-table.xml,sha256=F3lzCQR5LjmsB7qhlBt3CpZRNAH3UZoYJs6fmkvmCCM,17203
|
|
8
|
+
cloudnetpy_qc/data/cf-standard-name-table.xml,sha256=BO6fEXQB6SRDeyP0wb7nyv3koKflM1s-0dIlgNF0KAI,4374043
|
|
9
|
+
cloudnetpy_qc/data/data_quality_config.ini,sha256=URRc93Du2_YFX6Q7GxMHptKIVl6kwxXw-kVyftmsEJk,1242
|
|
10
|
+
cloudnetpy_qc/data/standardized-region-list.xml,sha256=gLRE2G7RQLD9hmvW5dTzyK7XPhORxWv2bfbrvAp5Uto,6426
|
|
11
|
+
cloudnetpy_qc-1.21.0.dist-info/LICENSE,sha256=P0wszB7Cq2M390SKaqT4DGvECfwGOMdTTdxsWBpEUUc,1094
|
|
12
|
+
cloudnetpy_qc-1.21.0.dist-info/METADATA,sha256=gzSIXetl6_bRksEOmUl3emxK9oq6FiYd7hhiJco570w,7820
|
|
13
|
+
cloudnetpy_qc-1.21.0.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
|
|
14
|
+
cloudnetpy_qc-1.21.0.dist-info/top_level.txt,sha256=shrf8A1KyrrnhbHocc4gHmTl38YY-DHflgf-gXiKnKs,14
|
|
15
|
+
cloudnetpy_qc-1.21.0.dist-info/RECORD,,
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
cloudnetpy_qc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
cloudnetpy_qc/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
|
-
cloudnetpy_qc/quality.py,sha256=eWnZLAzohJZPitiaNFHtVN2J-caBX1Fer19ofgRcabE,33913
|
|
4
|
-
cloudnetpy_qc/utils.py,sha256=ssRqu8Auz7YpfZ79mTKmms4DkP9_ExLthbIpQGNq4jc,3270
|
|
5
|
-
cloudnetpy_qc/variables.py,sha256=fWLqJvpABimNlcZocqx9Mr4laSVZfhvHQ1-6OC8nZy8,46973
|
|
6
|
-
cloudnetpy_qc/version.py,sha256=hnhoyQ74uur9emNcb6Z1_VRqo1tIOJGD4HSEJKQVxUw,102
|
|
7
|
-
cloudnetpy_qc/data/area-type-table.xml,sha256=ePvw1b95ng3rNSQ7rDQFWtWjhJvMgCkkz53LRN-NVMo,14435
|
|
8
|
-
cloudnetpy_qc/data/cf-standard-name-table.xml,sha256=X_gbS481eXsxydGEsdYDYkU-idiB02GqpXloR5YfgF4,4135875
|
|
9
|
-
cloudnetpy_qc/data/data_quality_config.ini,sha256=URRc93Du2_YFX6Q7GxMHptKIVl6kwxXw-kVyftmsEJk,1242
|
|
10
|
-
cloudnetpy_qc/data/standardized-region-list.xml,sha256=65RqAqEFLwC01iAwkFEitPbAPEnjaCMcKYg2utjttls,6274
|
|
11
|
-
cloudnetpy_qc-1.19.5.dist-info/LICENSE,sha256=P0wszB7Cq2M390SKaqT4DGvECfwGOMdTTdxsWBpEUUc,1094
|
|
12
|
-
cloudnetpy_qc-1.19.5.dist-info/METADATA,sha256=3ifzxGgvSM7shI8_5uhD-FTmnoZwSAlp1eKGm-9edrk,7698
|
|
13
|
-
cloudnetpy_qc-1.19.5.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
14
|
-
cloudnetpy_qc-1.19.5.dist-info/top_level.txt,sha256=shrf8A1KyrrnhbHocc4gHmTl38YY-DHflgf-gXiKnKs,14
|
|
15
|
-
cloudnetpy_qc-1.19.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|