rda-python-icoads 3.0.0__tar.gz → 3.0.2__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 (38) hide show
  1. {rda_python_icoads-3.0.0/src/rda_python_icoads.egg-info → rda_python_icoads-3.0.2}/PKG-INFO +2 -1
  2. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/pyproject.toml +2 -1
  3. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads/fillitable.py +5 -1
  4. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads/fillmonth.py +21 -7
  5. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2/src/rda_python_icoads.egg-info}/PKG-INFO +2 -1
  6. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads.egg-info/requires.txt +1 -0
  7. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/LICENSE +0 -0
  8. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/MANIFEST.in +0 -0
  9. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/README.md +0 -0
  10. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/setup.cfg +0 -0
  11. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads/PgIMMA.py +0 -0
  12. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads/R3.0-stat_doc.pdf +0 -0
  13. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads/README_R3.0_Subset.html +0 -0
  14. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads/__init__.py +0 -0
  15. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads/checkicoads.py +0 -0
  16. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads/cleanicoads.py +0 -0
  17. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads/countattm.py +0 -0
  18. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads/countattmvar.py +0 -0
  19. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads/counticoads.py +0 -0
  20. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads/countsst.py +0 -0
  21. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads/fillicoads.py +0 -0
  22. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads/fillinventory.py +0 -0
  23. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads/fixiidx.py +0 -0
  24. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads/imma1_subset.py +0 -0
  25. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads/maxsst.py +0 -0
  26. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads/msg +0 -0
  27. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads/msg3.0_subset_readme.txt +0 -0
  28. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads/msg3_subset.py +0 -0
  29. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads/msg_download.py +0 -0
  30. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads/msgsubset.f +0 -0
  31. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads/pg_imma.py +0 -0
  32. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads/rdimma1_csv.f +0 -0
  33. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads/writeicoads.py +0 -0
  34. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads.egg-info/SOURCES.txt +0 -0
  35. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads.egg-info/dependency_links.txt +0 -0
  36. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads.egg-info/entry_points.txt +0 -0
  37. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/src/rda_python_icoads.egg-info/top_level.txt +0 -0
  38. {rda_python_icoads-3.0.0 → rda_python_icoads-3.0.2}/tests/test_icoads.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rda_python_icoads
3
- Version: 3.0.0
3
+ Version: 3.0.2
4
4
  Summary: RDA python package to manage RDA ICOADS datasets
5
5
  Author-email: Zaihua Ji <zji@ucar.edu>
6
6
  Project-URL: Homepage, https://github.com/NCAR/rda-python-icoads
@@ -11,6 +11,7 @@ Classifier: Development Status :: 5 - Production/Stable
11
11
  Requires-Python: >=3.7
12
12
  Description-Content-Type: text/markdown
13
13
  License-File: LICENSE
14
+ Requires-Dist: numpy
14
15
  Requires-Dist: rda_python_common>=3.0.14
15
16
  Requires-Dist: rda_python_dsrqst>=2.0.4
16
17
  Dynamic: license-file
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
 
7
7
  [project]
8
8
  name = "rda_python_icoads"
9
- version = "3.0.0"
9
+ version = "3.0.2"
10
10
  authors = [
11
11
  { name="Zaihua Ji", email="zji@ucar.edu" },
12
12
  ]
@@ -20,6 +20,7 @@ classifiers = [
20
20
  "Development Status :: 5 - Production/Stable",
21
21
  ]
22
22
  dependencies = [
23
+ "numpy",
23
24
  "rda_python_common>=3.0.14",
24
25
  "rda_python_dsrqst>=2.0.4",
25
26
  ]
@@ -233,11 +233,15 @@ class FillItable(PgIMMA):
233
233
  else:
234
234
  self.pglog("{}({}): index counted already between {} and {}".format(var, val, pgrec['imin'], pgrec['imax']), self.LOGWRN)
235
235
 
236
- cnt = 0
236
+ cnt = ncnt = 0
237
237
  for val in records:
238
238
  pgrec = records[val]
239
+ if not pgrec:
240
+ ncnt += 1 # counted already; nothing to add
241
+ continue
239
242
  cnt += self.pgupdt(vtable, pgrec, "{} = {}".format(var, val), self.LGEREX)
240
243
 
244
+ if ncnt: self.pglog("{}: nothing to add for {} values counted already".format(vtable, ncnt), self.LOGWRN)
241
245
  self.pglog("{} of {} values recounted in table '{}'".format(cnt, vcnt, vtable), self.LOGWRN)
242
246
 
243
247
  #
@@ -24,7 +24,7 @@ class FillMonth(PgUtil):
24
24
  def __init__(self):
25
25
  super().__init__()
26
26
  self.CMDS = {
27
- 'filename' : "IMMA1_R3.0.2_",
27
+ 'filenames' : ["IMMA1_R3.0.2_", "IMMA1_R3.0.3_"], # IMMA1_R3.0.3_ since 2025-08
28
28
  'fillicoads' : "fillicoads -i ",
29
29
  'fillitable' : "fillitable -t -v dck pt sid -r ",
30
30
  'cdmsmonth' : "cdmsmonth "
@@ -64,17 +64,31 @@ class FillMonth(PgUtil):
64
64
  self.cmdlog()
65
65
  sys.exit(0)
66
66
 
67
+ #
68
+ # locate the monthly IMMA1 file, gunzip it if only the gzipped one is on file
69
+ #
70
+ def get_monthly_file(self, smonth):
71
+
72
+ files = [fname + smonth for fname in self.CMDS['filenames']]
73
+
74
+ for file in files:
75
+ if op.isfile(file): return file
76
+
77
+ for file in files:
78
+ zfile = file + ".gz"
79
+ if op.isfile(zfile):
80
+ self.pgsystem("gunzip " + zfile, self.LGEREX, 5)
81
+ return file
82
+
83
+ self.pglog("Miss monthly IMMA1 file, gzipped or not, in {}: {}".format(
84
+ op.abspath('.'), ', '.join(files)), self.LGEREX)
85
+
67
86
  #
68
87
  # fill monthly IMMA1 data to IVADDB
69
88
  #
70
89
  def fill_monthly_data(self, smonth, srange):
71
90
 
72
- file = self.CMDS['filename'] + smonth
73
-
74
- if not op.isfile(file):
75
- # unzip file
76
- cmd = "gunzip {}.gz".format(file)
77
- self.pgsystem(cmd, self.LGWNEX, 5)
91
+ file = self.get_monthly_file(smonth)
78
92
 
79
93
  # fillicoads
80
94
  cmd = self.CMDS['fillicoads'] + file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rda_python_icoads
3
- Version: 3.0.0
3
+ Version: 3.0.2
4
4
  Summary: RDA python package to manage RDA ICOADS datasets
5
5
  Author-email: Zaihua Ji <zji@ucar.edu>
6
6
  Project-URL: Homepage, https://github.com/NCAR/rda-python-icoads
@@ -11,6 +11,7 @@ Classifier: Development Status :: 5 - Production/Stable
11
11
  Requires-Python: >=3.7
12
12
  Description-Content-Type: text/markdown
13
13
  License-File: LICENSE
14
+ Requires-Dist: numpy
14
15
  Requires-Dist: rda_python_common>=3.0.14
15
16
  Requires-Dist: rda_python_dsrqst>=2.0.4
16
17
  Dynamic: license-file
@@ -1,2 +1,3 @@
1
+ numpy
1
2
  rda_python_common>=3.0.14
2
3
  rda_python_dsrqst>=2.0.4