[Paraview] FW: adjusting vertical level setting via paraview python script

Eatmon Jr., Arnold aeatmon at lanl.gov
Thu Jul 30 15:19:07 EDT 2015



From: "<Eatmon Jr.>", First name Last name <aeatmon at lanl.gov<mailto:aeatmon at lanl.gov>>
Date: Thursday, July 30, 2015 at 1:12 PM
To: David E DeMarle <dave.demarle at kitware.com<mailto:dave.demarle at kitware.com>>
Subject: Re: [Paraview] adjusting vertical level setting via paraview python script

As a followup to my last reply, I’m pasting the script below for reference because there may be a problem within of which I am not aware. The script is not too clean, though.

Also attached is an image of the output where I see the vertical level still needs to be turned down.

——————————————————————————————————————————————————

from paraview import coprocessing



#--------------------------------------------------------------

# Code generated from cpstate.py to create the CoProcessor.

# ParaView 4.3.1 64 bits



# ----------------------- CoProcessor definition -----------------------


def CreateCoProcessor():

  def _CreatePipeline(coprocessor, datadescription):

    class Pipeline:

      # state file generated using paraview version 4.3.1


      # ----------------------------------------------------------------

      # setup views used in the visualization

      # ----------------------------------------------------------------


      #### disable automatic camera reset on 'Show'

      paraview.simple._DisableFirstRenderCameraReset()


      # Create a new 'Render View'

      renderView1 = CreateView('RenderView')

      renderView1.ViewSize = [1811, 837]

      renderView1.CenterOfRotation = [0.0, 0.0, 69503.75]

      renderView1.StereoType = 0

      renderView1.CameraPosition = [-41129254.56226203, -8828710.007515563, 6001602.840730475]

      renderView1.CameraFocalPoint = [0.0, 0.0, 69503.75]

      renderView1.CameraViewUp = [0.06821863148547692, 0.3176561586160046, 0.9457487949828816]

      renderView1.CameraParallelScale = 10995245.645232411

      renderView1.Background = [0.37254901960784315, 0.36470588235294116, 0.3411764705882353]


      # register the view with coprocessor

      # and provide it with information such as the filename to use,

      # how frequently to write the images, etc.

      coprocessor.RegisterView(renderView1,

          filename='image_%t.png', freq=1, fittoscreen=0, magnification=1, width=1811, height=837, cinema={"camera":"Spherical", "phi":[-180,-162,-144,-126,-108,-90,-72,-54,-36,-18,0,18,36,54,72,90,108,126,144,162], "theta":[-180,-162,-144,-126,-108,-90,-72,-54,-36,-18,0,18,36,54,72,90,108,126,144,162] })


      # ----------------------------------------------------------------

      # setup the data processing pipelines

      # ---------------------------------------------------------------


      # create a new 'NetCDF MPAS reader'

      # create a producer from a simulation input

      output00240101_000000nc = coprocessor.CreateProducer(datadescription, 'X_Y_Z_1LAYER-primal')


      # ----------------------------------------------------------------

      # setup color maps and opacity mapes used in the visualization

      # note: the Get..() functions create a new object, if needed

      # ----------------------------------------------------------------



      # reset view to fit data

      renderView1.ResetCamera()


      # show data in view

      output00240101_000000ncDisplay = Show(output00240101_000000nc, renderView1)


      # Properties modified on output00240101_000000nc

      paraview.simple.NetCDFMPASreader.PointArrayStatus = ['temperature']

      paraview.simple.NetCDFMPASreader.ShowMultilayerView = 0

      paraview.simple.NetCDFMPASreader.VerticalLevel = '1'


      # Level1 = paraview.simple.ColorByArray()

      # Level1.ColorBy(mpas_data_1pvtuDisplay, ('CELLS', 'temperature'))


      # set scalar coloring

      ColorBy(output00240101_000000ncDisplay, ('CELLS', 'temperature'))


      # rescale color and/or opacity maps used to include current data range

      output00240101_000000ncDisplay.RescaleTransferFunctionToDataRange(True)



      # get color transfer function/color map for 'temperature'

      temperatureLUT = GetColorTransferFunction('temperature')

      temperatureLUT.InterpretValuesAsCategories = 0

      temperatureLUT.Discretize = 0

      temperatureLUT.MapControlPointsToLinearSpace()

      temperatureLUT.UseLogScale = 0

      temperatureLUT.RGBPoints = [-2.0, 0.105882, 0.2, 0.14902, -1.25, 0.141176, 0.25098, 0.180392, -0.5, 0.172549, 0.301961, 0.211765, 0.25, 0.211765, 0.34902, 0.243137, 1.0, 0.227451, 0.388235, 0.254902, 1.75, 0.239216, 0.431373, 0.258824, 2.5, 0.25098, 0.470588, 0.262745, 3.25, 0.258824, 0.509804, 0.258824, 4.0, 0.294118, 0.54902, 0.27451, 4.75, 0.333333, 0.580392, 0.294118, 5.5, 0.380392, 0.619608, 0.321569, 6.250000000000002, 0.431373, 0.658824, 0.34902, 7.0, 0.482353, 0.690196, 0.380392, 7.750000000000002, 0.52549, 0.729412, 0.388235, 8.5, 0.564706, 0.760784, 0.380392, 9.250000000000002, 0.631373, 0.788235, 0.411765, 10.0, 0.694118, 0.819608, 0.443137, 10.75, 0.745098, 0.85098, 0.458824, 11.5, 0.803922, 0.878431, 0.494118, 12.25, 0.843137, 0.901961, 0.521569, 13.0, 0.894118, 0.929412, 0.556863, 14.500000000000004, 0.94902, 0.94902, 0.647059, 16.0, 0.968627, 0.968627, 0.796078, 17.05, 1.0, 0.996078, 0.901961, 17.2, 0.968627, 1.0, 0.996078, 17.35, 0.901961, 1.0, 0.984314, 18.1, 0.831373, 0.988235, 0.972549, 19.0, 0.721569, 0.94902, 0.945098, 19.75, 0.639216, 0.882353, 0.901961, 20.500000000000004, 0.568627, 0.807843, 0.85098, 21.25, 0.513725, 0.717647, 0.788235, 22.0, 0.447059, 0.627451, 0.721569, 22.75, 0.388235, 0.541176, 0.65098, 23.5, 0.337255, 0.462745, 0.580392, 24.25, 0.286275, 0.388235, 0.521569, 25.0, 0.25098, 0.333333, 0.478431, 25.750000000000004, 0.219608, 0.290196, 0.45098, 26.5, 0.196078, 0.247059, 0.419608, 27.25, 0.152941, 0.188235, 0.34902, 28.0, 0.113725, 0.113725, 0.278431]

      temperatureLUT.ColorSpace = 'Lab'

      temperatureLUT.LockScalarRange = 0

      temperatureLUT.NanColor = [0.250004, 0.0, 0.0]

      temperatureLUT.ScalarRangeInitialized = 1.0



      # get opacity transfer function/opacity map for 'temperature'

      temperaturePWF = GetOpacityTransferFunction('temperature')

      temperaturePWF.Points = [-2.0, 0.0, 0.5, 0.0, 28.0, 1.0, 0.5, 0.0]

      temperaturePWF.ScalarRangeInitialized = 1


      # Properties modified on temperatureLUT

      # temperatureLUT.InterpretValuesAsCategories = 0



      # paraview.simple.NetCDFMPASreader.ShowMultilayerView = 0

      paraview.simple.NetCDFMPASreader.VerticalLevel = 1


      # renderView1.ResetCamera()


      # get active source.

      # Level2 = paraview.simple.GetActiveSource()

      # Level2.VerticalLevel = 1



      # ----------------------------------------------------------------

      # setup the visualization in view 'renderView1'

      # ----------------------------------------------------------------


      # show data from output00240101_000000nc

      output00240101_000000ncDisplay = Show(output00240101_000000nc, renderView1)

      # trace defaults for the display properties. 356617.92693278694

      output00240101_000000ncDisplay.ColorArrayName = ['CELLS', 'temperature']

      output00240101_000000ncDisplay.LookupTable = temperatureLUT

      output00240101_000000ncDisplay.ScalarOpacityUnitDistance = 1469170.6394257464


      # show color legend

      output00240101_000000ncDisplay.SetScalarBarVisibility(renderView1, True)


      # setup the color legend parameters for each legend in this view



      # get color legend/bar for temperatureLUT in view renderView1

      temperatureLUTColorBar = GetScalarBar(temperatureLUT, renderView1)

      temperatureLUTColorBar.Title = 'temperature'

      temperatureLUTColorBar.ComponentTitle = ''

    return Pipeline()


  class CoProcessor(coprocessing.CoProcessor):

    def CreatePipeline(self, datadescription):

      self.Pipeline = _CreatePipeline(self, datadescription)


  coprocessor = CoProcessor()

  # these are the frequencies at which the coprocessor updates.

  freqs = {'X_Y_Z_1LAYER-primal': [1]}

  coprocessor.SetUpdateFrequencies(freqs)

  return coprocessor


