Implement ColocationSetup, ObsCollection, and ModelCollection classes with Pydantic
lewisblake opened this issue · 0 comments
Is your feature request related to a problem? Please describe.
EvalSetup
is being implemented with pydantic in #1017. However, these three attributes of EvalSetup
are not based on Pydantic's BaseModel
and therefore are not subject to its parsing and validation.
Describe the solution you would like to see
A clear and concise description of what you want to happen.
I would like to see the classes ObsCollection
, ModelCollection
, and ColocationSetup
be based on pydantic's BaseModel
so that everything in the config interface EvalSetup
is based on pydantic and gets its validation and parsing.
- Would you be able to work on this solution yourself?
Yes, perhaps. Or someone else could pick this up. - How can the Pyaerocom development team assist you?
Dicussions on the structure of these classes. Whether they should be split into classes which hold data and classes which manipulate data.
Additional context
Extends the work in #1017. Will likely need to rewrite some of the workarounds in that PR, which should simplify EvalSetup
.
Target classes are:
pyaerocom/pyaerocom/colocation_auto.py
Line 41 in 364120b
pyaerocom/pyaerocom/aeroval/collections.py
Line 173 in 364120b
NB: Arguably ObsCollection
and ModelCollection
could be dealt with in one PR where as ColocationSetup
could be dealt which in another.