Class AerologicalSoundingControl

All Implemented Interfaces:
ActionListener, ItemListener, PropertyChangeListener, EventListener, HyperlinkListener, Sharable, DataChangeListener, DisplayControl, Prototypable, AerologicalDisplayConstants, ControlListener, DisplayListener
Direct Known Subclasses:
GriddedSoundingControl, RaobSoundingControl, SkewTControl, TrackSoundingControl, TrajectoryFeatureTypeSoundingControl

public abstract class AerologicalSoundingControl extends DisplayControlImpl implements AerologicalDisplayConstants
Abstract class for displaying an aerological diagram (eg, Skew-T log p) of an atmospheric sounding.
Author:
IDV Development Team
  • Field Details

    • soundingView

      protected SoundingViewManager soundingView
      The view manager for this control
    • hodoView

      protected HodographViewManager hodoView
      The view manager for this control
    • aeroDisplay

      protected AerologicalDisplay aeroDisplay
      The Skew-T log p display.
    • hodoDisplay

      protected Hodograph3DDisplay hodoDisplay
      The 3D hodograph display.
    • soundingTable

      protected SoundingTable soundingTable
      The sounding table
    • headerLabel

      protected JLabel headerLabel
      label for the location
  • Method Details

    • getSaveMenuItems

      protected void getSaveMenuItems(List items, boolean forMenuBar)
      Add the relevant file menu items into the list
      Overrides:
      getSaveMenuItems in class DisplayControlImpl
      Parameters:
      items - List of menu items
      forMenuBar - Is this for the menu in the window's menu bar or for a popup menu in the legend
    • exportTableToCsv

      public void exportTableToCsv()
      Export the sounding table to csv, public by implementation, don't call directly.
    • propertyChange

      public void propertyChange(PropertyChangeEvent event)
      Handle property change
      Specified by:
      propertyChange in interface PropertyChangeListener
      Overrides:
      propertyChange in class DisplayControlImpl
      Parameters:
      event - The event
    • addPropertiesComponents

      public void addPropertiesComponents(JTabbedPane jtp)
      Add tabs to the properties dialog.
      Overrides:
      addPropertiesComponents in class DisplayControlImpl
      Parameters:
      jtp - the JTabbedPane to add to
    • doApplyProperties

      public boolean doApplyProperties()
      Apply the properties
      Overrides:
      doApplyProperties in class DisplayControlImpl
      Returns:
      true if successful
    • doRemove

      public void doRemove() throws VisADException, RemoteException
      Remove this control. Call the parent class doRemove and clears references to gridLocs, etc.
      Specified by:
      doRemove in interface DisplayControl
      Overrides:
      doRemove in class DisplayControlImpl
      Throws:
      RemoteException - Java RMI error
      VisADException - VisAD error
    • setSpatialLoci

      protected void setSpatialLoci(Displayable loci)
      Set the spatial location displayable
      Parameters:
      loci - Displayable for spatial locations
    • setSpatialLociVisible

      public void setSpatialLociVisible(boolean visible) throws VisADException, RemoteException
      Sets the visibility of the spatial loci in the main, 3D window.
      Parameters:
      visible - If true, then the loci will be rendered visible; otherwise, they will be rendered invisible.
      Throws:
      RemoteException - Java RMI error
      VisADException - VisAD error
    • setDisplayVisibility

      public void setDisplayVisibility(boolean on)
      Override base class method so we can control the visiblity of the grid points.
      Specified by:
      setDisplayVisibility in interface DisplayControl
      Overrides:
      setDisplayVisibility in class DisplayControlImpl
      Parameters:
      on - true to make it visible
    • getSpatialLociVisible

      public boolean getSpatialLociVisible()
      Returns the visibility of the spatial loci in the main, 3D window. otherwise, they will be rendered invisible.
      Returns:
      true if loci are visible
    • getCurrentIdx

      public int getCurrentIdx()
      _more_
      Returns:
      _more_
    • getCurrentIndex

      public int getCurrentIndex()
      Get the index of the current sounding
      Returns:
      the current index
    • setSoundings

      protected void setSoundings(Field[] tempPros, Field[] dewPros, Field[] windPros) throws VisADException, RemoteException
      Sets the set of soundings -- completely replacing the previous set.
      Parameters:
      tempPros - The temperature profiles.
      dewPros - The dew-point profiles.
      windPros - The wind profiles
      Throws:
      VisADException - if a VisAD failure occurs.
      RemoteException - if a Java RMI failure occurs.
    • computeBLH

      public float computeBLH(FlatField tempPros) throws VisADException, RemoteException
      Provides blh based on the temperature profile.
      Throws:
      VisADException
      RemoteException
    • computeBulkRi

      public float computeBulkRi(Real pressure, FlatField tempPros, FlatField windPros) throws VisADException, RemoteException
      Provides bulk Richardsonn number based on the temperature profile.
      Throws:
      VisADException
      RemoteException
    • xxxgetTitle

      protected final String xxxgetTitle()

      Returns the title of this display.

      Returns:
      The title of this display.
    • getTrajectoryActive

      public final boolean getTrajectoryActive()
      Indicates if this instance displays the path of a lifted parcel.
      Returns:
      True if and only if the path is or will be displayed.
    • setTrajectoryActive

      public final void setTrajectoryActive(boolean active) throws VisADException, RemoteException
      Sets whether or not this instance will display the path of a lifted parcel.
      Parameters:
      active - Whether or not to display the path.
      Throws:
      VisADException - if a VisAD failure occurs.
      RemoteException - if a Java RMI failure occurs.
    • getVirtTempActive

      public final boolean getVirtTempActive()
      Indicates whether or not this instance is or will display virtual temperature paths.
      Returns:
      True if and only if virtual temperature paths are or will be displayed.
    • setVirtTempActive

      public final void setVirtTempActive(boolean active) throws VisADException, RemoteException
      Sets whether or not this instance will display virtual temperature paths.
      Parameters:
      active - Whether or not to display virtual temperature paths.
      Throws:
      VisADException - if a VisAD failure occurs.
      RemoteException - if a Java RMI failure occurs.
    • getParcelMode

      public final ParcelMode getParcelMode()
      Returns the mode that is used to determine the initial conditions of the lifted parcel.
      Returns:
      The mode used to determine the initial conditions of the lifted parcel.
    • setParcelMode

      public final void setParcelMode(ParcelMode mode) throws VisADException, RemoteException
      Sets the mode used to determine the initial conditions of the lifted parcel.
      Parameters:
      mode - The mode used to determine the initial conditions of the lifted parcel.
      Throws:
      VisADException - if a VisAD failure occurs.
      RemoteException - if a Java RMI failure occurs.
    • doMakeContents

      protected Container doMakeContents() throws VisADException, RemoteException
      Creates the Skew-T display component.
      Overrides:
      doMakeContents in class DisplayControlImpl
      Returns:
      The Skew-T display component.
      Throws:
      VisADException - if a VisAD failure occurs.
      RemoteException - if a Java RMI failure occurs.
    • getSpatialLociLabel

      protected String getSpatialLociLabel()
      Return the label used for the spatial loci checkbox. This can get overwritten by derived classes to return the correct label.
      Returns:
      true if they are visible
    • getLocation

      protected final LatLonPoint getLocation()
      Gets the location of the profile.
      Returns:
      The location of the profile (may be null).
    • updateHeaderLabel

      protected void updateHeaderLabel()
      Update the location label, subclasses can override.
    • getEditMenuItems

      protected void getEditMenuItems(List items, boolean forMenuBar)
      Add the relevant edit menu items into the list
      Overrides:
      getEditMenuItems in class DisplayControlImpl
      Parameters:
      items - List of menu items
      forMenuBar - Is this for the menu in the window's menu bar or for a popup menu in the legend
    • getViewMenuItems

      protected void getViewMenuItems(List menus, boolean forMenuBar)
      Add the relevant view menu items into the list
      Overrides:
      getViewMenuItems in class DisplayControlImpl
      Parameters:
      menus - List of menu items
      forMenuBar - Is this for the menu in the window's menu bar or for a popup menu in the legend
    • isDisplayType

      public boolean isDisplayType(String type)
      See if the display type in question is the same as this type.
      Parameters:
      type - display type
      Returns:
      true if display types are the same
    • setDisplayType

      public void setDisplayType(String type)
      Set the type of display. Used by persistence.
      Parameters:
      type - the display type
    • getDisplayType

      public String getDisplayType()
      Get the type of display. Used by persistence.
      Returns:
      the display type
    • getWindBarbSpacing

      public String getWindBarbSpacing()
      Get the wind barb spacing as a String
      Returns:
      String representation of the wind barb spacing
    • setWindBarbSpacing

      public void setWindBarbSpacing(String newSpacing)
      Set the wind barb spacing.
      Parameters:
      newSpacing - either ALL_LEVELS or MANDATORY_LEVELS, or the value as a String.
    • getTypeLabel

      public static String getTypeLabel(String displayType)
      Get the label for the type of display
      Parameters:
      displayType - type name
      Returns:
      the label
    • setSoundingView

      public void setSoundingView(SoundingViewManager value)
      Set the SoundingView property.
      Parameters:
      value - The new value for SoundingView
    • getSoundingView

      public SoundingViewManager getSoundingView()
      Get the SoundingView property.
      Returns:
      The SoundingView
    • setHodographView

      public void setHodographView(HodographViewManager value)
      Set the HodographView property.
      Parameters:
      value - The new value for HodographView
    • getHodographView

      public HodographViewManager getHodographView()
      Get the HodographView property.
      Returns:
      The HodographView
    • getShowUAndVWinds

      public boolean getShowUAndVWinds()
      Are the winds shown as U and V?
      Returns:
      true if winds are shown as U/V components
    • setShowUAndVWinds

      public void setShowUAndVWinds(boolean show)
      Set the show u and v property
      Parameters:
      show - true to show winds as u and v
    • getViewManagerForCapture

      public ViewManager getViewManagerForCapture(String what) throws Exception
      Description copied from class: DisplayControlImpl
      Allows a derived class to provide its own viewmanager wehn capturing an image of the display from isl
      Overrides:
      getViewManagerForCapture in class DisplayControlImpl
      Parameters:
      what - To capture hodo view or the skewt view
      Returns:
      _more_
      Throws:
      Exception - _more_