#--------------------------------------------------------------

# Global variables that will hold the pipeline for each timestep

# Creating the CoProcessor object, doesn't actually create the ParaView pipeline.

# It will be automatically setup when coprocessor.UpdateProducers() is called the

# first time.

coprocessor = CreateCoProcessor()


#--------------------------------------------------------------

# Enable Live-Visualizaton with ParaView

coprocessor.EnableLiveVisualization(False, 1)



# ---------------------- Data Selection method ----------------------


def RequestDataDescription(datadescription):

    "Callback to populate the request for current timestep"

    global coprocessor

    if datadescription.GetForceOutput() == True:

        # We are just going to request all fields and meshes from the simulation

        # code/adaptor.

        for i in range(datadescription.GetNumberOfInputDescriptions()):

            datadescription.GetInputDescription(i).AllFieldsOn()

            datadescription.GetInputDescription(i).GenerateMeshOn()

        return


    # setup requests for all inputs based on the requirements of the

    # pipeline.

    coprocessor.LoadRequestedData(datadescription)


# ------------------------ Processing method ------------------------


def DoCoProcessing(datadescription):

    "Callback to do co-processing for current timestep"

    global coprocessor


    # Update the coprocessor by providing it the newly generated simulation data.

    # If the pipeline hasn't been setup yet, this will setup the pipeline.

    coprocessor.UpdateProducers(datadescription)


    # Write output data, if appropriate.

    coprocessor.WriteData(datadescription);




    # Write image capture (Last arg: rescale lookup table), if appropriate.

    coprocessor.WriteImages(datadescription, rescale_lookuptable=False)


    # Live Visualization, if enabled.

    coprocessor.DoLiveVisualization(datadescription, "localhost", 22222)



