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

Connect GEOS-FP to everything else #27

Open
ctessum opened this issue Feb 19, 2024 · 2 comments
Open

Connect GEOS-FP to everything else #27

ctessum opened this issue Feb 19, 2024 · 2 comments
Assignees

Comments

@ctessum
Copy link
Member

ctessum commented Feb 19, 2024

Right now there are a lot of things that are parameters, for example temperature here.
We need to add connectors to GEOS-FP for pretty much all of these things, so for example if we do GEOSFP(t) + SuperFast(t) that superfast will get its temperature information from GEOS-FP rather than using the default.

So for the temperature example, this site says that temperature in GEOS-Chem is the T variable in the I3 file. So we could do something like

g = GEOSFP(t)


function Base.:(+)(s::SuperFast, g::EarthSciData.GEOSFP)::ComposedEarthSciMLSystem
    sys = param_to_var(s.sys, :T)
    s = SuperFast(sys, s.rxn_sys)
    ComposedEarthSciMLSystem(
        ConnectorSystem([
            s.sys.T ~ g.sys.I3₊T
        ], s, g),
        s, g,
    )
end
Base.:(+)(f::EarthSciData.GEOSFP, s::SuperFast)::ComposedEarthSciMLSystem = s + g

This code should go in an extension as described here: EarthSciML/AtmosphericDeposition.jl#22. In general to avoid having a huge number of extensions in the EarthSciData package, we can put all the extensions in the other packages, e.g. GasChem.jl in this example case.

Pretty much anything that is currently a parameter with a default value should have a connector to get that information from GEOS-FP.

Also add tests.

@ctessum
Copy link
Member Author

ctessum commented Feb 23, 2024

This project is governed with Gov4Git. Gov4Git notices

On Friday, 23-Feb-24 21:20:56 UTC by Gov4Git dev

Notice whifzg

Started managing this issue as Gov4Git concern 27 with initial priority score of 0.000000.

This project is managed by Gov4Git, a decentralized governance system for collaborative git projects.
To participate in governance, install the Gov4Git desktop app.

Notice cdnjq7

This issue's priority score is now 0.000000.
The cost of priority is 0.000000.
The projected bounty is now 0.000000.

Notice grxgbe

The set of eligible proposals claiming this issue is empty.

@ctessum
Copy link
Member Author

ctessum commented Feb 26, 2024

This project is governed with Gov4Git. Gov4Git notices

On Monday, 26-Feb-24 15:00:15 UTC by Gov4Git dev

Notice 3h4nc7

This issue's priority score is now 8.000000.
The cost of priority is 64.000000.
The projected bounty is now 64.000000.

Notice 3qbjxj

The set of eligible proposals claiming this issue is empty.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants