water-column-sonar-processing 25.1.2__tar.gz → 25.1.3__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.

Potentially problematic release.


This version of water-column-sonar-processing might be problematic. Click here for more details.

Files changed (56) hide show
  1. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/PKG-INFO +1 -1
  2. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/pyproject.toml +1 -1
  3. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/aws/dynamodb_manager.py +63 -12
  4. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/cruise/resample_regrid.py +6 -1
  5. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/model/zarr_manager.py +1 -1
  6. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/utility/constants.py +1 -1
  7. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing.egg-info/PKG-INFO +1 -1
  8. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/.env-test +0 -0
  9. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/.github/workflows/test_action.yaml +0 -0
  10. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/.gitignore +0 -0
  11. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/.pre-commit-config.yaml +0 -0
  12. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/.python-version +0 -0
  13. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/LICENSE +0 -0
  14. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/README.md +0 -0
  15. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/open-science-data-federation/ml/autoencoder_example.py +0 -0
  16. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/open-science-data-federation/osdf_examples/foo.ipynb +0 -0
  17. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/open-science-data-federation/osdf_examples/sonar_ai.ipynb +0 -0
  18. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/pytest.ini +0 -0
  19. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/requirements.txt +0 -0
  20. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/requirements_dev.txt +0 -0
  21. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/setup.cfg +0 -0
  22. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/tests/conftest.py +0 -0
  23. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/tests/test_process.py +0 -0
  24. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/tests/test_resources/index/calibrated_cruises.csv +0 -0
  25. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/tests/test_resources/raw_to_zarr/D20070724-T042400.bot +0 -0
  26. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/tests/test_resources/raw_to_zarr/D20070724-T042400.idx +0 -0
  27. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/tests/test_resources/raw_to_zarr/D20070724-T042400.raw +0 -0
  28. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/__init__.py +0 -0
  29. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/aws/__init__.py +0 -0
  30. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/aws/s3_manager.py +0 -0
  31. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/aws/s3fs_manager.py +0 -0
  32. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/aws/sns_manager.py +0 -0
  33. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/aws/sqs_manager.py +0 -0
  34. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/cruise/__init__.py +0 -0
  35. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/cruise/create_empty_zarr_store.py +0 -0
  36. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/cruise/datatree_manager.py +0 -0
  37. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/geometry/__init__.py +0 -0
  38. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/geometry/elevation_manager.py +0 -0
  39. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/geometry/geometry_manager.py +0 -0
  40. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/geometry/geometry_simplification.py +0 -0
  41. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/geometry/pmtile_generation.py +0 -0
  42. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/index/__init__.py +0 -0
  43. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/index/index_manager.py +0 -0
  44. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/model/__init__.py +0 -0
  45. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/process.py +0 -0
  46. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/processing/__init__.py +0 -0
  47. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/processing/batch_downloader.py +0 -0
  48. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/processing/raw_to_zarr.py +0 -0
  49. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/utility/__init__.py +0 -0
  50. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/utility/cleaner.py +0 -0
  51. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/utility/pipeline_status.py +0 -0
  52. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing/utility/timestamp.py +0 -0
  53. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing.egg-info/SOURCES.txt +0 -0
  54. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing.egg-info/dependency_links.txt +0 -0
  55. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing.egg-info/requires.txt +0 -0
  56. {water_column_sonar_processing-25.1.2 → water_column_sonar_processing-25.1.3}/water_column_sonar_processing.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: water_column_sonar_processing
3
- Version: 25.1.2
3
+ Version: 25.1.3
4
4
  Summary: A processing tool for water column sonar data.
5
5
  Author-email: Rudy Klucik <rudy.klucik@noaa.gov>
6
6
  Project-URL: Homepage, https://github.com/CI-CMG/water-column-sonar-processing
@@ -8,7 +8,7 @@ build-backend = "setuptools.build_meta"
8
8
 
9
9
  [project]
10
10
  name = "water_column_sonar_processing"
