From 612695a3d1f484e168e3611bc012a4854ab10391 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Sun, 22 Mar 2026 02:59:31 -0500 Subject: [PATCH 1/2] Update to PCD 0.1.0 --- polaris/constants/__init__.py | 12 +- polaris/constants/pcd.yaml | 437 +++++++++++++++++++++++++++++++++- 2 files changed, 437 insertions(+), 12 deletions(-) diff --git a/polaris/constants/__init__.py b/polaris/constants/__init__.py index ade83f1a60..1be2231ffd 100644 --- a/polaris/constants/__init__.py +++ b/polaris/constants/__init__.py @@ -1,18 +1,14 @@ from polaris.constants import pcd -# Temporary dictionary of constants not yet available via PCD, only the ones -# we actually use for now. -CONSTANTS = { - 'seawater_specific_heat_capacity_reference': 3.996e3, # J kg-1 K-1 - 'seawater_density_reference': 1.026e3, # kg m-3 -} +# Dictionary of any constants not covered by PCD +CONSTANTS: dict[str, float] = {} -CONVERSION_FACTORS = { +CONVERSION_FACTORS: dict[str, float] = { 'day_to_s': 86400.0, } -def get_constant(name): +def get_constant(name: str) -> float: """ Get constants from the Physical Constants Dictionary (PCD) if available, otherwise from the temporary dictionary of constants. diff --git a/polaris/constants/pcd.yaml b/polaris/constants/pcd.yaml index 84ce691d60..fac294d589 100644 --- a/polaris/constants/pcd.yaml +++ b/polaris/constants/pcd.yaml @@ -1,5 +1,16 @@ +# Physical Constants Dictionary (PCD) +# +# This YAML file contains a dictionary of physical constants. The constants are grouped +# in categories, such as mathematical (like pi), universal physical constants (such as +# the Boltzman constant), water properties, and more. Each constant in these groups +# provides important data and metadata, such as name, units, uncertainty, a reference, +# and more. More details can be found in the upstream project github documentation: +# +# https://icams-us.github.io/PhysicalConstantsDictionary/ +# + physical_constants_dictionary: - version_number: 0.0.2 + version_number: 0.1.0 institution: E3SM Project description: Community-based dictionary for consistent physical constant sets contact: E3SM Project @@ -36,6 +47,93 @@ physical_constants_dictionary: Properties of Ordinary Water Substance for General and Scientific Use, J. Phys. Chem. Ref. Data, 31, 387-535, 2002. " + SI2019: + description: "SI brochure defining units and accepted non-SI units" + citation: " + Bureau International des Poids et Mesures (BIPM), The International + System of Units (SI), 9th edition, 2019. + " + CGPM1948_1954: + description: "CGPM resolutions linking the triple point and the 0.01 degree offset" + citation: " + 9th CGPM (1948), Resolution 3, stating that the zero of the centesimal + thermodynamic scale is 0.0100 degree below the triple point of water + (DOI: 10.59161/CGPM1948RES3E); + and 10th CGPM (1954), Resolution 3, assigning the triple point of water + the exact temperature 273.16 kelvin + (DOI: 10.59161/CGPM1954RES3E). + " + US_StdAtm_1976: + description: "U.S. Standard Atmosphere reference state values" + citation: " + NOAA, NASA, and USAF, U.S. Standard Atmosphere, 1976, + U.S. Government Printing Office, Washington, D.C., 1976. + " + CRC2018: + description: "CRC handbook tabulations for thermophysical properties" + citation: " + Rumble, J. R. (ed.), CRC Handbook of Chemistry and Physics, + 99th Edition, CRC Press, 2018. + " + Smithsonian1951: + description: "Smithsonian meteorological tables with latent-heat tabulations" + citation: " + List, R. J., Smithsonian Meteorological Tables, + Smithsonian Institution, Washington, D.C., 1951. + " + Gill_1982: + description: "Atmosphere-Ocean Dynamics textbook with canonical Boussinesq scaling" + citation: " + Gill, A. E., Atmosphere-Ocean Dynamics, + International Geophysics Series, Vol. 30, + Academic Press, 1982. + " + Levitus1982: + description: "Climatological atlas source for world-ocean salinity fields" + citation: " + Levitus, S., Climatological Atlas of the World Ocean, + NOAA Professional Paper 13, U.S. Department of Commerce, 1982. + " + IUPAC1997: + description: "IUPAC Commission on Atomic Weights and Isotopic Abundances, 1997 table" + citation: " + IUPAC Commission on Atomic Weights and Isotopic Abundances, + Atomic Weights of the Elements 1997, + Pure Appl. Chem., 71(8), 1593-1607, 1999. + doi:10.1351/pac199971081593. + " + Untersteiner1961: + description: "Arctic sea-ice mass and heat budget study" + citation: " + Untersteiner, N., On the Mass and Heat Budget of Arctic Sea Ice, + Archiv für Meteorologie, Geophysik und Bioklimatologie, Serie A, 1961. + " + MaykutUntersteiner1971: + description: "Time-dependent thermodynamic sea-ice model results" + citation: " + Maykut, G. A., and N. Untersteiner, Some results from a time-dependent + thermodynamic model of sea ice, Journal of Geophysical Research, + 76(6), 1550-1575, 1971. + " + CuffeyPaterson2010: + description: "Glaciology textbook reference for ice physical properties" + citation: " + Cuffey, K. M., and W. S. B. Paterson, The Physics of Glaciers, + 4th ed., Butterworth-Heinemann, 2010. + " + IAEA1995: + description: "IAEA reference materials for stable isotopes of light elements" + citation: " + IAEA, Reference and intercomparison materials for stable isotopes of + light elements, IAEA-TECDOC-825, Vienna, 1995. + " + Craig1957: + description: "Isotopic standards for carbon and oxygen" + citation: " + Craig, H., Isotopic standards for carbon and oxygen and correction + factors for mass-spectrometric analysis of carbon dioxide, + Geochimica et Cosmochimica Acta, 12(1-2), 133-149, 1957. + " set: - mathematical: @@ -230,6 +328,40 @@ physical_constants_dictionary: Ideal gas molar volume as computed by the ideal gas law (RT/p) at Standard Temperature and Pressure (STP: 273.15K, 100 kPa). " + - chemical_molar_masses: + description: " + Reference molar masses for chemical elements and compounds used + across model components. + " + entries: + - name: carbon_molar_mass_reference + value: 0.0120107 + units: kg mol-1 + prec: double + type: strict + reference: IUPAC1997 + description: " + Reference molar mass of elemental carbon. + " + - name: oxygen_molar_mass_reference + value: 0.0159994 + units: kg mol-1 + prec: double + type: strict + reference: IUPAC1997 + description: " + Reference molar mass of elemental oxygen. + " + - name: carbon_dioxide_molar_mass_reference + value: 0.0440095 + units: kg mol-1 + prec: double + type: strict + reference: IUPAC1997 + description: " + Derived from IUPAC standard atomic weights as + carbon_molar_mass_reference + 2*oxygen_molar_mass_reference. + " - earth_physical: description: " Properties of the planet Earth @@ -327,7 +459,7 @@ physical_constants_dictionary: reference: GRS80 description: " Radius of Earth's reference sphere with same surface as ellipsoid's. - Derived constant + Derived constant. " - name: radius_of_sphere_of_same_volume value: 6371000.7900 @@ -362,8 +494,8 @@ physical_constants_dictionary: " entries: - name: water_molar_mass - value: 18.015268 - units: g mol-1 + value: 0.018015268 + units: kg mol-1 prec: double type: strict uncertainty: exact @@ -424,3 +556,300 @@ physical_constants_dictionary: Triple point density of vapor H2O. Calculated from Eq. (6.4). " + - name: pure_water_freezing_temperature_reference + value: 273.15 + units: K + prec: double + type: strict + reference: CGPM1948_1954 + description: " + Conventional 0 C reference temperature in kelvin (273.15 K), + linked historically to the water-triple-point definition and the + 0.01 degree centesimal offset. + " + - name: pure_water_density_reference + value: 1000.0 + units: kg m-3 + prec: double + type: strict + reference: Gill_1982 + description: " + Conventional reference density of pure water used in coupled + modeling; this is an approximation and not an exact + thermodynamic density at a specific state point. + " + - name: pure_water_specific_heat_capacity_reference + value: 4188.0 + units: J kg-1 K-1 + prec: double + type: strict + reference: Smithsonian1951 + description: " + Conventional reference specific heat capacity of pure water. + " + - name: latent_heat_of_fusion_reference + value: 333700.0 + units: J kg-1 + prec: double + type: strict + reference: CRC2018 + description: " + Reference latent heat released during freezing or absorbed during + melting of water. + " + - name: latent_heat_of_vaporization_reference + value: 2501000.0 + units: J kg-1 + prec: double + type: strict + reference: Smithsonian1951 + description: " + Reference latent heat required to convert liquid water to vapor. + " + - name: latent_heat_of_sublimation_reference + value: 2834700.0 + units: J kg-1 + prec: double + type: strict + reference: Smithsonian1951 + description: " + Derived constant. Defined as latent_heat_of_fusion_reference + + latent_heat_of_vaporization_reference. + " + - earth_atmosphere: + description: " + Thermophysical reference constants primarily associated with + Earth's atmospheric processes, and used across coupled components + " + entries: + - name: dry_air_molar_mass_reference + value: 0.028966 + units: kg mol-1 + prec: double + type: strict + reference: Smithsonian1951 + description: " + Reference molar mass of dry air used in atmospheric + thermodynamic parameterizations. + " + - name: water_vapor_molar_mass_reference + value: 0.018016 + units: kg mol-1 + prec: double + type: strict + reference: Smithsonian1951 + description: " + Reference molar mass of water vapor used in atmospheric + thermodynamic parameterizations. + " + - name: dry_air_specific_gas_constant_reference + value: 287.04213968100532 + units: J kg-1 K-1 + prec: double + type: strict + reference: US_StdAtm_1976 + description: " + Derived constant. Defined as molar_gas_constant / + dry_air_molar_mass_reference. + " + - name: water_vapor_specific_gas_constant_reference + value: 461.50436378774424 + units: J kg-1 K-1 + prec: double + type: strict + reference: US_StdAtm_1976 + description: " + Derived constant. Defined as molar_gas_constant / + water_vapor_molar_mass_reference. + " + - name: dry_air_density_at_standard_temperature_and_pressure + value: 1.2923190576466714 + units: kg m-3 + prec: double + type: strict + reference: US_StdAtm_1976 + description: " + Derived constant. Defined as standard_atmosphere / + (dry_air_specific_gas_constant_reference * + pure_water_freezing_temperature). + " + - name: dry_air_specific_heat_capacity_reference + value: 1004.64 + units: J kg-1 K-1 + prec: double + type: strict + reference: Smithsonian1951 + description: " + Reference specific heat capacity of dry air at constant pressure. + " + - name: water_vapor_specific_heat_capacity_reference + value: 1810.0 + units: J kg-1 K-1 + prec: double + type: strict + reference: Smithsonian1951 + description: " + Reference specific heat capacity of water vapor used in + atmospheric thermodynamic parameterizations. + " + - earth_seawater: + description: " + Thermophysical reference constants associated with seawater (both + liquid and solid) on Earth + " + entries: + - name: seawater_density_reference + value: 1026.0 + units: kg m-3 + prec: double + type: strict + reference: Gill_1982 + description: " + Canonical reference-scale seawater density; model adopts + 1026 kg m-3. + " + - name: seawater_specific_heat_capacity_reference + value: 3996.0 + units: J kg-1 K-1 + prec: double + type: strict + reference: Gill_1982 + description: " + Reference seawater specific heat capacity. + " + - name: ocean_reference_salinity + value: 34.7 + units: g kg-1 + prec: double + type: strict + reference: Levitus1982 + description: " + Reference ocean salinity. + " + - name: speed_of_sound_in_seawater_reference + value: 1500.0 + units: m s-1 + prec: double + type: strict + reference: Gill_1982 + description: " + Typical reference speed of sound in seawater. + " + - name: vsmow_ratio_18o_to_16o + value: 2005.2E-6 + units: none + prec: double + type: strict + reference: IAEA1995 + description: " + Isotopic ratio 18O/16O in Vienna Standard Mean Ocean Water (VSMOW). + " + - name: vsmow_ratio_17o_to_16o + value: 379.0E-6 + units: none + prec: double + type: strict + reference: IAEA1995 + description: " + Isotopic ratio 17O/16O in Vienna Standard Mean Ocean Water (VSMOW). + " + - name: vsmow_fraction_16o_of_total_oxygen + value: 0.997628 + units: none + prec: double + type: strict + reference: IAEA1995 + description: " + Isotopic fraction of 16O in total oxygen for Vienna Standard Mean + Ocean Water (VSMOW). + " + - name: vsmow_ratio_2h_to_1h + value: 155.76E-6 + units: none + prec: double + type: strict + reference: IAEA1995 + description: " + Isotopic ratio 2H/1H in Vienna Standard Mean Ocean Water (VSMOW). + " + - name: vsmow_ratio_3h_to_1h + value: 1.85E-6 + units: none + prec: double + type: strict + reference: IAEA1995 + description: " + Isotopic ratio 3H/1H in Vienna Standard Mean Ocean Water (VSMOW). + " + - name: vsmow_fraction_1h_of_total_hydrogen + value: 0.99984426 + units: none + prec: double + type: strict + reference: IAEA1995 + description: " + Isotopic fraction of 1H in total hydrogen for Vienna Standard Mean + Ocean Water (VSMOW). + " + - name: sea_ice_density_reference + value: 917.0 + units: kg m-3 + prec: double + type: strict + reference: Smithsonian1951 + description: " + Reference density of sea ice. + " + - name: sea_ice_specific_heat_capacity_reference + value: 2117.27 + units: J kg-1 K-1 + prec: double + type: strict + reference: Smithsonian1951 + description: " + Reference specific heat capacity of sea ice. + " + - name: sea_ice_thermal_conductivity_reference + value: 2.1 + units: W m-1 K-1 + prec: double + type: strict + reference: MaykutUntersteiner1971 + description: " + Reference thermal conductivity of sea ice. + " + - name: sea_ice_reference_salinity + value: 4.0 + units: g kg-1 + prec: double + type: strict + reference: Untersteiner1961 + description: " + Reference sea-ice salinity. + " + - name: sea_ice_thermal_diffusivity_reference + value: 1.0863739733765951E-06 + units: m2 s-1 + prec: double + type: strict + reference: CuffeyPaterson2010 + description: " + Derived constant. Defined as + sea_ice_thermal_conductivity_reference / + (sea_ice_density_reference * sea_ice_specific_heat_capacity_reference). + " + - isotopic_standards: + description: " + Isotopic ratio and fraction standards used across Earth system components + " + entries: + - name: pee_dee_belemnite_ratio_13c_to_12c + value: 0.0112372 + units: none + prec: double + type: strict + reference: Craig1957 + description: " + Reference isotopic ratio 13C/12C for the Pee Dee Belemnite carbon + isotope standard. + " From f0746134b3a1751ddd9b21da891dde7c79f072d1 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Fri, 27 Mar 2026 04:16:10 -0500 Subject: [PATCH 2/2] Update Omega submodule to latest develop Brings in: * https://github.com/E3SM-Project/Omega/pull/371 * https://github.com/E3SM-Project/Omega/pull/372 --- e3sm_submodules/Omega | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/e3sm_submodules/Omega b/e3sm_submodules/Omega index 74611d548d..56de8ec3d6 160000 --- a/e3sm_submodules/Omega +++ b/e3sm_submodules/Omega @@ -1 +1 @@ -Subproject commit 74611d548d4d8b629ff616007f06f5bd87fafa92 +Subproject commit 56de8ec3d68b837f87a18c15f1417518131e72e0