nctoolkit 1.2.3__tar.gz → 1.2.5__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 (98) hide show
  1. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/PKG-INFO +1 -1
  2. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/cleanup.py +7 -1
  3. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/mergers.py +8 -3
  4. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/mp_adders.py +11 -1
  5. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/mp_matchups.py +2 -1
  6. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/verticals.py +7 -8
  7. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/setup.py +1 -1
  8. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/CITATION.cff +0 -0
  9. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/CODE_OF_CONDUCT.md +0 -0
  10. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/CONTRIBUTIONS.md +0 -0
  11. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/LICENSE +0 -0
  12. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/MANIFEST.in +0 -0
  13. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/README.md +0 -0
  14. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/benchmarks/benchmark_nctoolkit_versus_xarray.ipynb +0 -0
  15. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/cheatsheet/nctoolkit_cheatsheet.pdf +0 -0
  16. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/cheatsheet/nctoolkit_cheatsheet.pptx +0 -0
  17. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/checklists/api_checker.ipynb +0 -0
  18. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/data/geotiff.tif +0 -0
  19. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/data/pubplot_test.png +0 -0
  20. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/data/test1.html +0 -0
  21. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/data/test2.html +0 -0
  22. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/__init__.py +0 -0
  23. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/add_etc.py +0 -0
  24. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/anomaly.py +0 -0
  25. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/api.py +0 -0
  26. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/append.py +0 -0
  27. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/assign.py +0 -0
  28. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/cdo_command.py +0 -0
  29. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/cellareas.py +0 -0
  30. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/centres.py +0 -0
  31. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/checks.py +0 -0
  32. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/clear.py +0 -0
  33. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/compare.py +0 -0
  34. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/compare_data.py +0 -0
  35. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/corr.py +0 -0
  36. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/create_ensemble.py +0 -0
  37. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/crop.py +0 -0
  38. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/deprecated.py +0 -0
  39. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/distgrid.py +0 -0
  40. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/drop.py +0 -0
  41. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/ensembles.py +0 -0
  42. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/esoteric.py +0 -0
  43. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/experimental.py +0 -0
  44. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/fill.py +0 -0
  45. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/flatten.py +0 -0
  46. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/fldstat.py +0 -0
  47. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/format.py +0 -0
  48. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/generate_grid.py +0 -0
  49. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/inttime.py +0 -0
  50. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/invert.py +0 -0
  51. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/masking.py +0 -0
  52. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/matchpoint.py +0 -0
  53. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/meridonials.py +0 -0
  54. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/mp_matchers.py +0 -0
  55. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/nco_command.py +0 -0
  56. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/phenology.py +0 -0
  57. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/plot.py +0 -0
  58. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/reduce.py +0 -0
  59. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/reduce_grid.py +0 -0
  60. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/regrid.py +0 -0
  61. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/remove.py +0 -0
  62. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/rename.py +0 -0
  63. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/resample.py +0 -0
  64. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/rollstat.py +0 -0
  65. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/run.py +0 -0
  66. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/runners.py +0 -0
  67. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/runthis.py +0 -0
  68. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/session.py +0 -0
  69. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/set.py +0 -0
  70. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/setters.py +0 -0
  71. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/shape.py +0 -0
  72. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/shift.py +0 -0
  73. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/show.py +0 -0
  74. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/split.py +0 -0
  75. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/static_plot.py +0 -0
  76. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/strip_vars.py +0 -0
  77. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/subset.py +0 -0
  78. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/sumall.py +0 -0
  79. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/temp_file.py +0 -0
  80. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/temporal_stat.py +0 -0
  81. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/temporals.py +0 -0
  82. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/thresholds.py +0 -0
  83. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/to_lonlat.py +0 -0
  84. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/to_nc.py +0 -0
  85. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/toxarray.py +0 -0
  86. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/tozlev.py +0 -0
  87. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/unify.py +0 -0
  88. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/utils.py +0 -0
  89. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/validator.py +0 -0
  90. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/validator_funs.py +0 -0
  91. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/zip.py +0 -0
  92. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit/zonals.py +0 -0
  93. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/nctoolkit.egg-info/SOURCES.txt +0 -0
  94. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/pyproject.toml +0 -0
  95. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/requirements.txt +0 -0
  96. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/setup.cfg +0 -0
  97. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/testing/test_parallel.py +0 -0
  98. {nctoolkit-1.2.3 → nctoolkit-1.2.5}/testing/test_scripting.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nctoolkit
3
- Version: 1.2.3
3
+ Version: 1.2.5
4
4
  Summary: A Python package for netCDF analysis and post-processing
5
5
  Home-page: https://github.com/pmlmodelling/nctoolkit
6
6
  Author: Robert Wilson
@@ -81,7 +81,7 @@ def cleanup():
81
81
  session_info["temp_dir"] = "/tmp/"
82
82
 
83
83
 
84
- def clean_all():
84
+ def clean_all(x = None, y = None):
85
85
  """
86
86
  Remove all temporary files created by nctoolkit in the present session
87
87
  """
@@ -91,6 +91,10 @@ def clean_all():
91
91
  # or would attempt to create after
