EarthSciML / EarthSciData.jl

MIT License
2 stars 2 forks source link

Connect GEOS-FP to everything else #27

Open ctessum opened 7 months ago

ctessum commented 7 months ago

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: https://github.com/EarthSciML/AtmosphericDeposition.jl/issues/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 commented 7 months ago

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 commented 7 months ago

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.