-
Notifications
You must be signed in to change notification settings - Fork 1
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
Add BB4CMIP processing #27
Conversation
znichollscr
commented
Jan 8, 2025
•
edited
Loading
edited
- Add CEDS processing #26
@chrisroadmap first question for you, where did NMVOC come from? There are no NMVOC_bulk files for BB4CMIP (unlike CEDS) on ESGF as far as I can tell, should we be using higher alkenes or something instead or am I missing something? |
@jkikstra this should at least run for you if you want to test just making it go |
they exist but hard to find, listed under "Multiple" in ESGF
In my PR, hopefully I remembered to stick a note in the README in the GFED BB4CMIP directory instructions for download |
Legend thanks mate |
Hmm to get the percentage from boreal forest vs. peat vs. temporal forest we'll need to download those files too and process slightly differently. I don't know how much IAM teams care about the breakdown of biomass burning vs. the totals (we don't care for our emulators, at least not to first order). |
3e503b8
to
88e6a2e
Compare
Given updates in #26, don't bother reviewing this until I've had a chance to rebase. |
Co-authored-by: chrisroadmap <[email protected]>
Co-authored-by: chrisroadmap <[email protected]>
88e6a2e
to
1c8d1ec
Compare
Good to go here @jkikstra |
Will try to have a look tomorrow. |
Alright, been going through this today. The good & great:
The things to be added:
The questions:
NMVOC
NMVOC chunks: 0%| | 0/28 [00:00<?, ?it/s] Difference from what the data provider thinks the global value should be in 1750 Not equal to tolerance rtol=1e-07, atol=0 Mismatched elements: 1 / 1 (100%) Not equal to tolerance rtol=1e-07, atol=0 Mismatched elements: 1 / 1 (100%) Not equal to tolerance rtol=1e-07, atol=0 Mismatched elements: 1 / 1 (100%) Not equal to tolerance rtol=1e-07, atol=0 Mismatched elements: 1 / 1 (100%) CO2
CO2 chunks: 0%| | 0/28 [00:00<?, ?it/s] Difference from what the data provider thinks the global value should be in 1750 Not equal to tolerance rtol=1e-07, atol=0 Mismatched elements: 1 / 1 (100%) Not equal to tolerance rtol=1e-07, atol=0 Mismatched elements: 1 / 1 (100%) Not equal to tolerance rtol=1e-07, atol=0 Mismatched elements: 1 / 1 (100%) Not equal to tolerance rtol=1e-07, atol=0 Mismatched elements: 1 / 1 (100%) CH4 (very minor)
CH4 chunks: 0%| | 0/28 [00:00<?, ?it/s] Difference from what the data provider thinks the global value should be in 1750 Not equal to tolerance rtol=1e-07, atol=0 Mismatched elements: 1 / 1 (100%) Not equal to tolerance rtol=1e-07, atol=0 Mismatched elements: 1 / 1 (100%) Not equal to tolerance rtol=1e-07, atol=0 Mismatched elements: 1 / 1 (100%) Not equal to tolerance rtol=1e-07, atol=0 Mismatched elements: 1 / 1 (100%) OC (very minor)
OC chunks: 0%| | 0/28 [00:00<?, ?it/s] Difference from what the data provider thinks the global value should be in 1750 Not equal to tolerance rtol=1e-07, atol=0 Mismatched elements: 1 / 1 (100%) Not equal to tolerance rtol=1e-07, atol=0 Mismatched elements: 1 / 1 (100%) Not equal to tolerance rtol=1e-07, atol=0 Mismatched elements: 1 / 1 (100%) Not equal to tolerance rtol=1e-07, atol=0 Mismatched elements: 1 / 1 (100%) NH3
Difference from what the data provider thinks the global value should be in 1899 Not equal to tolerance rtol=1e-07, atol=0 Mismatched elements: 1 / 1 (100%) NOx (very minor)
NOx chunks: 0%| | 0/28 [00:00<?, ?it/s] Difference from what the data provider thinks the global value should be in 1750 Not equal to tolerance rtol=1e-07, atol=0 Mismatched elements: 1 / 1 (100%) Not equal to tolerance rtol=1e-07, atol=0 Mismatched elements: 1 / 1 (100%) Not equal to tolerance rtol=1e-07, atol=0 Mismatched elements: 1 / 1 (100%) Not equal to tolerance rtol=1e-07, atol=0 Mismatched elements: 1 / 1 (100%) SO2 (very minor)
SO2 chunks: 0%| | 0/28 [00:00<?, ?it/s] Difference from what the data provider thinks the global value should be in 1750 Not equal to tolerance rtol=1e-07, atol=0 Mismatched elements: 1 / 1 (100%) |
Bugger. We might want to switch our approach then and process from the raw GFED files rather than the ESGF files as the ESGF files use this approach where they provide percentage files, which you have to download and then multiply with the emissions so you end up with like six times as much data and processing time, which isn't ideal. So I'd suggest a follow up PR.
Ah yes I get the same. I should tweak this, they all look like rounding oddities to me (I didn't read them all, but some and the pattern seemed consistent...) |
Hmm ok having looked at your nice summary of the differences, they're not as minor as I thought. I'll have a play tomorrow and see if I can make the difference smaller (for at least 30 minutes, we might just move on at that point). |
Desired is always smaller than actual. To me this suggests that the grid areas are slightly different between datasets. Also is the days per month weighting being done? |
Good observation
We're using the cell area info provided by the data provider, so I don't think that is it (or the provided cell areas are wrong, always possible).
Yes using your code which looks fine to me. Given all the differences are less than 1%, I would suggest we just move on with life. @chrisroadmap if you want to go digging, go for it but I would say let's merge this PR and pick up any such digging in a follow up PR. @jkikstra I found 15 minutes so I'd say let's merge this, then use #35 to pick up the sectoral processing from raw GFED data. |
OK, agreed. And having two ways both ways to process things allows for checking as well. Now that this is in, we can do the processing from raw GFED file while still being able to sleep with a good conscience, because we can try to ascertain ourselves that things still add up to the total. |