ERDDAP / erddap

ERDDAP is a scientific data server that gives users a simple, consistent way to download subsets of gridded and tabular scientific datasets in common file formats and make graphs and maps. ERDDAP is a Free and Open Source (Apache and Apache-like) Java Servlet from NOAA NMFS SWFSC Environmental Research Division (ERD).
Creative Commons Zero v1.0 Universal
84 stars 59 forks source link

Make "A Personal Hyperwall" #46

Open BobSimons opened 3 years ago

BobSimons commented 3 years ago

Make a customizable web page that displays nColumns by nRows of boxes, each box gets a different ERDDAP map (or graph?), each of which can refer to some common values (e.g., latitude min/max, longitude min/max, time value) so that when any of the common values are changed, the maps and graphs are redrawn. For example, imagine 6 (2 x 3) maps with sea surface temperature, chlorophyll, salinity, wind vectors, atmospheric pressure, current vectors. Or image a map of an area with sea surface temperature, and a graph with sea surface temperature from 1 point on the map (you click on the map and the graph changes) [okay, that one would be super hard on ERDDAP because of the nature of how gridded data is usually stored].

The basic idea (if just maps with limited settings) is pretty simple. There is certainly lots of potential for making this fancy with lots of features: Perhaps each graph has a dropdown box for datasetID and for variableName (the options change when datasetID changes). Perhaps each box can be toggled between the map (or graph) and a form with settings specific to that map/graph (including all the colorBar settings). Here's your chance to be creative and show off your JavaScript skills (while still minimizing the load on ERDDAP).

This ideal is from a poster (a finding request?) at an ESIP meeting by Matt Tisdale (NASA Langley) entitled "A Personal Hyperwall". He said I could use the idea. When you get a rough draft of this web page working, perhaps you could ask people (including Matt) for comments/suggestions/requests.

Skills required: 10% Java. 90% JavaScript.

Difficulty: Easy to hard. It's what you make of it and whether the techniques you use are simple or fancy. This could be done in 1 day (if it is a really simple setup) or a month (if it is fancy and you get and incorporate feedback from the community).

Mentor: Bob Simons (main author of ERDDAP)

Please also read the Programmer's Guide at https://coastwatch.pfeg.noaa.gov/erddap/download/setup.html#programmersGuide especially the "Judging Your Code Contributions" section.

BobSimons commented 3 years ago

Thanks very much for your interest in working on one of these projects. You offered to help with 3 projects. How about you pick one of them, let me know which, and focus on it first? I'll point out that the Hyperwall project is mostly JavaScript, while the others are mostly Java. Your choice.

Best wishes.

On Wed, Feb 3, 2021 at 8:12 PM GOusignu notifications@github.com wrote:

Hey! I would like to work on this. I am a beginner, but I'm willing to learn on the way

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/BobSimons/erddap/issues/46#issuecomment-773013837, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALKWOFMU6TDUUT2R4EDFM3S5IND7ANCNFSM4XBYV57A .

ghost commented 3 years ago

I'll focus on this one

ghost commented 3 years ago

seems interesting, so its going to act as a client which fetches data and displays it in a nice way?

ghost commented 3 years ago

So it displays graphs of various properties , all from the same location and same time? (silly doubt, but I'm trying to clarify )

BobSimons commented 3 years ago

Yes (to your first two questions above). Kind of yes to the third: yes, the same location and time (in the simplest form) but better if a given graph can be sync'd to the others or different.

It may help to read these instructions to "Embed a Graph in a Web Page": https://coastwatch.pfeg.noaa.gov/erddap/images/embed.html But for the hyperwall, the urls will be more dynamic / generated by JavaScript.

See also this static version that is close to the simple version of what you are going for https://oceanview.pfeg.noaa.gov/projects/NorthPacificChlBlooms/about
(But I prefer including the legend below each graph which is standard for ERDDAP.) But in your version, each graph will be adjustable (as much as possible), e.g., different datasetID, different lat lon range (or the synchronized range), different time point (or the sync'd time point), or even perhaps a different graph type (but with some sync'd values).