-
Notifications
You must be signed in to change notification settings - Fork 49
Indirect effects of H2 on trop O3 #780
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
base: dev-h2
Are you sure you want to change the base?
Conversation
@@ -62,6 +62,11 @@ void OzoneComponent::init(Core *coreptr) { | |||
core->registerInput(D_EMISSIONS_CO, getComponentName()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@bpbond before I wrap up the changes for this PR I do have a question, looking at the src/o3_component.cpp
// Register the emissions we accept (note that OH component also
// accepts these. That's ok
core->registerInput(D_EMISSIONS_CO, getComponentName());
core->registerInput(D_EMISSIONS_NMVOC, getComponentName());
core->registerInput(D_EMISSIONS_NOX, getComponentName());
core->registerInput(D_EMISSIONS_H2, getComponentName());
which makes me think that we can also read in the H2 emissions a second time here? Is that how we want to do this? Or should these emissions be passed as a dependency from the OH component?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kdorheim No, I agree, it seems cleanest to have it as a direct input here too.
That surprises me a little! I didn't realize (or forgot) the model could route inputs to multiple components.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So leave it as is?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's my vote, yes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for the delay!
@@ -82,6 +82,7 @@ enum unit_types { | |||
U_TG_NMVOC, | |||
U_TG_H2, | |||
U_DU_O3, | |||
U_DU_O3_TG, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the unit here, exactly? Might be worth an explanatory comment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it O3 Dobson Units per Tg emissions (in this case it is H2 emissions)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's pretty esoteric :) -- anyway, my suggestion is just to make sure an explanation is easily findable by readers
unitval current_ch4 = core->sendMessage(M_GETDATA, D_CH4_CONC, runToDate); | ||
|
||
O3.set(runToDate, | ||
unitval((5 * log(current_ch4)) + (0.125 * current_nox) + | ||
(0.0011 * current_co) + (0.0033 * current_nmvoc), | ||
U_DU_O3)); | ||
(0.0011 * current_co) + (0.0033 * current_nmvoc) + |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there documentation on the source of these coefficients?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
are you talking about the 0.0011, 0.0033, 0.125, and 5?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, yes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Gah! sorry I forgot to finish my reply! So those coefficients came from our implementation of Tanaka 2007 from Wigley 2002. But long story is that there is an implementation problem (similar to what happened with the methane lifetime wrt OH equation) so these coefficients might need to be changed
Tanaka, K., Kriegler, E., Bruckner, T., Hooss, G., Knorr, W., & Raddatz, T. (2007). Aggregated carbon cycle, atmospheric chemistry, and climate model (ACC2). Reports on Earth Systems Science, 40. https://www.semanticscholar.org/paper/Aggregated-Carbon-cycle%2C-atmospheric-chemistry-and-Tanaka-Kriegler/78a873db5b1d1410a68165f1fdf1873beba4e6db
Wigley, T. M. L., Smith, S. J., & Prather, M. J. (2002). Radiative Forcing Due to Reactive Gas Emissions. Journal of Climate, 15, 2690–2696. https://doi.org/10.1175/1520-0442(2002)015<2690:RFDTRG>2.0.CO;2
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the extra detail @kdorheim
This should address https://github.com/orgs/JGCRI/projects/7?pane=issue&itemId=72654984&issue=JGCRI%7CHector_H2_Project%7C4, implement the indirect effects of H2 emissions on trop O3 burden.