Skip to content

(0.19.0) Changes for NumericalEarth coupling + gas exchange changes #411 - #399

Merged
jagoosw merged 59 commits into
mainfrom
jsw/numerical-earth-coupling
Sep 15, 2026
Merged

jagoosw merged 59 commits into
mainfrom
jsw/numerical-earth-coupling

Conversation

@jagoosw

@jagoosw jagoosw commented Aug 24, 2026

Copy link
Copy Markdown
Collaborator

This PR makes a few changes we need for automatic NumericalEarth setup:

  • Introduces an PAR abstract type so we can set up things effecting all models more easily (and introduces some helper functions)
  • Introduces PARFromShortwave which has a surface_shortwave (that can be a number/field/function), and a PAR fraction
  • Introduces an abstract type for inorganic carbon models to pass around the number of replicates generically
  • Moves wind speed inside the transfer velocity to allow transfer velocities in general to depend on more things
  • Allows surface_value to interpolate field time series

Proceeds NumericalEarth/NumericalEarth.jl#572

This PR is breaking in the gas exchange API as it moves the wind speed into the transfer velocity rather than being a top level property of the gas exchange. This is only breaking if you construct directly rather than using the co2 or oxygen convenience constructors (which I guess people probably don't).

Via #411: In the API the breaking changes are dropping first_virial_coefficient, cross_virial_coefficient, and air_pressure from CarbonDioxideConcentration, and solubility from the transfer velocity wrappers (they are now plain transfer velocities). The value of CO2 fluxes has also changed.

@jagoosw jagoosw changed the title NumericalEarth coupling Changes for NumericalEarth coupling Aug 26, 2026
@jagoosw jagoosw changed the title (0.19.0) Changes for NumericalEarth coupling (0.19.0a) Changes for NumericalEarth coupling Sep 14, 2026
@jagoosw jagoosw changed the title (0.19.0a) Changes for NumericalEarth coupling (0.19.0) Changes for NumericalEarth coupling Sep 14, 2026
@jagoosw jagoosw changed the title (0.19.0) Changes for NumericalEarth coupling (0.19.0) Changes for NumericalEarth coupling + gas exchange changes #411 Sep 14, 2026
@jagoosw
jagoosw added this pull request to stack #418 September 15, 2026 16:52
jagoosw and others added 15 commits September 15, 2026 18:04
`K0` is defined in `OceanBioME.Models.CarbonChemistryModel`, not in the
`GasExchangeModel` module the docstring lives in, so Documenter couldn't
resolve the unqualified @ref and the docs build failed.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TH7fhhztRhnmURhX3tWFMD
The MARBL reference tests passed a raw PolynomialParameterisation as the
base_transfer_velocity, but surface_value dispatches through
WindSpeedScaledTransferVelocities now. Wrap the k660 polynomial for the
exchange construction and inline the formula for direct comparisons.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01U3wSZLiTni7NKiLPcDGdVU
@jagoosw
jagoosw removed this pull request from stack #418 September 15, 2026 18:42
(0.19.0b) Improves gas exchange + adds MARBL's oxygen solubility
@jagoosw
jagoosw merged commit 15f783b into main Sep 15, 2026
5 of 12 checks passed
@jagoosw
jagoosw deleted the jsw/numerical-earth-coupling branch September 15, 2026 18:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant