Changelog#

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_123 [M^-1/SR] for the volume scattering function at 650nm with a centroid angle of 123 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 light

    • WHPName.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 and WHPName.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 using WHPNames.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 from tuple to frozenset to speed up in operations.

  • Added a WHPName.dtype field containing the data type of the parameter as a string. The data_type field has been changed to a computed class property. The API of data_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 the WHPName.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 of WHPName.data_type, WHPName.field_width, and WHPName.numeric_precision. It will convert NaNs, and anything resulting in an empty string to -999. The method name was inspired by the datetime method strftime.

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 of cruise, profile, and sample. 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 to rev_temperature_c

API Changes#

  • The dict returned by WHPName.get_nc_attrs() will now include a "C_format" key if the parameter has both a field_width and numeric_precision