Update to treatment of vertical passive tracers and a new pseudo-salt tracer#353
Conversation
- Added ocean_SIS/OM4_025 (new basis for CM4 ocean component) - *Major fix for "interp from Z" - Added z-diagnostics to OM4/MOM6z
…ve tracers because of a layer thickness update.w Details: In the subroutine applyBoundaryFluxesInOut, the 'h' field is updated based on freshwater fluxes. T and S are treated in a way that is consistent with these mass fluxes. However for passive tracers, the change in layer thickness (particularly at the top) does not result in a change of tracer concentration. Thus, the 'hold' field that is passed into tracer_column_fns and eventually tracer_vertdiff is either thicker or thinner, but the tracer concentration in that cell has not changed resulting in a net change in tracer inventory. This fix modifies the thickness of the top layer by subtracting the freshwater flux (set in applyBoundaryFluxesInOut as ea(i,j,1)) before passing 'hold' into the tracer_column_fns. This change should only affect passive tracers and not change budgets of T, S, or mass.
…cknesses are guarded against
…Need to think about how to implement it most efficiently
… not getting stored correctly
… a passive tracer is next
…ngificant figures are identical except for the last 2 or 3, but it is different in the exponent by a factor of 1000. The factor of 1000 arises because write_energy divides the total salt stock by mass. However, differences do exist between pseudo_salt and salt on a grid cell. Unsure if this is a real difference or not.
…tween tridiagTS and tracer_vertdiff
…because of freshwater flux during ice formation/melting
…ed by comparing the passive pseudo-salt tracer to the active salt tracer used for thermodynamic calculations. A small difference in the placement of parentheses in tracer_vertdiff compared to tridiagTS lead to answers changing when T/S were diffused vertically using the passive tracer routines. In a Baltic ALE-z test case, the pseudo salt tracer tracks the active salt tracer perfectly.
|
Also note that this does NOT fix the passive tracer concentration for tracer which use MOM_generic_tracer. generic_tracer_vertdiff_G must be updated similarly to tracer_vertdiff in MOM_tracer_diabatic.F90. |
…Out is called explicitly in tracer column_physics routines
…irm that the COBALT tracers are conserved.
…the generic tracer package using CFCs and COBALT.
|
To validate this fix for the generic tracer framework, I used a OM4 0.5 degree configuration based on John Krasting's CFC/SF6 model run. I integrated it for a day, then used it as a restart for a short 5-day run where surface fluxes of CFCs were turned off. Total CFC-11 and CFC-12 stock were conserved to the last 4 decimal places which is the same level of accuracy as passive tracers using the MOM6 tracer framework. |
|
@ashao - @adcroft, @nikizadehgfdl, and I were looking at this update. Are any changes needed to ocean_shared for this to work? |
|
@nikizadehgfdl , @adcroft , @jkrasting , Originally, I thought there might need to be, but I was able to organize it so that the fix is only implemented on the MOM6 side via MOM_generic_tracer.F90. Andrew |
|
Excellent. Thanks @ashao Dr. John Krasting, Physical Scientist On Thu, Sep 22, 2016 at 11:51 AM, Andrew Shao notifications@github.com
|
| use MOM_hor_index, only : hor_index_type | ||
| use MOM_io, only : file_exists, read_data, slasher, vardesc, var_desc | ||
| use MOM_restart, only : register_restart_field, query_initialized, MOM_restart_CS | ||
| use MOM_spatial_means, only : global_area_mean |
There was a problem hiding this comment.
@jkrasting is right, this commit did undo the changes from https://github.com/NOAA-GFDL/MOM6/pull/351/files . I'm guessing this happened because he was merging in changes from a file that is being copied in via the XML and isn't even on GitHub.
|
This is fixed now. Thanks @ashao and @jkrasting . |
* add geolat_u, geolat_v, geolon_u, and geolon_v coordinates to the ocean_geometry file.
The changes made here ensure that passive tracers are treated in the same way as the active tracers.
Overview of changes