Help with units

I am interested in looking at the partition between physical and biological processes in influencing oxygen concentrations. From Oke et al. 2013, if I interpret correctly, the change in oxygen is given by:

\partial_t O_2 = ADV + DIFF + BIO

where the BIO part is -\frac{177}{16} \partial_t N and N is nitrate concentration.

I can see that we have the following diagnostics:

  • o2 in mmol/m3
  • no3 in mmol/m3
  • o2_flux_adv in kg/s

If I can convert the flux to mmol/m3, I could then get the diffusion part as a residual (away from surface and boundaries I’m expecting it to be small anyways) - but I’m not sure how to do the unit conversion for the advection term.

Metadata says o2_flux_adv is rho*A*u*tracer, where A is the x or y area of the gridcell. So dividing by 1035 reference density I’d obtain a volume flux in m3/s, but that is as far as I got.

Would any BGC wizs out there be able to tell me if (a) my logic is correct re processes governing o2 and (b) how to manage the unit conversion?

Very much appreciated.

I wouldn’t call myself a BGC wiz so take these 2 cents with a grain of salt:

a. Yes, I think your understanding is sound. O2 below the surface is essentially biologically produced by photosynthesis (along with some organic N) or respired by bacteria (along with remineralization of N). The reality is of course more complicated, e.g., you can get some decoupling between O2 and N when denitrification/N-fixation occurs.

b. I think you just have to divide o2_flux_adv by the mass of water in the grid cell, i.e., rho * volcello. Assuming rho*A*u*tracer is in (kg m−3) (m2) (m s−1) (mmol m−3) = kg mmol m−3 s−1, dividing by rho * volcello (unit: kg) would give you the advective flux convergence/divergence (depending on the orientation of u) in mmol m−3 s−1. Not sure if that’s the unit of your o2_flux_adv though…

1 Like

Thanks a lot Benoit! I’ve interpreted a. from Oke et al. 2013 appendix B.

Regarding the units, rho*A*u*tracer is in units of kg/s, i.e. the tracer is unitless. I would like to convert the unitless concentration to mmol/m3, which is the part I’m unsure about?

Maybe @aekiss or @pearseb know about these units?

1 Like

Yes, that’s it, they avoid the complexities of the N cycle altogether:

We assume a Redfield ratio of 1 : 16 : 106 : −172 (P : N : C : O2) with phosphate, nitrate, carbon and oxygen. The choice of phosphate as our macro-nutrient rather than nitrate allows us to neglect nitrification, denitrification and atmosphere deposition, which add and remove nitrate from the ocean and make the nitrogen cycle more complicated than the phosphate cycle, which is conserved in the ocean


I am now also confused regarding the units. I don’t really understand how o2_flux_adv or rho*A*u*tracer could be in units of kg/s. Could that be a mistake in the metadata? Surely the variable representing some flux of O2 must incude a unit for O2 somehow, right? Maybe this kg/s is actually in kg of O2? (In which case you’d have to divide by the volume of the cell and convert the kg of O2 to mmolO2)

1 Like

Well, I’ve been discussing this with @Lizzie and she pointed out to this post Incorrect units for tracer flux and tendency diagnostics · Issue #363) where they do talk about incorrect units, but that post is from +2yrs ago so I’m not sure it is still an issue.

I’ve also seen this post in the hive Particular detritus comparison in PI and LIG - COSIMA / Biogeochemistry - ACCESS Hive Community Forum (access-hive.org.au) but again I’m not sure if it is applicable to these diagnostics or not.

And like I said, I’ve got next to none experience in bgc :sweat_smile:

1 Like

Yes, you’re better off waiting for @aekiss or @pearseb to for a definitive answer, but my guess is that this issue you linked is the one you are facing.

If they just omitted the mmol m−3 unit for O2, dividing o2_flux_adv by the water mass in the cell seems to be the way to go.

You could try it and see if the values you get makes sense in terms of order of magnitude?

1 Like

BTW although the issue is 2 years old, the corresponding code file has not been touched in 6 years on the master branch, so unless the output you are using was produced by code from another repository/branch, that issue has not been fixed in your case.

2 Likes

Hi @JuliaN, you also need to include atmospheric fluxes at the surface (see p 611)

Oke et al eq B12 actually has 172 in the numerator, not 177. This is due to the assumed Redfield ratio of 1:16:106:−172 (P:N:C:O2). I could be wrong, but it seems that sometimes N is nutrient (in phosphate units), and sometimes it’s nitrate. But the 16 in B12 indicates that in this case N is nitrate, i.e. this is just the time derivative of the assumed Redfield ratio.

2 Likes

I guess you mean o2_*flux_adv (*=x,y,z)?

This issue hasn’t been fixed, so the units metadata is incorrect for all BGC tracer flux outputs.

I think the actual units for o2_*flux_adv are (tracer units)*kg/sec. I guess in this case tracer units are mmol/m^3, as the metadata for o2 says. So units for o2_*flux_adv are (mmol kg)/(m^3 sec). Does that work?

2 Likes

Awesome this is everything I needed! Thank you very much Andrew and Benoit!

2 Likes

FWIW, we have a paper fresh out of the press on almost exactly this topic (Pasquier et al. 2024), albeit in an idealised context… Maybe it’s useful to you?

Looks like this was all figured out. Thanks @Benoit and @aekiss for helping.

1 Like

Thanks for sharing Benoit! This is very useful :slight_smile:

1 Like