visad.paoloa
Class GoesCollaboration

java.lang.Object
  extended by visad.paoloa.GoesCollaboration

public class GoesCollaboration
extends java.lang.Object

GoesCollaboration implements the interactive and collaborative Goes satellite sounding retrieval application using VisAD 2.0. It is rewritten from the IRGS.v application developed for VisAD 1.1 by Paolo Antonelli.


Field Summary
static int HEIGHT
           
static int WIDTH
          the width and height of the UI frame
 
Constructor Summary
GoesCollaboration(java.lang.String[] args)
          Construct the GoesCollaboration application, including Data objects, Display objects, Cell (computational) objects, and JFC (slider) user interface objects.
 
Method Summary
static void main(java.lang.String[] args)
          type 'java visad.paoloa.GoesCollaboration' to run this application; the main thread just exits, since Display, Cell and JFC threads run the application
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

WIDTH

public static int WIDTH
the width and height of the UI frame


HEIGHT

public static int HEIGHT
Constructor Detail

GoesCollaboration

public GoesCollaboration(java.lang.String[] args)
                  throws VisADException,
                         java.rmi.RemoteException
Construct the GoesCollaboration application, including Data objects, Display objects, Cell (computational) objects, and JFC (slider) user interface objects. The Display, Cell and JFC objects include threads and links to Data objects (via DataReference objects). Display and Cell threads wake up when linked Data objects change. Display and JFC objects wake up on mouse events. Display, Cell and JFC objects cause changes to Data objects.

Here's a summary of the event logic among Data, Displays, Cells, and JSliders:

  initialization ->
    zero_line = 0                              -> display4

  slider <--> in_dx

  slider <--> gzen

  slider <--> tskin

  slider <--> save_config

  in_dx -> real_tbcCell
    real_tbc = re_read_1_c(in_dx)
    month = 6
    lat = real_tbc[18];
    (tempa, mixra, ozonea, presa) =
      get_profil_c(lat, month)                 -> display2

  direct_manipualtion (in display2) ->
    (tempa, mixra, ozonea)                     -> display2

  gzen, tskin, tempa, mixra, ozonea, presa -> wfnbCell
    wfnb = goesrte_2_c(gzen, tskin, tempa, mixra, ozonea, presa)

  wfnb, real_tbc -> wfnaCell
    wfna = wfnb.wfn                            -> display1
    diff_DATA = wfnb.tbc[nl=1] - real_tbc      -> display4
    smr = RootMeanSquare(diff_DATA)            -> display4

  save_config -> wfna_oldCell
    wfna_old = wfna

  wfna, wfna_old -> diff_colCell
    diff_col = wfna - wfna_old                 -> display3
   

Throws:
VisADException
java.rmi.RemoteException
Method Detail

main

public static void main(java.lang.String[] args)
                 throws VisADException,
                        java.rmi.RemoteException
type 'java visad.paoloa.GoesCollaboration' to run this application; the main thread just exits, since Display, Cell and JFC threads run the application

Throws:
VisADException
java.rmi.RemoteException