Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question on carbon isotope model and equation within marbl_ciso_interior_tendency_mod.F90 #428

Open
jlinmod opened this issue May 22, 2023 · 0 comments

Comments

@jlinmod
Copy link

jlinmod commented May 22, 2023

Has anyone verified/validated the output for the dissolved organic carbon isotope/radiocarbon model (marbl_ciso)?

In my 20-yr average, mapping of DO13C (CISO_DOCtot_d13C) at 5 m and 3000 m depth (z_t=1 and 51) , the range should be between -20 to -30 per mil, but I am getting 0 to -10 per mil mostly.

While DO14C (CISO_DOCtot_d14C) is simulating younger in the deep ocean than the top surface ocean. DO14C in the deep ocean should also be simulating depleted -400 to -500 per mil. Is the model simulation output correct for the model parameters?
DO13C 5 meter
DO13C 5 meter
DO13C 3000 meter
DO13C 3000 meters
DO14C 5 meter
DO14C 5 meters
DO14C 3000 meter
DO14C 3000 meters

Equation within marbl_ciso_interior_tendency_mod.F90 question:

Starting on line 532 of marbl_ciso_interior_tendency_mod.F90 for "Calculate oceanic D14C and D13C of carbon pools" is the tracer values to calculate per mille notation for DI13C, DI14C, DO13C, and DO14C. Are the parenthesis for the equation using the correct PEMDAS for calculating per mille? Should there be sub-brackets around the ratios of 13C/std before subtracting 1?

Code on line 532:
DIC_d13C(k) = ( R13C_DIC(k) / R13C_std - c1 ) * c1000
DIC_d14C(k) = ( R14C_DIC(k) / R14C_std - c1 ) * c1000

   DOCtot_d13C(k) =  ( R13C_DOCtot(k) / R13C_std - c1 ) * c1000
   DOCtot_d14C(k) =  ( R14C_DOCtot(k) / R14C_std - c1 ) * c1000

   zoototC_d13C(k)=  ( R13C_zoototC(k) / R13C_std - c1 ) * c1000
   zoototC_d14C(k)=  ( R14C_zoototC(k) / R14C_std - c1 ) * c1000

Proposed code:
DIC_d13C(k) = ( (R13C_DIC(k) / R13C_std) - c1 ) * c1000
DIC_d14C(k) = ( (R14C_DIC(k) / R14C_std) - c1 ) * c1000

   DOCtot_d13C(k) =  ( (R13C_DOCtot(k) / R13C_std) - c1 ) * c1000
   DOCtot_d14C(k) =  ( (R14C_DOCtot(k) / R14C_std) - c1 ) * c1000

   zoototC_d13C(k)=  ( (R13C_zoototC(k) / R13C_std) - c1 ) * c1000
   zoototC_d14C(k)=  ( (R14C_zoototC(k) / R14C_std) - c1 ) * c1000

It should be noted that my model is unable to build the case with the updated parentheses.

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

No branches or pull requests

1 participant