visad.paoloa
Class GoesCollaboration

java.lang.Object
  extended byvisad.paoloa.GoesCollaboration

public class GoesCollaboration
extends 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.


Nested Class Summary
(package private)  class GoesCollaboration.diff_colCell
          compute diff_col = wfna - wfna_old
(package private)  class GoesCollaboration.real_tbcCell
          get observed brightness temperatures, as well as temperature, water-vapor mixing-ratio, ozone and pressure profiles
(package private)  class GoesCollaboration.wfna_oldCell
          save a copy of wfna in wfna_old
(package private)  class GoesCollaboration.wfnaCell
          compute brightness temperature errors and root mean square
(package private)  class GoesCollaboration.wfnbCell
          compute weighting function of channel versus vertical level
 
Field Summary
(package private)  RemoteServer client_server
          RemoteServer for client this GoesCollaboration is a client if client_server != null
(package private)  RealType data_real
           
(package private)  RealType diff
           
(package private)  DataReference diff_col_ref
           
(package private)  DataReference diff_ref
           
(package private)  DataReference gzen_ref
          slider DataReferences
static int HEIGHT
           
(package private)  DataReference in_dx_ref
           
(package private)  RealType indx
           
(package private)  RealType mixr
           
(package private)  DataReference mixra_ref
           
(package private)  RealType nchan
          declare MathTypes
(package private)  RealType nl
           
(package private)  RealType ozone
           
(package private)  DataReference ozonea_ref
           
(package private)  RealType pres
           
(package private)  DataReference presa_ref
           
(package private)  RealType pressure
           
(package private)  DataReference real_tbc_ref
           
(package private)  RemoteServerImpl server_server
          RemoteServerImpl for server this GoesCollaboration is a server if server_server != null
(package private)  DataReference smr_ref
           
(package private)  RealType tbc
           
(package private)  RealType tbc_d
           
(package private)  RealType temp
           
(package private)  DataReference tempa_ref
           
(package private)  DataReference tskin_ref
           
(package private)  RealType wfn
           
(package private)  DataReference wfna_old_ref
           
(package private)  DataReference wfna_ref
          declare DataReferences
(package private)  DataReference wfnb_ref
           
static int WIDTH
          the width and height of the UI frame
(package private)  DataReference zero_line_ref
           
 
Constructor Summary
GoesCollaboration(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(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
(package private)  void setupClient()
          set up as client
(package private)  void setupDisplays(DisplayImpl[] displays)
          set up Displays; return constructed Displays in displays array
(package private)  void setupServer()
          set up as server
(package private)  void setupUI(DisplayImpl[] displays, DataReference in_dx_ref, DataReference save_config_ref, DataReference gzen_ref, DataReference tskin_ref)
          construct user interface using JFC
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

server_server

RemoteServerImpl server_server
RemoteServerImpl for server this GoesCollaboration is a server if server_server != null


client_server

RemoteServer client_server
RemoteServer for client this GoesCollaboration is a client if client_server != null


nchan

RealType nchan
declare MathTypes


indx

RealType indx

nl

RealType nl

tbc

RealType tbc

tbc_d

RealType tbc_d

wfn

RealType wfn

pres

RealType pres

temp

RealType temp

mixr

RealType mixr

ozone

RealType ozone

pressure

RealType pressure

data_real

RealType data_real

diff

RealType diff

wfna_ref

DataReference wfna_ref
declare DataReferences


tempa_ref

DataReference tempa_ref

mixra_ref

DataReference mixra_ref

ozonea_ref

DataReference ozonea_ref

presa_ref

DataReference presa_ref

diff_col_ref

DataReference diff_col_ref

diff_ref

DataReference diff_ref

zero_line_ref

DataReference zero_line_ref

smr_ref

DataReference smr_ref

real_tbc_ref

DataReference real_tbc_ref

wfnb_ref

DataReference wfnb_ref

wfna_old_ref

DataReference wfna_old_ref

gzen_ref

DataReference gzen_ref
slider DataReferences


tskin_ref

DataReference tskin_ref

in_dx_ref

DataReference in_dx_ref

WIDTH

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


HEIGHT

public static int HEIGHT
Constructor Detail

GoesCollaboration

public GoesCollaboration(String[] args)
                  throws VisADException,
                         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
   

Method Detail

main

public static void main(String[] args)
                 throws VisADException,
                        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
RemoteException

setupServer

void setupServer()
           throws VisADException,
                  RemoteException
set up as server

Throws:
VisADException
RemoteException

setupClient

void setupClient()
           throws VisADException,
                  RemoteException
set up as client

Throws:
VisADException
RemoteException

setupDisplays

void setupDisplays(DisplayImpl[] displays)
             throws VisADException,
                    RemoteException
set up Displays; return constructed Displays in displays array

Throws:
VisADException
RemoteException

setupUI

void setupUI(DisplayImpl[] displays,
             DataReference in_dx_ref,
             DataReference save_config_ref,
             DataReference gzen_ref,
             DataReference tskin_ref)
       throws VisADException,
              RemoteException
construct user interface using JFC

Throws:
VisADException
RemoteException