The Earth's edge

Web Development at NSIDC

NSIDC's Web Applications Engineering Center


This here is a web development area for various and sundry projects being developed at the National Snow and Ice Data Center.  It's not meant to be a publicly accessed site - and there isn't anything here of interest to the general public anyway.  There is, however, some stuff here of interest to people outside the data center - so I haven't restricted access.

Since this is a development area we try to stay on the cutting edge of web technology - with the expectation that by the time a project is finished the technology will be fairly mainstream. This means that some things may not work properly. For the Java stuff you'll probably just need to upgrade your browser. The X stuff is a bit trickier.

Java

Occasionally we find we need something for an interface and it just plain doesn't exist. And if we needed it ... perhaps someone else does too.

Periodic: Many of our users are interested in periodic data. E.g. A long time series of data, but only in spring. To assist our users in finding this data without performing multiple searches, or tediously selecting only the data they want from a much too large list of search results, we have developed the PeriodicPanel.

The PeriodicPanel uses three RangePanels to allow users to search on a range of years, an annual period, and a daily period. Each RangePanel, in turn, is comprised of a RangeSlider and a pair of editable text fields. Start and end values can be set using the slider or typed directly into the text fields. A demo, the source code, and the javadoc documentation are all available.

Spheres: Because the Earth is round we find ourselves doing an awful lot of spherical trigonometry. Perhaps we've looked in the wrong places but we've been unable to find a decent software library that does the spherical trig we need. So we wrote one.

The spheres package currently performs areal comparisons on the sphere for spherical polygons, lat/lon bounding boxes, orbits, and scenes. At the moment the package is incomplete and not fully tested, except for the parts we're actually using. But the framework is pretty solid so it may be useful as-is. Source and class files are available for download and the javadoc documentation is on-line. Please send bug reports, suggestions for enhancments, and other feedback to the address below.

SortingPagingTableModel: We needed a paging table so we could return large numbers of results from a search without bogging down the display. With paging only N rows of the table are displayed at any one time, so resources aren't overtaxed, yet all the results are available in the client without repeated calls to the server.

We also wanted the ability to sort results. We found a sorting table model at O'Reilly, and a paging table model at SUN, or vice versa. But we couldn't find a table model with all the features we wanted. So we took the O'Reilly and SUN sources and smashed them together. (Demo, source, and documentation links go here - for now, send me an email )

JazPanel: For several of the projects described below we needed a geographic area selection panel that worked well in the polar regions. Most interfaces use only an Equatorial Cylindrical Equidistant projection for that purpose and allow the user to define a lat/lon bounding box on that projection. Unfortunately that paradigm doesn't work well for the polar regions.

We developed the JazPanel to use in the GISMO and PSQ interfaces, both of which are written in Java2. But there's nothing in the JazPanel itself that requires Java2 and it occured to us that the JazPanel might be useful as a drop-in module for other geographic database search interfaces, even ones that are mostly html. So we made the JazPanel a stand alone applet and downgraded it to Java1 so it wouldn't require the plugin. We also added some javascript hooks to change configuration parameters and obtain boundary information about the selected area. There is a pre-beta demo available. We'll get source code and javadoc documentation on-line once we have a beta version we like.

GISMO

The Graphical Interface for Subsetting, Mapping, and Ordering gridded Polar Pathfinder data is a web based interface to NISDC's polar pathfinder gridded data products.  The GISMO was designed for use only with gridded datasets and, as such, is not as flexible as some other interfaces.  Within the bounds of it's intended purpose, howewver, it does a fairly good job.

The front end is an amalgamation of java modules developed at NSIDC/WAEC including: The JazPanel to define spatial subsets, a date panel liberated from MEL, a keyword panel, and a results panel.  None of these modules are beans - but they probably could be with a little work.  Database queries are handled by a custom jdbc query class.

The front end does little more than generate and store a gismo process control file.  The request is then filled by a late night cron job that reads the pcf, pulls the requested data off the archive, subsets it if necessary, stages the results somewhere appropriate, and informs relevant people that this has been done.

The interface is here.  This is just the development interface so all data requests are quietly ignored.  And since it is in development it may not work at all. If it doesn't work you can still get a sense of what it should do by reading the help.  The help is here, on the operational site. 

IMS Talk

A talk I gave at the V0IMS Developers Conference in April 1997 has been webified.  Since the problems are primarily graphical in nature it might help people to be able to refer back to the overheads and whatnot.  The green lines have been added so I reckon it's finished.  The introduction can be accessed by clicking here.

Additionally, folks who are unfamiliar with what orbit tracks look like on various projections, or what rectangles look like on various projections, or what various projections look like, may want to muck about with the Broadway demo of gomap (see below).  Assuming, of course, they can get it running.

Geographic Database Search Interfaces

That talk, and a telecon or two, and a couple years of being frustrated by my apparent inability to get my point across, has turned into a paper called Geographic Database Search Interfaces and the Equatorial Cylindrical Equidistant Projection.  Well, not really a paper - more of a rant.  But it's fairly extensive, richly illustrated in over 16 colors, and it's on the web until I can find a better home for it. 

We've also collected a fair number of examples of Geographic Database Search Interfaces on the World Wide Web.  At the moment I am aware of almost twenty such interfaces.  Of those only two support polar projections and only one will allow you to draw a rectangle around the pole.

Polar Spatial Query

The main point of the paper is that initial exclusive use of the ECE projection in geographic database interfaces has a tropical bias and leads to design flaws in the system that cause problems when other projections are added to the mix.   The PSQ project is our attempt to design an entire search and order system (database, server, and interface) that solves or avoids these problems.

Broadway (X11R6.3)

It's a pity Broadway never really caught on, nevertheless we still have ourBroadway demo on line. To my knowledge there are now four publicly accessible Broadway sites on the web.  The second, named Deep Blau, is at The Open Group's site. The third used to be at the Institute for Nuclear Research in Moscow.  At INR they had put up all the demos that come with Broadway plus one of their own but, alas, they have shut it down now.  The fourth is kindly provided by Hummingbird Communications Limited and contains an impressive number of Broadway demos with more on the way.  Additionally the Hummingbird site contains quite a bit of information about Broadway.  Appropriately it is called www.broadwayinfo.com.

If you know of any more Broadway sites, or are putting your own X applications on the web, I'd appreciate hearing about it.

Not coincidentally the X application I chose for the Broadway demo is gomap.  Gomap is an X application I wrote several years ago to display DMSP OLS orbits on various map projections.  As such it may be of interest even to people who don't care about Broadway.  In particular folks who are unfamiliar with what orbit tracks look like on various projections, or what rectangles look like on various projections, or what various projections look like, may want to muck about with it.  Assuming, of course, they can get it running.

If you are on a PC you will not be able to get the Broadway demo to work unless you have a recent (Broadway capable) version of Exceed or Chameleon on your PC.  And if you are on a Unix box you will probably need to get the lbx plugin before it will work.

IMS X client

The main reason for putting gomap on the web was to experiment with Broadway in preparation for putting the EOS-DIS V0IMS X client on the web.  I put gomap on the web first because I wanted:
A) An application that would be of interest to testers.
B) An application that I controlled the source code for.
C) An application that I was familiar with the source code for.
D) An application that was relatively large with a variety of functionality.
E) An application that was nevertheless fairly self contained.
Turned out the source required no modifications so points B and C were unnecessary.  In any event the experiments are over and the EOS-DIS V0IMS X client is now on the web.

Contact Information

If you have any questions, comments, suggestions, etc... send an e-mail to swick@chukchi.colorado.edu.