From: David E DeMarle <dave.demarle at kitware.com<mailto:dave.demarle at kitware.com>>
Date: Thursday, July 30, 2015 at 12:32 PM
To: First name Last name <aeatmon at lanl.gov<mailto:aeatmon at lanl.gov>>
Cc: "paraview at paraview.org<mailto:paraview at paraview.org>" <paraview at paraview.org<mailto:paraview at paraview.org>>
Subject: Re: [Paraview] adjusting vertical level setting via paraview python script

Regarding the adding attributes error message, it is likely that the ActiveSource is not an MPAS reader at that point in time.
…GetActiveSource().__class__ should tell your what it is.

Regarding the level setting - what is yourReader.ShowMultilayerView?
The docs indicated a value of 1 makes VerticalLayer immaterial.



David E DeMarle
Kitware, Inc.
R&D Engineer
21 Corporate Drive
Clifton Park, NY 12065-8662
Phone: 518-881-4909

On Thu, Jul 30, 2015 at 9:52 AM, Eatmon Jr., Arnold <aeatmon at lanl.gov<mailto:aeatmon at lanl.gov>> wrote:
I’m one of the DSS interns working under Jim Ahrens for the summer. I am using paraviews python script in the HPC and I’m having an issue adjusting an attribute of paraview.simple.netcdfmpasreader “VerticalLevel”.

I want to adjust it from the default to one and attempted:

paraview.simple.NetCDFMPASreader.VerticalLevel = 1
paraview.simple.NetCDFMPASreader.VerticalLevel = ‘1'
And
paraview.simple.GetActiveSource().VerticalLevel = 1

The first two operate with no errors doing nothing in the program and the last returns an error that the class bars adding attributes to prevent errors due to spelling.

How do I adjust the vertical level setting?

Thank you in advance for your assistance.

_______________________________________________
Powered by www.kitware.com<http://www.kitware.com>

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView

Search the list archives at: http://markmail.org/search/?q=ParaView

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/paraview


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20150730/6cf3d941/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screen Shot 2015-07-30 at 1.03.54 PM.png
Type: image/png
Size: 244567 bytes
Desc: Screen Shot 2015-07-30 at 1.03.54 PM.png
URL: <http://public.kitware.com/pipermail/paraview/attachments/20150730/6cf3d941/attachment-0001.png>


More information about the ParaView mailing list