You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We've recently suggested changes to NOAA-GFDL/ocean_BGC generic_tracers to provide a way to pass the salt restoring/correction applied by the ocean model to generic tracers. Those proposed changes add a new subroutine generic_tracer::generic_tracer_update_from_coupler that receives the salt flux and passes it on the generic tracer's update_from_coupler routine if it is needed. Currently this feature is only utilised by the WOMBAT generic tracers.
To use this feature requires corresponding changes to the calling ocean model. Below is a summary of how the relevant MOM5 code is implemented currently, and proposed changes (bold text indicates new routines).
Currently:
generic_tracer::generic_tracer_coupler_get is called via ocean_generic_mod::ocean_generic_sbc <- ocean_tpm_mod::ocean_tpm_sbc <- ocean_sbc_mod::get_ocean_sbc <- ocean_model_mod::update_ocean_model
generic_tracer::generic_tracer_coupler_get calls
g_tracer_utils::g_tracer_coupler_get to update the tracer boundary values for each prognostic tracer
the generic tracer's update_from_coupler routine
Proposed changes
Replace the call to generic_tracer::generic_tracer_coupler_get with a call to a new generic_tracer::generic_tracer_coupler_accumulate. NOAA-GFDL/ocean_BGC generic_tracersalready includes this routine. In MOM5, this routine will simply call g_tracer_utils::g_tracer_coupler_get to update the tracer boundary values for each prognostic tracer.
Add a new generic_tracer::generic_tracer_update_from_coupler routine that receives the salt restoring/correction flux array and passes it on the generic tracer's update_from_coupler routine if it is needed. This is the same as the suggested changes described above.
Call the new generic_tracer::generic_tracer_update_from_coupler via ocean_generic_mod::ocean_generic_sbc_adjust <- ocean_tpm_mod::ocean_tpm_sbc_adjust <- ocean_sbc_mod::flux_adjust <- ocean_model_mod::update_ocean_model, passing the applied salt flux restoring/correction array.
I'll follow up with a PR demonstrating the proposed changes.
Import notes:
The proposed changes should not change the current behaviour of MOM5 if the generic_tracer code in the local ocean_shared directory is used.
If an external generic_tracer codebase is used (e.g. NOAA-GFDL/ocean_BGC), that codebase will need to include the new generic_tracer::generic_tracer_update_from_coupler routine.
The text was updated successfully, but these errors were encountered:
We've recently suggested changes to NOAA-GFDL/ocean_BGC
generic_tracers
to provide a way to pass the salt restoring/correction applied by the ocean model to generic tracers. Those proposed changes add a new subroutinegeneric_tracer::generic_tracer_update_from_coupler
that receives the salt flux and passes it on the generic tracer'supdate_from_coupler
routine if it is needed. Currently this feature is only utilised by the WOMBAT generic tracers.To use this feature requires corresponding changes to the calling ocean model. Below is a summary of how the relevant MOM5 code is implemented currently, and proposed changes (bold text indicates new routines).
Currently:
generic_tracer::generic_tracer_coupler_get
is called viaocean_generic_mod::ocean_generic_sbc
<-ocean_tpm_mod::ocean_tpm_sbc
<-ocean_sbc_mod::get_ocean_sbc
<-ocean_model_mod::update_ocean_model
generic_tracer::generic_tracer_coupler_get
callsg_tracer_utils::g_tracer_coupler_get
to update the tracer boundary values for each prognostic tracerupdate_from_coupler
routineProposed changes
generic_tracer::generic_tracer_coupler_get
with a call to a newgeneric_tracer::generic_tracer_coupler_accumulate
. NOAA-GFDL/ocean_BGCgeneric_tracers
already includes this routine. In MOM5, this routine will simply callg_tracer_utils::g_tracer_coupler_get
to update the tracer boundary values for each prognostic tracer.generic_tracer::generic_tracer_update_from_coupler
routine that receives the salt restoring/correction flux array and passes it on the generic tracer'supdate_from_coupler
routine if it is needed. This is the same as the suggested changes described above.generic_tracer::generic_tracer_update_from_coupler
viaocean_generic_mod::ocean_generic_sbc_adjust
<-ocean_tpm_mod::ocean_tpm_sbc_adjust
<-ocean_sbc_mod::flux_adjust
<-ocean_model_mod::update_ocean_model
, passing the applied salt flux restoring/correction array.I'll follow up with a PR demonstrating the proposed changes.
Import notes:
generic_tracer
code in the localocean_shared
directory is used.generic_tracer
codebase is used (e.g.NOAA-GFDL/ocean_BGC
), that codebase will need to include the newgeneric_tracer::generic_tracer_update_from_coupler
routine.The text was updated successfully, but these errors were encountered: