This PR standardizes the internal Harmonizer class require input data in the form of pd.DataFrames and pd.Series with aligned pd.MultiIndexes. Convenience methods have been adapted to work directly with pyam.IamDataFrames and support prior use cases from @znicholls.
FYI @coroa a work in progress... In principle this is now good to go for primetime testing.
I will say that the HarmonizationDriver (and related utilities) is quite old and out of step with other code here. For example, forcing all the indices into pyam-ish style, etc. Perhaps we can make a cmip6 module and shove all that there so we are backwards compatible but otherwise start clean. Any thoughts - maybe specifically to @znicholls ?
This PR standardizes the internal
Harmonizer
class require input data in the form ofpd.DataFrame
s andpd.Series
with alignedpd.MultiIndex
es. Convenience methods have been adapted to work directly withpyam.IamDataFrame
s and support prior use cases from @znicholls.FYI @coroa a work in progress... In principle this is now good to go for primetime testing.
I will say that the
HarmonizationDriver
(and related utilities) is quite old and out of step with other code here. For example, forcing all the indices into pyam-ish style, etc. Perhaps we can make acmip6
module and shove all that there so we are backwards compatible but otherwise start clean. Any thoughts - maybe specifically to @znicholls ?