11
- version = "25.1.2"
11
+ version = "25.1.3"
12
12
  authors = [
13
13
  { name="Rudy Klucik", email="rudy.klucik@noaa.gov" },
14
14
  ]
@@ -140,15 +140,7 @@ class DynamoDBManager:
140
140
  To be used to initialize a cruise, deletes all entries associated with that cruise
141
141
  in the database.
142
142
  """
143
- expression_attribute_values = {
144
- ":cr": {"S": cruise_name},
145
- ":se": {"S": sensor_name},
146
- ":sh": {"S": ship_name},
147
- }
148
- filter_expression = (
149
- "CRUISE_NAME = :cr and SENSOR_NAME = :se and SHIP_NAME = :sh"
150
- )
151
- # filter_expression = "CRUISE_NAME = :cr"
143
+ filter_expression = "CRUISE_NAME = :cr"
152
144
  response = self.dynamodb_client.scan(
153
145
  TableName=table_name,
154
146
  # Limit=1000,
@@ -156,7 +148,7 @@ class DynamoDBManager:
156
148
  # ExclusiveStartKey=where to pick up
157
149
  #ReturnConsumedCapacity='INDEXES' | 'TOTAL' | 'NONE', ...not sure
158
150
  # ProjectionExpression='#SH, #CR, #FN', # what to specifically return — from expression_attribute_names
159
- FilterExpression='CRUISE_NAME = :cr',#
151
+ FilterExpression=filter_expression,
160
152
  # ExpressionAttributeNames={
161
153
  # '#SH': 'SHIP_NAME',
162
154
  # '#CR': 'CRUISE_NAME',
@@ -170,7 +162,6 @@ class DynamoDBManager:
170
162
  ConsistentRead=True
171
163
  # ExclusiveStartKey=response["LastEvaluatedKey"],
172
164
  )
173
- print(response)
174
165
  # Note: table.scan() has 1 MB limit on results so pagination is used
175
166
 
176
167
  if len(response["Items"]) == 0 and "LastEvaluatedKey" not in response:
@@ -183,7 +174,7 @@ class DynamoDBManager:
183
174
  TableName=table_name,
184
175
  ### Either 'Select' or 'ExpressionAttributeNames'/'ProjectionExpression'
185
176
  Select='ALL_ATTRIBUTES', # or 'SPECIFIC_ATTRIBUTES',
186
- FilterExpression='CRUISE_NAME = :cr', #
177
+ FilterExpression=filter_expression,
187
178
  #ProjectionExpression='#SH, #CR, #FN', # what to specifically return — from expression_attribute_names
188
179
  # ExpressionAttributeNames={ # would need to specify all cols in df
189
180
  # '#SH': 'SHIP_NAME',
@@ -205,6 +196,66 @@ class DynamoDBManager:
205
196
 
206
197
  return df.sort_values(by="START_TIME", ignore_index=True)
207
198
 
199
+ #####################################################################
200
+ # def get_cruise_list(
201
+ # self,
202
+ # table_name,
203
+ # ) -> list:
204
+ # """
205
+ # Experimental, gets all cruise names as list
206
+ # """
207
+ # filter_expression = "CRUISE_NAME = :cr"
208
+ # response = self.dynamodb_client.scan(
209
+ # TableName=table_name,
210
+ # Select='SPECIFIC_ATTRIBUTES',
211
+ # #ReturnConsumedCapacity='INDEXES' | 'TOTAL' | 'NONE', ...not sure
212
+ # # ProjectionExpression='#SH, #CR, #FN', # what to specifically return — from expression_attribute_names
213
+ # FilterExpression=filter_expression,
214
+ # # ExpressionAttributeNames={
215
+ # # '#SH': 'SHIP_NAME',
216
+ # # '#CR': 'CRUISE_NAME',
217
+ # # '#FN': 'FILE_NAME',
218
+ # # },
219
+ # # ExpressionAttributeValues={ # criteria
220
+ # # ':cr': {
221
+ # # 'S': cruise_name,
222
+ # # },
223
+ # # },
224
+ # )
225
+ # # Note: table.scan() has 1 MB limit on results so pagination is used
226
+ #
227
+ # if len(response["Items"]) == 0 and "LastEvaluatedKey" not in response:
228
+ # return pd.DataFrame() # If no results, return empty dataframe
229
+ #
230
+ # data = response["Items"]
231
+ #
232
+ # while response.get('LastEvaluatedKey'): #"LastEvaluatedKey" in response:
233
+ # response = self.dynamodb_client.scan(
234
+ # TableName=table_name,
235
+ # ### Either 'Select' or 'ExpressionAttributeNames'/'ProjectionExpression'
236
+ # Select='ALL_ATTRIBUTES', # or 'SPECIFIC_ATTRIBUTES',
237
+ # FilterExpression=filter_expression,
238
+ # #ProjectionExpression='#SH, #CR, #FN', # what to specifically return — from expression_attribute_names
239
+ # # ExpressionAttributeNames={ # would need to specify all cols in df
240
+ # # '#SH': 'SHIP_NAME',
241
+ # # '#CR': 'CRUISE_NAME',
242
+ # # '#FN': 'FILE_NAME',
243
+ # # },
244
+ # ExpressionAttributeValues={ # criteria
245
+ # ':cr': {
246
+ # 'S': cruise_name,
247
+ # },
248
+ # },
249
+ # ConsistentRead=True,
250
+ # ExclusiveStartKey=response["LastEvaluatedKey"],
251
+ # )
252
+ # data.extend(response["Items"])
253
+ #
254
+ # deserializer = self.type_deserializer
255
+ # df = pd.DataFrame([deserializer.deserialize({"M": i}) for i in data])
256
+ #
257
+ # return df.sort_values(by="START_TIME", ignore_index=True)
258
+
208
259
  #####################################################################