92
92
  # operation failure
93
93
  # It also finds temp files generated by ncea that are still on the system
94
+ if x is not None:
95
+ return None
96
+ if y is not None:
97
+ return None
94
98
 
95
99
  candidates = []
96
100
  for directory in get_tempdirs():
@@ -142,6 +146,8 @@ def temp_check():
142
146
  mylist = mylist + [f for f in glob.glob("/usr/tmp/*")]
143
147
  mylist = [f for f in mylist if "nctoolkit" in f]
144
148
 
149
+ session_info["old_files"] = mylist
150
+
145
151
  if len(mylist) > 0:
146
152
  if len(mylist) == 1:
147
153
  print(
@@ -216,9 +216,14 @@ def merge(self, join="variables", match=["year", "month", "day"], check=True):
216
216
  all_df = []
217
217
  if len(all_times) > 1:
218
218
  for i in range(0, len(all_times)):
219
- month = [v.month for v in all_times[i]]
220
- year = [v.year for v in all_times[i]]
221
- day = [v.day for v in all_times[i]]
219
+ try:
220
+ month = [v.month for v in all_times[i]]
221
+ year = [v.year for v in all_times[i]]
222
+ day = [v.day for v in all_times[i]]
223
+ except:
224
+ month = [int(str(v).split("T")[0].split("-")[1]) for v in all_times[i]]
225
+ year = [int(str(v).split("T")[0].split("-")[0]) for v in all_times[i]]
226
+ day = [int(str(v).split("T")[0].split("-")[2]) for v in all_times[i]]
222
227
  i_data = pd.DataFrame({"year": year, "month": month, "day": day})
223
228
  i_data = i_data.loc[:, match]
224
229
  all_df.append(i_data)
@@ -2,7 +2,7 @@ import pandas as pd
2
2
  from nctoolkit.api import open_data, open_thredds
3
3
  from nctoolkit.matchpoint import open_matchpoint
4
4
  import nctoolkit.api as api
5
-
5
+ import xarray as xr
6
6
 
7
7
  def match_points(
8
8
  ds=None,
@@ -91,6 +91,10 @@ def add_data(self, x=None, variables=None, depths=None, nan=None, top=False, qui
91
91
  Set to True to suppress output
92
92
 
93
93
  """
94
+ self.depths = None
95
+
96
+ invert = False
97
+
94
98
  thredds = False
95
99
  try:
96
100
  if len(x.history) == 0:
@@ -157,6 +161,7 @@ def add_data(self, x=None, variables=None, depths=None, nan=None, top=False, qui
157
161
  self.data = open_data(x, checks=False)
158
162
  # ds_vars = open_data(self.data[0], checks = False)
159
163
 
164
+
160
165
  if variables is None:
161
166
  if quiet is False:
162
167
  print("All variables will be used")
@@ -221,6 +226,11 @@ def add_data(self, x=None, variables=None, depths=None, nan=None, top=False, qui
221
226
  else:
222
227
  self.data = open_data(x, checks=False)
223
228
 
229
+ # if invert:
230
+ # self.depths.invert_levels()
231
+ # self.data.invert_levels()
232
+ # print("inverted")
233
+
224
234
  self.variables = variables
225
235
 
226
236
  if len(kwargs) > 0:
@@ -302,7 +302,8 @@ def matchup(self, tmean=False, regrid="bil", max_extrap=5, quiet = False):
302
302
  if self.variables is not None:
303
303
  ds.subset(variables=self.variables)
304
304
  if self.top:
305
- ds.top()
305
+ if len(ds.levels) > 1:
306
+ ds.cdo_command("topvalue")
306
307
 
307
308
  if self.temporal:
308
309
  for opt in ["day", "year", "month"]:
@@ -176,22 +176,21 @@ def vertical_interp(
176
176
  if surface is None:
177
177
  raise ValueError("Please provide surface")
178
178
 
179
- if fixed is None:
180
- if thickness is None:
181
- raise ValueError("You must provide the fixed arg")
182
-
183
179
  if depths is None:
184
180
  if fixed is False:
185
181
  if thickness is None:
186
- raise ValueError("Please provide thickness")
182
+ raise ValueError("Please provide thickness or depths")
183
+
184
+ if thickness is not None:
185
+ fixed = False
186
+
187
+ if depths is not None:
188
+ fixed = False
187
189
 
188
190
  if not isinstance(fixed, bool):
189
191
  if thickness is None:
190
192
  raise TypeError("fixed must be a bool")
191
193
 
192
- if thickness is not None:
193
- fixed = False
194
-
195
194
  if isinstance(levels, (int, float)):
196
195
  levels = [levels]
197
196
 
@@ -46,7 +46,7 @@ extras_require["complete"] = ["geoviews", "rioxarray", "cfchecker", "geocube", "
46
46
  REQUIREMENTS = [i.strip() for i in open("requirements.txt").readlines()]
47
47
 
48
48
  setup(name='nctoolkit',
49
- version='1.2.3',
49
+ version='1.2.5',
50
50
  description=DESCRIPTION,
51
51
  description_content_type='text/plain',
52
52
  long_description=LONG_DESCRIPTION,
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes