Changelog¶
v2025.04.0 (2025-04-04)¶
Parameter Changes¶
(Breaking) Change allowed units for CU and NI from UMOL/L to NMOL/L, only two cruises had these parameters and neither had data, this alligns with incoming data and GEOTRACES
Fixed typoes in change log where the beta scattering angle was incorrectly written as 123 degrees, continuing a long line of typoes for this angle going back to the OEM:
CTDBETA660_123 -> CTDBETA660_124
CTDBETA650_123 -> CTDBETA650_124
Add CDOM254 [/METER]
Add some dissolved trace metal parameters following geotraces conventions:
Add Co_D_CONC_BOTTLE [PMOL/L]
Add Zn_D_CONC_BOTTLE [NMOL/L]
Add Cd_D_CONC_BOTTLE [NMOL/L]
Add Pb_D_CONC_BOTTLE [PMOL/L]
API Changes¶
The package was migrated to use uv and a /src project structure.
WHPName instances can now be used as a key to WHPNames
v2025.01.0 (2025-01-16)¶
Parameter Changes¶
Updated link to SOCCOM optics primer
Added CTDBETA660_124 [M^-1/SR] for the volume scattering function at 660nm with a centroid angle of 124 degrees
v2024.12.0 (2024-12-06)¶
Parameter Changes¶
Add CS137ER as the error name for CS-137 [DM/.1MG] (the other unit variations had this error mapping already)
Add UMOL/M^2/SEC as allowed units for SPAR
API Changes¶
Add support for ODV style keys in WHPNames.add_alias
Add support for alt params and units to WHPNames.add_alias
Attempting to set an ALT param to less than 0 will now raise a ValueError, _ALT_0 is still accepted and is equivalent to a normal parameter name.
v2024.10.1 (2024-10-29)¶
Parameter Changes¶
Renamed DOC_NASA [UMOL/L] as DOC [UMOL/L] * Added DOC_NASA [UMOL/LG] as an alias for DOC [UMOL/L] * Renamed the netcdf variable from dissolved_organic_carbon_nasa to dissolved_organic_carbon_l
Add DOC_ERROR as the error name for DOC [UMOL/KG] and DOC [UMOL/L]
Add UMOL/L as an allowed unit for TDN
Add TDN_ERROR as the error name for TDN [UMOL/KG] and TDN [UMOL/L]
Add POC_ERROR as the error name for POC
Add PON_ERROR as the error name for PON
Add CTDALTIMETER [METERS] for the value reported by the altimeter, And an expected valid range of 0 to 100, hopefully its never 0 in any of the data.
v2024.10.0 (2024-10-04)¶
Parameter Changes¶
Add RFU as an allowed unit for CTDCDOM
Add CTDCDOM [RU] as an alias for CTDCDOM [RFU]
v2024.09.0 (2024-09-05)¶
Parameter Changes¶
Add BSI [UG/L] for biogenic silica (opal) expressed in mass per volume
Add UMOL/KG as a unit for POC
Add UMOL/KG as a unit for PON
Update CF standard name table from 82 to 85 to support new CCHDO params/units above
Add VOLTS as a unit for CTDORP for raw sensor output
v2024.04.0 (2024-04-16)¶
Parameter Changes¶
Add a warning to EXPOCODE about the value being allowed to vary in a single file.
Add EWCT [M/S] and NSCT [M/S] for eastward and northward LADCP current vectors included in CTD data.
API Changes¶
None
v2024.03.0 (2024-03-18)¶
Parameter Changes¶
Add VOLTS as a valid unit for raw CTDTURB
API Changes¶
None
v2023.11.0 (2023-11-25)¶
Parameter Changes¶
Add UMOL/L as acceptable units for NITRAT and NITRIT
API Changes¶
Support for duplicate parameters added ([#25](https://github.com/cchdo/params/issues/25))
There are some major changes in this version related to how the duplicate parameter work was implemented, all of these changes should be in addition to the existing behavior * Parameters are now “aware” if they represent “error” or “flag” columns * flag and error column param objects compare equal to their parent params, but have special booleans set so you can do different things with them * The nc_name attribute should is really now the “base name” and the full_nc_name attribute should be used in most instances
v2023.09.0 (2023-09-01)¶
Parameter Changes¶
Add Nd_D_CONC [PMOL/KG] for concentration of dissolved neodymium.
Add Nd_143_144_D_RATIO_BOTTLE for the ratio of 143Nd to 144Nd in sea water.
Change the name of Nd_143_D_EPSILON_BOTTLE [10000] to Nd_143_144_D_EPSILON_BOTTLE [10000] to better conform to GEOTRACES naming conventions, an alias from the old name was added.
Update CF Standard Name table to version 82
API Changes¶
Switch to CalVer versioning scheme
v0.1.21 (2023-06-21)¶
Parameter Changes¶
Add 370nm as a wavelength for CDOM
Update CF Standard Name table to version 81
Updated the CTDBTA700 [M^-1/SR] warning to indicate this is for a parameter with a centroid angle of 142 degrees.
Add CTDORP [MILLIVOLTS] that describes a sensor measuring the tendency for chemicals in the water to gain to lose electrons, useful for hydrothermal plume tracking.
Added/Restored CTDBETA650_124 [M^-1/SR] for the volume scattering function at 650nm with a centroid angle of 124 degrees
Add D15N_TDN [/MILLE] that describes the enrichment of stable 15-nitrogen isotope in total dissolved nitrogen
Add 14C-DIC [/MILLE] as an alias for DELC14 [/MILLE]
Add D15N_ALPHA_N2O [/MILLE] to describe N2O where the center nitrogen has been substituted with 15-N
Clarify that D15N_N2O [/MILLE] is a substitution in either nitrogen position
Add NMOL/L as a unit for N2O
Add CARBONATE [UMOL/KG] for dissolved concentration of the carbonate ion
Add HFC-134A [PMOL/KG] for dissolved concentration of 1,1,1,2-Tetrafluoroethane
Add HFC-125 [PMOL/KG] for dissolved concentration of pentafluoroethane
Add NMOL/L as a volume unit for IODATE
Add E7/KG as an acceptable unit for I-129 when reported in amount of substance per unit mass, E7 meaning 10^7 atoms following existing unit conventions in this database
API Changes¶
Internal refactor removing the LazyMapping class in favor of collections.UserDict, there should be no user facing changes.
v0.1.20 (2022-08-07)¶
Parameter Changes¶
Filled in all remaining missing parameter descriptions, while all params now have more descriptive text, this can always be improved
API Changes¶
Added an in_erddap property to WHPNames to indicate if this name should appear in the CCHDO/NOAA ERDDAP data collection
Filled in boolean with values agreed to at a meeting on 2022-08-30 with @purkeysg, @sdiggs, @DocOtak, and @lmerchant
v0.1.19 (2022-08-19)¶
Parameter Changes¶
Add RA-228E as the error name for RA-228
Add CS-137 [MBQ/KG] for 137Cs activity in a mass sea water
Add CS-134 [MBQ/KG] for 134Cs activity in a mass sea water
Add CS-134 [MBQ/M^3] for 134Cs activity in a volume sea water
Add LINE for a line transect ID that is NOT a GO-SHIP/WOCE section (e.g. CalCOFI line number)
Add PH_NBS for pH reported on the NBS standard scale
Add NH4UNC as the error name for NH4
Add PHYTOP [1/ML] for phytoplankton cell count
Add CYANB [1/ML] for cyanobacteria cell count
Add DELD [/MILLE] for enrichment of deuterium of the seawater itself
Add BEAMAP [/METER] for the volume absorption coefficient in a discrete sample
Add LDEO_SAMPNO for ids used at LEDO
add FDOM [RFU] for fluorescent dissolved organic matter in discrete samples
Add CDOM300 [/METER] for the attenuation coefficient at 300nm
Add RIANOMALY [ND] for the refractive index anomaly from pure water at the sodium D line
Add DELN15 [/MILLE] for enrichment of 15N/14N as compared to the atmosphere * Added DELN15 [O/OO] as an alias for this
Add BNLID for Brookhaven National Laboratory Identification bottle number
Add NMOL/L as a unit for BARIUM * Add nM/L as an alias for this
Add some rare earth element params using GEOTRACES naming conventions:
Ce_D_CONC_BOTTLE [PMOL/L]
Dy_D_CONC_BOTTLE [PMOL/L]
Er_D_CONC_BOTTLE [PMOL/L]
Eu_D_CONC_BOTTLE [PMOL/L]
Gd_D_CONC_BOTTLE [PMOL/L]
Ho_D_CONC_BOTTLE [PMOL/L]
La_D_CONC_BOTTLE [PMOL/L]
Lu_D_CONC_BOTTLE [PMOL/L]
Pr_D_CONC_BOTTLE [PMOL/L]
Sm_D_CONC_BOTTLE [PMOL/L]
Tb_D_CONC_BOTTLE [PMOL/L]
Tm_D_CONC_BOTTLE [PMOL/L]
Yb_D_CONC_BOTTLE [PMOL/L]
add UMOL/L as a valid unit for PON
add PON [UMOL/L] for particulate organic nitrogen
Add DOP [UMOL/KG] for dissolved organic phosphate
Add TDP [UMOL/L] for total dissolved phosphate
add POP [UMOL/L] for particulate organic phosphate
add DATP [PMOL/L] for dissolved ATP
add PATP [PMOL/L] for dissolved ATP
add CELLCOUNT [/L] for a count of all the (living) cells of a sample
Add DOC_NASA [UMOL/L] for DOC measured by the ancillary NASA group
Add ANTH [MG/M^3] for antheraxanthin measured with HPLC
Add CHL_C2 [MG/M^3] for chlorophyll c2 measured with HPLC
Add SPAR [VOLTS] for raw surface reference PAR
Add UPTAKE placeholder for incubation samples
Add ABUNDANCE placeholder for counts of plankton cells
Add QUOTA placeholder for cell-quota model uptake measurements
Add D15N_NO2 [/MILLE] for isotopic enrichments of 15N in NO2
Add D15N_NH4 [/MILLE] for isotopic enrichments of 15N in NH4
Add D15N_N2O [/MILLE] for isotopic enrichments of 15N in N2O
Add D15N_PON [/MILLE] for isotopic enrichments of 15N in PON
Add D18O_NO2 [/MILLE] for isotopic enrichments of 18O in NO2
Add D18O_N2O [/MILLE] for isotopic enrichments of 18O in N2O
Add [PMOL/L] as allowed units for CFC-11, CFC-12, and CFC113
Add [FMOL/L] as allowed units for SF6
Add D15N_NO3+NO2 [/MILLE] as an alias for D15N_NO2+NO3 [/MILLE]
Add D18O_NO3+NO2 [/MILLE] as an alias for D18O_NO2+NO3 [/MILLE]
Add DSI30 [/MILLE] as an alias for DELSI30 [/MILLE]
Add DNSSAL2 for a replicate of density salinity measurement
Add SALNTY_DNSSAL [PSS-78] for practical salinity measured on the same sample as in DNSSAL
API Changes¶
None
v0.1.18 (2022-07-08)¶
Parameter Changes¶
Add CH4 [NMOL/L] as an alternate unit for methane
Add HCFC-22 [PMOL/KG] for Chlorodifluoromethane concentration
Add HCFC-142b [PMOL/KG] for 1-Chloro-1,1-difluoroethane concentration
Add HCFC-141b [PMOL/KG] for 1,1-Dichloro-1-fluoroethane concentration
Add CCL4 [PMOL/L] for Carbon tetrachloride concentration
Add CTDBBP700 [/METER] for the volume scattering coefficient due to particles at 700nm
Add CTDBETA700 [VOLTS] for the raw sensor voltages of a backscatter sensor with a wavelength of 700nm
Add CTDBETA700 [M^-1/SR] for the volume scattering function at 700nm
Add CTDOPTOXY [UMOL/KG] for the independently reported optode oxygen
Add CTDOPTOXY [VOLTS] for the raw optode oxygen voltages
Add DELSI30 [/MILLE] for silicon isotopic enrichment
Add many CDOM wavelength parameters
Add CTDDEPTH [METERS] for the actual calculated depth to the package (not the sea floor)
Add ODF_CTDPRS [DBAR] for a reported pressure that was calibrated using the ODF acquisition software (not the calibration software).
Added BTLNBR_U and SAMPNO_U as names for people who really want their NBRs to be actual numbers
Add XENON [NMOL/KG] and [NMOL/L] for dissolved xenon gas
Add KRYPTON [NMOL/KG] and [NMOL/L] for dissolved krypton gas
Add SIP as a placeholder for samples taken for stable isotope probing
Move rank of DELO17 to be right after DELO18
Add O2/AR name for oxygen to argon ratio
Add O2-AR as an Alias
The ncname of o2_ar was taken from the old libcchdo params database
Add ARGONERR as the uncertainty name for ARGON
Add UMOL/L as an allowed unit for the following:
TOC
NO2+NO3
PHSPHT
SILCAT
Add PH with no explicit scale information, include a warning about the risks of this
Add XCO2 [PPM] for CO2 mole fraction in air, with a warning about the lack of information on wet/dry pH2O corrections
Add CF standard name to CTDTURB [NTU]
Add new params for P02
DNA for a placeholder parameter indicating samples for genetic analysis were taken
FCM for a placeholder parameter indicating samples for flow cytometry were taken
IMAGES for a placeholder parameter indicating samples for microscopic imaging were taken
VIRAL_ABUNDANCE for a placeholder parameter indicating samples for viral abundance were taken
POP [UG/L] for particulate organic phosphorus
PCOD [UG/L] for particulate chemical oxygen demand
Additionally, the units of [UG/L] for POC and PON were added
Added some aliases:
FLUOR [VOLTS] for CTDFLUOR [VOLTS]
SIG0 [KG/CUM] for SIG0 [KG/M^3]
PHTEMP [DEC C] for PH_TMP [DEG C]
PHTEMP [DEG C] for PH_TMP [DEG C]
FLUORO [VOLTS] for CTDFLUOR [VOLTS]
CHLORA [MG/M**3] for CHLORA [UG/L]
PPHYTN [MG/M**3] for PPHYTN [UG/L]
PPHYTN [MG/M^] for PPHYTN [UG/L]
PCO2_TMP [DEG C] for PCO2TMP [DEG C]
DELHE3 [%] for DELHE3 [PERCNT]
BEDFORT [NUM] for BIONBR
XMISS [%TRANCE] for CTDXMISS [%TRANS]
XMISSCP [1/M] for CTDBEAMCP [/METER]
PCO2 [PPM] for XCO2 [PPM]
CTDTRBDTY [NTU] for CTDTURB [NTU]
CTDTRBDTY [FTU] for CTDTURB [FTU]
CTDBEAMCP [1/M] for CTDBEAMCP [/METER]
CTDFLUOR [MG/CUM] for CTDFLUOR [MG/M^3]
CTDPAR [UPHOTMS] for PAR [UMOL/M^2/SEC]
CTDSAL [PSS_78] for CTDSAL [PSS-78]
CTDSAL [PSS-68] for CTDSAL [PSS-78]
CTDTHETA [DEG C] for THETA [DEG C]
CTDCDOMFRAW [0-5VDC] for CTDCDOM [VOLTS]
CTDCDOMFRAW [VDC] for CTDCDOM [VOLTS]
CTDCDOMFRAW [V] for CTDCDOM [VOLTS]
SALNTY [ISS78] for SALNTY [PSS-78]
CTDSAL [ISS78] for CTDSAL [PSS-78]
BTMDEPTH [METERS] for DEPTH [PSS-78]
ODF_CTDPRS [DBARS] for ODF_CTDPRS [DBAR]
PCO2TMP [DEC C] for PCO2TMP [DEG C]
THETA [DEG_C] for THETA [DEG C]
API Changes¶
(BREAKING) The error name look ups in
WHPNames.error_names
must now use the units as either a tuple (error_name, units) or an ODV style PARAM [UNIT] string.Add a
WHPName.nc_group
property to be used when CF wants some columns collapsed into another dimension (e.g. our CDOM params)Add the following optical properties to
WHPName
:WHPName.radiation_wavelength
- The wavelength in nm of some measured light (path, scattering, etc…), not induced or emitted.WHPName.scattering_angle
- The angle in degrees of the scattered lightWHPName.excitation_wavelengh
- The wavelength in nm of the light used to excite some response.WHPName.emission_wavelengh
- The wavelength in nm of the light measured in response to some excitation.
WHPNames may now be looked up using an ODV style “NAME [UNIT]” strings, omitting the entire “[UNIT]” part with unitless parameters.
Add
WHPName.nc_name_flag
andWHPName.nc_name_error
properties which will contain the netCDF variable names for the flag and uncertainty variables, respectively.Improve type definition of
WHPName.flag_w
to include allowed literal values
v0.1.17 (2022-03-22)¶
Parameter Changes¶
The CF Standard Name table was updated to v79
Added the new standard names to CCHDO params if appropriate
Of particular note is that TCARBN [UMOL/KG] has the standard name: moles_of_dissolved_inorganic_carbon_per_unit_mass_in_sea_water
Add name CTDNITRATE [UMOL/KG] for an in situ nitrate sensor.
Add name CTDTURB [FTU] and CTDTURB [NTU] as turbidity names
Add the following aliases:
_INSTRUMENT_NO for INSTRUMENT_ID.
PAR [UE/m^2/sec] for PAR [UMOL/M^2/SEC]
CTDPAR [UE/SQM/S] for PAR [UMOL/M^2/SEC]
CTDOXY [ml/l] for CTDOXY [ML/L]
CTDDOXY [UMOL/LG] for CTDOXY [UMOL/KG]
CHLORA [MG/M3] for CHLORA [UG/L]
PAR [0-5VDC] for PAR [VOLTS]
Add generic EVENT_NUMBER name used by some cruises.
Add the old WOCE CTD header name SAMPLING_RATE [HZ].
Add UMOL/L as a valid unit for CTDOXY.
Add VOLTS as a valid unit for PAR.
Changed the following param units from 0-5VDC to just VOLTS.
CTDXMISS
CTDFLUOR
API Changes¶
Add the ability to add custom aliases to
WHPNames
usingWHPNames.add_alias
The
WHPName.field_width
property is now no longer optional.
v0.1.16 (2021-11-19)¶
Parameter Changes¶
Add the following aliases for CHLORA [UG/L]
CHLORA [MG/CUM]
CHLORA [MG/M^3]
Add descriptions to DELC13 and DELC12 names
Add description to 14C-DOC
Add 14C-DOCERR as the uncertainty name
Add 13C-DOC [/MILLE] as a parameter
Add 13C-DOCERR as the uncertainty name
Add D18O_NO3 as a parameter
Add D18O_NO3_ERROR as the uncertainty name
Changed the units of D15N_NO3 from unitless to /MILLE
Add D18O_NO2+NO3_ERROR as the uncertainty parameter for D18O_NO2+NO3
Add D15N_NO2+NO3_ERROR as the uncertainty parameter for D15N_NO2+NO3
API Changes¶
Removed sqlalchemy as an install/runtime dependency, it is still required for dev tasks. This has two rather nice effects: only the python standard library is needed for install and import/loading parameters gets a ~10x speed up.
v0.1.15 (2021-09-29)¶
Parameter Changes¶
Added D15N_N2 [/MILLE] which describes the isotopic enrichment of dissolved N2 gas.
Added N2/ARGON and N2/ARGON_UNSTRIPPED which represent the ratio of dissolved N2 gas to ARGON gas, both are unitless ratios.
The _UNSTRIPPED name refers to a measurement that has not been stripped of dissolved O2.
AZOTE has been renamed to N2 [UMOL/KG]
AZOTE [UMOL/KG] has been added as an alias
Added N2_ERROR as the uncertainty name for N2
API Changes¶
None
v0.1.14 (2021-08-26)¶
Parameter Changes¶
None
API Changes¶
The types of the
WHPNames.groups
properties was changed fromtuple
tofrozenset
to speed upin
operations.Added a
WHPName.dtype
field containing the data type of the parameter as a string. Thedata_type
field has been changed to a computed class property. The API ofdata_type
has not changed, but your static type checkers might be much happier.
v0.1.13 (2021-08-12)¶
This release focused mostly on code maintainability. Lots of tests written for the public API interface and a whole bunch of improvements to the type hints. The scaffold for docs has been set up, though content is still being written.
Parameter Changes¶
The CF Standard Name table was updated to v77
Added PLUTO [BQ/M^3] which is the activity of from all isotopes of plutonium in the sample
BQ/M^3 was added as a possible unit for CS-137
Added some aliases (alias -> canonical):
XMISSCP [/METER] -> CTDBEAMCP [/METER]
PAR [UE/SQM/S] -> PAR [UMOL/M^2/SEC]
TRANSM [VDC] -> CTDXMISS [0-5VDC]
FLUORM [VDC] -> CTDFLUOR [0-5VDC]
FLUOR [MG/CUM] -> CTDFLUOR [MG/M^3]
API Changes¶
The minimum sqlalchemy version is now 1.4
An optional
numeric_precision_override
keyword arg was added to theWHPName.strfex
method to allow the overriding of builtin print format database.Lots of Type Hint (PEP 484) improvements. Most of the instance methods should know what they will return.
v0.1.12 (2021-06-03)¶
Parameter Changes¶
The cf standard name mass_concentration_of_chlorophyll_in_sea_water was added to CTDFLUOR [MG/M^3]
The cf standard name mass_concentration_of_chlorophyll_a_in_sea_water was added to TOT_CHL_A [MG/M^3]
The field width of BTL_DATE was changed to 8 to match DATE
The field width of BTL_TIME was changed to 4 to match TIME
The print precision of CTDXMISS [0-5VDC] was increased to 4.
API Changes¶
A
WHPName.strfex()
method was added which formats values passed into it according to the values ofWHPName.data_type
,WHPName.field_width
, andWHPName.numeric_precision
. It will convert NaNs, and anything resulting in an empty string to-999
. The method name was inspired by the datetime methodstrftime
.
v0.1.11 (2021-05-27)¶
Parameter Changes¶
Added HPLC as a placeholder param in exchange files
Added D15N_NO2+NO3 [/MILLE] and D18O_NO2+NO3[/MILLE] which describe the isotopic enrichment of the elements in NO2+NO3
Added MICROGELS [1E6 GELS/L] which is the abundance of self assembling organic particles called microgels.
Added CF113ER as the uncertainty name for CFC113 [PMOL/KG].
API Changes¶
the output of
WHPNames.legacy_json
is now guaranteed to be ordered in “preferred” GO-SHIP order rather than database order. The order may change between releasees as the preferred parameter order of GO-SHIP evolves and as new parameters are added.
v0.1.10 (2021-03-15)¶
Parameter Changes¶
Added CTDCT [ITS-90] for calculated conservative temperature from CTD sensors
Added CTDSA [G/KG] for calculated absolute salinity from CTD sensors
Note that these two calculated parameters may appear in data products, but the reported and stored data must continue to be PSS-78 for Salinity and in situ ITS-90 for temperature (see the TEOS-10 user manual).
API Changes¶
None
v0.1.9 (2021-01-27)¶
Parameter Changes¶
None
API Changes¶
WHPNames now has a property
groups
with a named tuple containing collections of parameters with the scopes ofcruise
,profile
, andsample
. As of release, there were no “cruise” level parameter names in the database. “profile” scoped parameters can/should be in exchange CTD headers. “sample” scoped params must have their values appear in the data block of an exchange file.
v0.1.8 (2021-01-06)¶
Parameter Changes¶
(BREAKING) the netcdf variable name for REVTMP [DEG C] has been changed from
rev_temerature_c
torev_temperature_c
API Changes¶
The dict returned by
WHPName.get_nc_attrs()
will now include a"C_format"
key if the parameter has both afield_width
andnumeric_precision