turn off horizontal lines and improve CALIPSO display

Post ideas for new functionality you'd like to see in McIDAS-V or ideas for new tutorials.
Post Reply
User avatar
kbedka1
Posts: 428
Joined: Wed Jan 28, 2009 7:27 pm

turn off horizontal lines and improve CALIPSO display

Post by kbedka1 »

This would probably qualify as a General Question, Feature Request, and Bug Report, but I included it in this forum.

There are some strange horizontal lines that go across a CALIPSO profile when displayed in McIDAS-V. See attached screenshot. If one looks from the top, the lines are actually identifying selected height levels, but the labels are oriented such that they can only be seen from the top. This makes these lines almost useless for interpreting the CALIPSO data. How can one remove these from the display as they are not very visually appealing and the resulting graphic is not presentation quality? There is also a crosshair to the left of the profile that I'd like to get rid of. I've tried various options like View-Show-Display Scales, but this doesn't work.

Another issue is that when one does include the display scales, the latitude and longitude labels are nice to see but the vertical axis labels are backwards. If I turn the display around to see the vertical axis properly, then I can't see the latitude labels. See attached

My colleague here is looking for a high-quality CALIPSO graphic in relatively short order, is there anything that can be done to to address this?
Attachments
picture 2013-11-13 at 11.30.30 AM.png
picture 2013-11-13 at 11.20.52 AM.png
User avatar
barryr
Posts: 213
Joined: Thu Jan 08, 2009 5:42 pm
Contact:

Re: turn off horizontal lines and improve CALIPSO display

Post by barryr »

Hi Kris,
I looked at this with Bob, using CALIPSO data from PEATE. We saw the same things as your screenshots. (For the record, we used the General Files chooser with DataType=Hydra data source and in the Field Selector we chose Display=ProfileAlongTrack, with Field=Total_Attenuated_Backscatter_532 or Tropopause_Height.)

Unfortunately, there currently isn't any way with the ProfileAlongTrack Display display type to remove the height level lines, remove the crosshair, or change the position of the height labels so that they can be seen from a rotated perspective. I wrote McIDAS-V inquiry 1649 as a request to fix those issues.

http://mcidas.ssec.wisc.edu/inquiry-v/?inquiry=1649

Thanks,
Barry
User avatar
joleenf
Posts: 1123
Joined: Mon Jan 19, 2009 7:16 pm

Re: turn off horizontal lines and improve CALIPSO display

Post by joleenf »

Kris,

I think I have a partial work-around. The lat/lon/alt line issue is separate and I have not been successful in controlling that display in the past. For lat/lons, I generally use the lat/lons layer controls. See the information about the lat/lons tab in the Map Controls section of the user's guide:
http://www.ssec.wisc.edu/mcidas/doc/mcv ... trol__FILE

This does not help with altitude.

    To remove the lines from the display and gain some control over the labels and the cross-hair display, load the CALIPSO data as before.
    Open the Jython Shell
    Verify that the CALIPSO display is the active display by clicking on that display or (verify that the blue box is around the display window indicating the active display)
    Use the jython shell in multi-line mode (double-down arrows to the right of the evaluate line
    Enter the Following code

Code: Select all

from edu.wisc.ssec.mcidasv.control import ProfileAlongTrackControl as ProfileAlongTrackControl

myControls=activeDisplay().getControls()     # this gets the display controls for the active display

saveIndex = None
for index,value in enumerate(myControls):   # get the index for the ProfileAlongTrack control
   print index,value, type(value)
   if isinstance(value, ProfileAlongTrackControl):
      saveIndex = index

if not(saveIndex):
   message = 'No ProfileAlongTrackControl found.'
   raise(message)

profileControl = myControls[saveIndex]            # get the ProfileAlongTrack control

crossHair = profileControl.locOnTrack         # control the cross-hair
crossHair.setVisible(False)                            # set the visibility

textDisplay = profileControl.textDisplay      # the text display controls the annotation in the ProfileAlongTrack
textDisplay.setVisible(False)

meshLines = profileControl.meshDisplay    # the mesh display controls the lines across the profile
meshLines.setVisible(False)

trackLine = profileControl.trackDisplay       # this is the bottom line of the profile.  set to False to turn off. 
trackLine.setVisible(True)


This won't exactly work for cases when there is than one ProfileAlongTrackControl in the myControls array. That list
can be examined by typing "print myControls" to manually find the control in the list.

I hope this helps as a temporary work-around.

Thanks,
Joleen
User avatar
joleenf
Posts: 1123
Joined: Mon Jan 19, 2009 7:16 pm

Re: turn off horizontal lines and improve CALIPSO display

Post by joleenf »

Hi Kris,

I am hopeful that some of this control will be incorporated into the layer controls, but here is the code for setting line style and line width...


Code: Select all

#[i][b]Code same as above to get the meshDisplay control in the variable meshLines[/b][/i]
from edu.wisc.ssec.mcidasv.control import ProfileAlongTrackControl as ProfileAlongTrackControl

myControls=activeDisplay().getControls()     # this gets the display controls for the active display

saveIndex = None
for index,value in enumerate(myControls):   # get the index for the ProfileAlongTrack control
   print index,value, type(value)
   if isinstance(value, ProfileAlongTrackControl):
      saveIndex = index

if not(saveIndex):
   message = 'No ProfileAlongTrackControl found.'
   raise(message)

profileControl = myControls[saveIndex]            # get the ProfileAlongTrack control

meshLines = profileControl.meshDisplay    # the mesh display controls the lines across the profile
meshLines.setVisible(True)

trackLine = profileControl.trackDisplay       # this is the bottom line of the profile.  set to False to turn off.
trackLine.setVisible(True)

# Line Style  (0 - solid, 1 - dashed, 2 -dot, 3 - dot/dash)
meshLines.setLineStyle(1)


# Line width
meshLines.setLineWidth(1)

# find out line styles and line width
print meshLines.getLineStyle()
print meshLines.getLineWidth()

# set the line color
meshLines.setColor(java.awt.Color.yellow)   # see other color options at http://docs.oracle.com/javase/7/docs/api/java/awt/Color.html

# The same can be done for trackLine:
trackLine.setLineWidth(5)





I have no idea how to turn the annotation for the lines so that it is readable in the profile along track display. I also do not know how to set the height at which they are displayed.

I hope this helps!

Joleen
Post Reply