-
Notifications
You must be signed in to change notification settings - Fork 33
Description
Hi. We've recently ported our ocean BGC model WOMBAT (Whole Ocean Model or Biogeochemistry And Tropic dynamics) to the generic_tracers
framework so that we can use it with both MOM5 and MOM6.
That model includes virtual flux adjustments to a few tracers when surface salt restoring is applied via a salt flux in the ocean model. Basically I need to adjust the stf
array for a few tracers according to:
stf = stf + salt_restore * tracer_global / salt_global
where salt_restore
is the restoring salt flux applied by the ocean model, and tracer_global
and salt_global
are constant parameters.
Obviously I need to modify/extend the generic_tracers
API to allow passing the restoring salt flux from the ocean model, but there's no clear clean way to do this. For example, on face value it looks as though the virtual flux adjustments could be done in a generic_WOMBAT_update_from_coupler
routine inside generic_tracer_coupler_get
, but:
generic_tracer_coupler_get
is called before the restoring fluxes are calculated in MOM5generic_tracer_coupler_get
is not called at all in MOM6
I'm a little surprised I'm the first to want to do this. Are COBALT
, BLING
etc never run with ocean salt restoring? Does anyone out there have suggestions for where/how the virtual flux adjustments could be included?