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

Feature Request: Functions to adapt handling of GHG emissions from Input4MIPs in data loader #9

Open
liellnima opened this issue May 17, 2024 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@liellnima
Copy link
Collaborator

While this should / will be implemented in the ClimateSet_extension repository (i.e. the data pipeline), we should integrate this feature into the data loader of the emulator right now. This way, everyone can use that feature while the new pipeline is under development. However, this feature should be integrated here anyway, because the needs of how to adapt those GHG depends largely on your use case, i.e. it should be adaptable in the data loader.

For the current GHG emissions, it would be great if we can add custom functions for each emission type, that adapt this variable's data according to our needs.

Specifically, I would like to have functions for CO2 and CH4.

Reasoning: In order to allow having more batches (i.e. the data is split up more), we must make sure that the forcing data is not lost by cutting of years.

SO2 & BC:
Right now we have monthly data, i.e. for SO2 and BC, we don't need to do anything, since their overall life time is smaller than that.

CO2:
We need to accumulate the CO2, i.e. if we have the following array: [1, 1, 1, 1, 1] (emission of 1 per time-step), we should get [1, 2, 3, 4, 5] afterwards.
This should be applied upon the time-axis throughout our whole time-series. The spatial axis stays the same.
Limitations: We haven't done this before because we would need to calculate the baseline CO2 measurement on this for each model. We ignore this for now, and just take the overall accumulations through emissions (Input4MIPs). This is still better than keeping it the way we have it right now.

CH4:
CH4 has a life-time of up to 12 years. For monthly data, this means we always need to look at the last 12x12=144 time-steps of emissions.

If the CH4 emissions look like that, and we assume we need to look only at the last three time-steps (just to make the example easier):

[1, 1, 1, 1, 1, 5, 9, 3, 1]

We would expect the following output: (past emission of last three time steps + present emissions)
Timestep 1: [1] (past=0, present=1)
Timestep 2: [2] (past=1, present=1)
Timestep 3: [3] (past=2, present=1)
Timestep 4: [4] (past=3, present=1)
Timestep 5: [4] (past=3, present=1)
Timestep 6: [8] (past=3, present=5)
Timestep 7: [16] (past=7, present=9)
Timestep 8: [18] (past=15, present=3)
Timestep 9: [18] (past=17, present=1)

Especially the last task will probably come up again and again (just with different time scales), so this function will certainly be useful.

If @geronimocharlie could add both those functions in the code base, that would be fantastic!

@liellnima liellnima added the enhancement New feature or request label May 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants