diff --git a/CHANGES b/CHANGES index 51080320a..9c282f4d2 100644 --- a/CHANGES +++ b/CHANGES @@ -19,6 +19,7 @@ Pint Changelog - Add membrane filtration flux and permeability dimensionality, and shorthand "LMH". (#2116) - Fix find_shortest_path to use breadth first search (#2146) - Fix typo in ``pyproject.toml``: rename ``AS_MIP`` to ``HAS_MIP`` so that MIP support is correctly detected. (#2152) +- Update definition of US survey units to reflect the 2022 revision by NIST/NGS. (#1920) 0.24.4 (2024-11-07) diff --git a/pint/default_en.txt b/pint/default_en.txt index 8f063333b..9446e3447 100644 --- a/pint/default_en.txt +++ b/pint/default_en.txt @@ -536,6 +536,9 @@ neper = 1 ; logbase: 2.71828182845904523536028747135266249775724709369995; logfa # Mostly for length, area, volume, mass, force # (customary or specialized units) +# Note: historically, many of the units in this group were derived from each other (e.g. 1 chain = 10 fathoms = 4 rods = 100 links) +# but we've followed the NIST's lead here and defined all of the units directly based on "common" units (feet and miles) +# Source: Warfield, L. , Konijnenburg, J. , Lippa, K. , Lee, G. , Minnich, L. and Williams, J. (2023), Specifications, Tolerances, and Other Technical Requirements for Weighing and Measuring Devices as adopted by the 108th National Conference on Weights and Measures, Handbook (NIST HB), National Institute of Standards and Technology, Gaithersburg, MD, [online], https://doi.org/10.6028/NIST.HB.44-2024 (Accessed January 12, 2024) @group USCSLengthInternational thou = 1e-3 * inch = th = mil_length inch = yard / 36 = in = international_inch = inches = international_inches @@ -553,25 +556,44 @@ neper = 1 ; logbase: 2.71828182845904523536028747135266249775724709369995; logfa cubic_inch = in ** 3 = cu_in cubic_foot = ft ** 3 = cu_ft = cubic_feet cubic_yard = yd ** 3 = cu_yd + + link = 0.66 * foot = li = survey_link + fathom = 6 * foot + rod = 16.5 * foot = rd = pole = perch + chain = 66 * foot = ch + furlong = 660 * foot = fur + cables_length = 720 * foot + league = 3 * mile + + square_rod = rod ** 2 = sq_rd = sq_rod = sq_pole = sq_perch + acre = 43560 * square_foot + square_league = league ** 2 + + acre_foot = acre * foot = _ = acre_feet @end +# The adoption of the international foot in 1959 temporarily permitted the continued use of the 1893 definition of the foot for survey purposes. +# That established the Survey Foot. After 2022, that exception was no longer permitted and all feet are feet (survey or otherwise). +# The units below are preserved here for historical applications. +# Source: Barton, J. , Blackwell, B. , Butcher, T. , Harshman, R., Lee, G. , Olson, D. (2019), Specifications, Tolerances, and Other Technical Requirements for Weighing and Measuring Devices as adopted by the 108th National Conference on Weights and Measures 2019, Handbook (NIST HB), National Institute of Standards and Technology, Gaithersburg, MD, [online], https://doi.org/10.6028/NIST.HB.44-2020 (Accessed January 12, 2024) @group USCSLengthSurvey - link = 1e-2 * chain = li = survey_link survey_foot = 1200 / 3937 * meter = sft - fathom = 6 * survey_foot - rod = 16.5 * survey_foot = rd = pole = perch - chain = 4 * rod - furlong = 40 * rod = fur - cables_length = 120 * fathom survey_mile = 5280 * survey_foot = smi = us_statute_mile - league = 3 * survey_mile - - square_rod = rod ** 2 = sq_rod = sq_pole = sq_perch - acre = 10 * chain ** 2 - square_survey_mile = survey_mile ** 2 = _ = section - square_league = league ** 2 - - acre_foot = acre * survey_foot = _ = acre_feet + square_survey_mile = survey_mile ** 2 + + survey_link = 0.66 * survey_foot = sli + survey_fathom = 6 * survey_foot + survey_rod = 16.5 * survey_foot = srd = survey_pole = survey_perch + survey_chain = 66 * survey_foot = sch + survey_furlong = 660 * survey_foot = sfur + survey_cables_length = 720 * survey_foot + survey_league = 3 * survey_mile + + square_survey_rod = survey_rod ** 2 = sq_srd = sq_survey_rod = sq_survey_pole = sq_survey_perch + survey_acre = 10 * survey_chain ** 2 + square_survey_league = survey_league ** 2 + + survey_acre_foot = survey_acre * survey_foot = _ = survey_acre_feet @end @group USCSDryVolume