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

Move aerosols to its own type #3492

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Move aerosols to its own type #3492

wants to merge 1 commit into from

Conversation

Sbozzolo
Copy link
Member

@Sbozzolo Sbozzolo commented Dec 23, 2024

Aerosols were handled by parsing directly the YAML arguments. This led to implicit assumptions, and required aerosols to be handled differently. For example, we had to pass the list aerosol_names to build_cache even when no aerosol was required.

This commit moves aerosol to its own type so that we can follow a more composable approach. It is still not fully possible to swap in a custom, user-defined type because the portion of code in RRTGMPInterface makes assumption on the names of the aerosols. I add error checking for that

@Sbozzolo Sbozzolo force-pushed the gb/aerosol_struct branch 2 times, most recently from bfced1d to be36f78 Compare December 23, 2024 16:13
Copy link
Member

@charleskawczynski charleskawczynski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we make aerosols model a property of the radiation model, instead of the atmos model?

@Sbozzolo
Copy link
Member Author

Can we make aerosols model a property of the radiation model, instead of the atmos model?

I discussed this in the past with @szy21. We decided that it makes more sense to keep tracers separate because at some point in the future they are not going to be tied to the radiation model.

@Sbozzolo Sbozzolo force-pushed the gb/aerosol_struct branch 3 times, most recently from 009226c to 91d87a7 Compare December 23, 2024 16:49
Aerosols were handles by parsing directly the YAML arguments. This led
to implicit assumptions, and required aerosols to be handled
differently. For example, we had to pass the list `aerosol_names` to
`build_cache` even when no aerosol was required.

This commit moves aerosol to its own type so that we can follow a more
composable approach. It is still not fully possible to swap in a custom,
user-defined type because the portion of code in RRTGMPInterface makes
assumption on the names of the aerosols. I add error checking for that
@Sbozzolo
Copy link
Member Author

I forgot that symbols are not isbits, so this is currently not GPU compatible. I will work on it.

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

Successfully merging this pull request may close these issues.

2 participants