Skip to content

Commit

Permalink
Improve HOBO support (#269)
Browse files Browse the repository at this point in the history
* Add atmospheric correction to hobo

* Add conductivity logger U24-002-C
  • Loading branch information
dnowacki-usgs authored Nov 8, 2024
1 parent 826427d commit 6192b81
Showing 1 changed file with 37 additions and 28 deletions.
65 changes: 37 additions & 28 deletions stglib/hobo.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,34 +94,32 @@ def drop_vars(ds):

def ds_rename_vars(ds):
# convert some units
if "Conductance_uSpercm" in ds:
ds["Conductance_uSpercm"].values = (
ds["Conductance_uSpercm"].values / 10000
) # convert from µS/cm to S/m"""

if "SpecificConductance_uSpercm" in ds:
ds["SpecificConductance_uSpercm"].values = (
ds["SpecificConductance_uSpercm"].values / 10000
) # convert from µS/cm to S/m

# convert from µS/cm to S/m
for v in [
"Conductance_uSpercm",
"HighRange_Spercm",
"LowRange_Spercm",
"SpecificConductance_uSpercm",
]:
if v in ds:
ds[v].values = ds[v].values / 10000

# convert from kPa to millibars
if "AbsPresBarom_kPa" in ds:
ds["AbsPresBarom_kPa"].values = (
ds["AbsPresBarom_kPa"].values * 10
) # convert from kPa to millibars
ds["AbsPresBarom_kPa"].values = ds["AbsPresBarom_kPa"].values * 10
ds = ds.rename({"AbsPresBarom_kPa": "AbsPresBarom_mbar"})

# convert from kPa to decibars
if "AbsPres_kPa" in ds:
ds["AbsPres_kPa"].values = (
ds["AbsPres_kPa"].values / 10
) # convert from kPa to decibars
ds["AbsPres_kPa"].values = ds["AbsPres_kPa"].values / 10
ds = ds.rename({"AbsPres_kPa": "AbsPres_dbar"})

# check to see if logger was deployed as barometer
if ds.attrs["instrument_type"] == "hwlb":
# convert from dbar to millibars
if "AbsPres_dbar" in ds:
ds["AbsPres_dbar"].values = (
ds["AbsPres_dbar"].values * 100
) # convert from dbar to millibars
ds["AbsPres_dbar"].values = ds["AbsPres_dbar"].values * 100
ds = ds.rename({"AbsPres_dbar": "AbsPresBarom_mbar"})
if "Temp_C" in ds:
ds = ds.rename({"Temp_C": "Atemp_C"})
Expand All @@ -139,6 +137,8 @@ def ds_rename_vars(ds):
"DOconc_mgperL": "DO",
"DOAdjConc_mgperL": "DO_Adj",
"Atemp_C": "T_21",
"HighRange_Spercm": "C_51_hi",
"LowRange_Spercm": "C_51_lo",
}

# check to make sure they exist before trying to rename
Expand Down Expand Up @@ -222,15 +222,21 @@ def ds_add_attrs(ds):
}
)

if "C_51" in ds:
ds["C_51"].attrs.update(
{
"units": "S/m",
"long_name": "Conductivity",
"epic_code": 51,
"standard_name": "sea_water_electrical_conductivity",
}
)
for v in ["C_51", "C_51_hi", "C_51_lo"]:
if v in ds:
long_name = "Conductivity"
if v == "C_51_hi":
long_name = long_name + ", high range (0.5 to 5.5 S/m)"
elif v == "C_51_lo":
long_name = long_name + ", low range (0.01 to 1 S/m)"
ds[v].attrs.update(
{
"units": "S/m",
"long_name": long_name,
"epic_code": 51,
"standard_name": "sea_water_electrical_conductivity",
}
)

if "SpC_48" in ds:
ds["SpC_48"].attrs.update(
Expand Down Expand Up @@ -424,7 +430,7 @@ def get_col_names(filnam, metadata):
return names


def cdf_to_nc(cdf_filename):
def cdf_to_nc(cdf_filename, atmpres=False):
"""
Load a raw .cdf file and generate a processed .nc file
"""
Expand All @@ -441,6 +447,9 @@ def cdf_to_nc(cdf_filename):
# rename variables
ds = ds_rename_vars(ds)

if atmpres:
ds = utils.atmos_correct(ds, atmpres)

# should function this
for var in ds.data_vars:
ds = qaqc.trim_min(ds, var)
Expand Down

0 comments on commit 6192b81

Please sign in to comment.