Addressing your points in order.
ulmo isn't trying to solve the entire problem of multiple data formats and how to represent them all in a consistent way. That is a very hard problem which many folks have tried and failed to solve in a satisfactory way. Instead ulmo is solving the 'transport' problem in a pragmatic way. i.e. go get the data and give it back to me in a reasonable format, either as python dictionaries or pandas dataframes (see
pandas.pydata.org). It does the 'data getting' either by web scraping, web services or hitting ftp sites, whatever makes the most sense for the dataset in question. On the 'local representation' side, it is still your responsibility to know what the parameters mean etc.