seabirdfilehandler 0.6.0__py3-none-any.whl → 0.6.1__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.

Potentially problematic release.


This version of seabirdfilehandler might be problematic. Click here for more details.

@@ -59,10 +59,10 @@ class CnvFile(DataFile):
59
59
  ):
60
60
  super().__init__(path_to_file, only_header)
61
61
  self.validation_modules = self.obtaining_validation_modules()
62
- self.start_time = self.reading_start_time()
63
62
  self.parameters = Parameters(
64
63
  self.data, self.data_table_description, only_header
65
64
  )
65
+ self.start_time = self.reading_start_time()
66
66
  if create_dataframe:
67
67
  self.df = self.create_dataframe()
68
68
  if absolute_time_calculation:
@@ -79,21 +79,15 @@ class CnvFile(DataFile):
79
79
  self.df = self.parameters.get_pandas_dataframe()
80
80
  return self.df
81
81
 
82
- def reading_start_time(
83
- self,
84
- time_source: str = "System UTC",
85
- ) -> datetime | None:
82
+ def reading_start_time(self) -> datetime | None:
86
83
  """
87
84
  Extracts the Cast start time from the metadata header.
88
85
  """
89
- for line in self.sbe9_data:
90
- if line.startswith(time_source):
91
- start_time = line.split("=")[1]
92
- start_time = datetime.strptime(
93
- start_time, " %b %d %Y %H:%M:%S "
94
- )
95
- return start_time
96
- return None
86
+ start_time = (
87
+ self.parameters.data_table_misc["start_time"].split("[")[0].strip()
88
+ )
89
+ start_time = datetime.strptime(start_time, "%b %d %Y %H:%M:%S")
90
+ return start_time
97
91
 
98
92
  def absolute_time_calculation(self) -> bool:
99
93
  """
@@ -104,11 +104,19 @@ class Parameters(UserDict):
104
104
  )
105
105
  parameter_dict = {}
106
106
  list_of_metadata_shortnames = list(metadata.keys())
107
+ # if column number and metadata number is different, we are propably
108
+ # working with duplicate_columns and will drop the duplicates
107
109
  if self.full_data_array.shape[1] != len(list_of_metadata_shortnames):
108
- raise AssertionError(
109
- f"Array column width {
110
- self.full_data_array.shape[1]
111
- } does not fit metadata length {len(metadata)}"
110
+ self.full_data_array = np.delete(
111
+ self.full_data_array, self.duplicate_columns, 1
112
+ )
113
+ assert self.full_data_array.shape[1] == len(
114
+ list_of_metadata_shortnames
115
+ )
116
+ # rewrite the column number in the metadata header
117
+ self.data_table_stats["nquan"] = str(
118
+ int(self.data_table_stats["nquan"])
119
+ - len(self.duplicate_columns)
112
120
  )
113
121
  for i in range(self.full_data_array.shape[1]):
114
122
  column_data = self.full_data_array[:, i]
@@ -286,14 +294,10 @@ class Parameters(UserDict):
286
294
  assert data.shape[1] == len(columns)
287
295
  df = pd.DataFrame(data=data, columns=columns)
288
296
  for column in df.columns:
289
- if column.lower() not in [
290
- "latitude",
291
- "longitude",
292
- "event",
293
- "cast",
294
- "flag",
295
- ]:
297
+ try:
296
298
  df[column].astype("float64")
299
+ except ValueError:
300
+ df[columns].astype("str")
297
301
  return df
298
302
 
299
303
  def with_name_type(self, name_type: str = "shortname"):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: seabirdfilehandler
3
- Version: 0.6.0
3
+ Version: 0.6.1
4
4
  Summary: Library of parsers to interact with SeaBird CTD files.
5
5
  Keywords: CTD,parser,seabird,data
6
6
  Author: Emil Michels
@@ -1,16 +1,16 @@
1
1
  seabirdfilehandler/__init__.py,sha256=XMmhfwZ3YPzR3sLTi8AHN6mSlrQA1tLEpw02_fI7Rr0,278
2
2
  seabirdfilehandler/bottlefile.py,sha256=qCh506J3MWZXM11243aw_oJRocVB0ZIipXQLEgkD5M0,6046
3
3
  seabirdfilehandler/bottlelogfile.py,sha256=MtMmEebdAktO3mk6KbmJC7dfx9sRLbV5qqDQt2qtpJE,4310
4
- seabirdfilehandler/cnvfile.py,sha256=j7IR3EgCrGD3riKOzFSKFNW6lkuzZYGYkxI_czcD8XU,10196
4
+ seabirdfilehandler/cnvfile.py,sha256=IvCHjcgI-mgtJodSzlQ5bfyJWZ-D-3Lk5Z5Hh3BLfps,10048
5
5
  seabirdfilehandler/datafiles.py,sha256=9r0Mh3zPYJJ3CoybgOBH4Dsq43kLDnca9m8s_V0cYU8,9378
6
6
  seabirdfilehandler/file_collection.py,sha256=8uLoN55h00_EmiEa4mbyaSJZst7w8NhODv7DrtzEAwc,15021
7
7
  seabirdfilehandler/geomar_ctd_file_parser.py,sha256=4eCnkE0mvPKC8Dic8sXP4xpfwnk3K2MQcGFBf6loT8k,2655
8
8
  seabirdfilehandler/hexfile.py,sha256=TBplwbWHrTuJzv2qlx6xYNtoX43I2YUabDmaGZuBEDQ,2144
9
- seabirdfilehandler/parameter.py,sha256=CjC8T5wfbThryqVNjTcAolug9gi_BnInfZzkEfmKm5E,14561
9
+ seabirdfilehandler/parameter.py,sha256=MDVNGC1PZPf6IMN7r6Y3A3cg52AKXoyau1foEDQ1uoI,14877
10
10
  seabirdfilehandler/utils.py,sha256=5KXdB8Hdv65dv5tPyXxNMct1mCEOyA3S8XP54AFAnx0,1745
11
11
  seabirdfilehandler/validation_modules.py,sha256=eZ6x0giftUtlxnRMOnK_vCkgccdwUXPrDjajFa-E6n0,4698
12
12
  seabirdfilehandler/xmlfiles.py,sha256=XqqbVNjyINySoe2ZC_qJglkAqshavZxT2-jorDOSj7Y,5084
13
- seabirdfilehandler-0.6.0.dist-info/LICENSE,sha256=Ifd1VPmYv32oJd2QVh3wIQP9X05vYJlcY6kONz360ws,34603
14
- seabirdfilehandler-0.6.0.dist-info/METADATA,sha256=-HcIPCv4_SMttVtN0kXdr-UKJy5iUsFx0Onde2YXQwE,2307
15
- seabirdfilehandler-0.6.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
16
- seabirdfilehandler-0.6.0.dist-info/RECORD,,
13
+ seabirdfilehandler-0.6.1.dist-info/LICENSE,sha256=Ifd1VPmYv32oJd2QVh3wIQP9X05vYJlcY6kONz360ws,34603
14
+ seabirdfilehandler-0.6.1.dist-info/METADATA,sha256=4BNXjQ4Xgm5OQCyLkPK3C4l0OkFiD_e--dfjcYedS04,2307
15
+ seabirdfilehandler-0.6.1.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
16
+ seabirdfilehandler-0.6.1.dist-info/RECORD,,