209
260
  # TODO: WIP
210
261
  def delete_item(
@@ -1,5 +1,4 @@
1
1
  import gc
2
- import os
3
2
  from pathlib import Path
4
3
 
5
4
  import numcodecs
@@ -311,6 +310,12 @@ class ResampleRegrid:
311
310
  output_zarr_store.bottom[
312
311
  start_ping_time_index:end_ping_time_index
313
312
  ] = detected_seafloor_depths
313
+ #
314
+ #
315
+ #
316
+ # TODO: write the time variable last so that I can parse that as check
317
+ #
318
+ #
314
319
  #########################################################################
315
320
  #########################################################################
316
321
  except Exception as err:
@@ -250,7 +250,7 @@ class ZarrManager:
250
250
  #
251
251
  root.attrs["processing_software_name"] = Coordinates.PROJECT_NAME.value
252
252
  root.attrs["processing_software_version"] = (
253
- "25.1.2" # TODO: get programmatically, echopype>utils>prov.py
253
+ "25.1.3" # TODO: get programmatically, echopype>utils>prov.py
254
254
  )
255
255
  root.attrs["processing_software_time"] = Timestamp.get_timestamp()
256
256
  #
@@ -3,7 +3,7 @@ from enum import Enum, Flag, unique
3
3
 
4
4
  @unique
5
5
  class Constants(Flag):
6
- TILE_SIZE = 256 # TODO: add tile size to metadata?
6
+ TILE_SIZE = 1024 # TODO: add tile size to metadata?
7
7
 
8
8
  # Average https://noaa-wcsd-zarr-pds.s3.us-east-1.amazonaws.com/level_2/Henry_B._Bigelow/HB0902/EK60/HB0902.zarr/time/927
9
9
  # chunk size is ~1.3 kB, HB0902 cruise takes ~30 seconds to load all time/lat/lon data
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: water_column_sonar_processing
3
- Version: 25.1.2
3
+ Version: 25.1.3
4
4
  Summary: A processing tool for water column sonar data.
5
5
  Author-email: Rudy Klucik <rudy.klucik@noaa.gov>
6
6
  Project-URL: Homepage, https://github.com/CI-CMG/water-column-sonar-processing