> The thing that I wanted for this library was a way to explore ERDDAP servers, and examine datasets. At first, I tried erddapy, and worked with it for a while. But what I wanted was individual object instances for each of the datasets discovered thru the search operations to have a mean to compare them and make loop operations. Also, I have a more coherent class space to place their functionality by doing it this way.
Interesting use case. We did play with that idea last year [1] but no
user at the time thought it would be helpful so we abandoned it.
BTW, few free to open issues and get in touch. Open Source evolves
faster and better together!
> I included this library functionality to parse the datasets dimensions, variables, metadata information for data discovery, also methods to create valid URL data requests for both Tabledap and Griddap datasets, and a way to request the data.
>
> In our experience, when we need to analyze the data, a pandas dataFrame result out of a Tabledap data request is more beneficial for an analysis of the data. I included a way to create this dataframe after parsing a data request with a csv filetype.
That is aligned with our past experiments. See [1].
[1]
https://gist.github.com/ocefpaf/ae0d650af68c0670e5f09d35c887129c
> And in the case of a Griddap dataset, data analysis makes more sense for me to connect to the OPeNDAP endpoint and create a xarray or a netCDF4.Dataset. But the functionality to generate a data request and get text response (asc, csv, etc) or a binary format (mat, nc, png's) is there. I haven't put more effort into making higher abstractions for the Griddap data requests slicing, mainly because "xarray" and that the server-side operations that one of you points are only available for the Tabledap datasets (From what I tried, I imagine because adding them to grid results could be very demanding on the server).
That probably says a lot about erddapy's docs since all of that is
possible. I'll improve on the examples and documentation to avoid such
confusion in the future.
The only main differences I see are:
1. API that resembles Javascript. That can lower the entry barrier for
users coming from JS but erddapy's python primitives as a first class
allow for people to build on top of it easily. See gliderpy, argopy,
collocate, and others. BTW, you could have achieved the same by
relying on erddapy and avoiding a lot of code duplication!
2. Support for ERDDAP's figures. We actually had that and removed b/c
Python users want to get the data and tweak the figures. The default
one is awesome for browsing data on the server but not very useful
when you want to create a figure for a presentation or paper.
Cool. Keep us posted on how it goes. I'll add to it erddapy's README
as an alternative implementation.
Best,
-F
> To view this discussion on the web, visit
https://groups.google.com/d/msgid/erddap/d1a5b24f-7ac9-478b-b9e7-8b0c6d2152b7n%40googlegroups.com.