Family Probe

Probe extraction

see also antares.treatment.TreatmentPointProbe

Description

Extract a point probe from a given input Base.

Parameters

  • base: Base

    Probes will be searched in this input base.

  • coordinates: list(str)

    The variable names that define the set of coordinates. The coordinates must always be located at nodes whatever the value of location.

  • location: str in LOCATIONS, default= ‘node’

    Location of values that are concerned by the search. If location is ‘node’, then the probe value will be computed with variables located at ‘node’.

  • points: list(tuple)

    List of point coordinates.

  • tolerance: float, default= None

    The threshold in the closest-point search.

Preconditions

The base must only contain variables located at the given location.

Main functions

class antares.treatment.TreatmentProbe.TreatmentProbe
execute()

Execute the treatment. (Uses function antares.Base.closest())

Returns:

the family containing the Window corresponding to the given points

Return type:

Family

Example

"""
This example illustrates how use the probe treatment.

Note that the treatment is returning a family which
can then be applied to the base to get the data or used
to get the elsA extractor corresponding
"""
import os
if not os.path.isdir('OUTPUT'):
    os.makedirs('OUTPUT')

from antares import Reader, Treatment

# ----------------------------------------------
# Reading the files and topological information
# ----------------------------------------------
reader = Reader('bin_tp')
reader['filename'] = os.path.join('..', 'data', 'ROTOR37', 'GENERIC', 'flow_<zone>_ite0.dat')
reader['zone_prefix'] = 'Block'
base = reader.read()

# -----------------------------
# Retrieve the probes family
# -----------------------------
treatment = Treatment('probe')
treatment['base'] = base
treatment['points'] = [(-20., 160., 0.), (110, 160., 0.)]
probes_family = treatment.execute()

print(probes_family)
# >>>  Family object
#      - objects : ['probe_0000', 'probe_0001']


# add the family to the base
base.families['my_probes'] = probes_family


# extract the data at the probes locations
probes = base[probes_family]

print(probes)
# >>>  Base object
#      - zones : ['probe_0000', 'probe_0001']


# ----------------------------------
# Get the elsA extractor associated
# ----------------------------------
print(probes_family.get_extractor())

# extractor_antares_win = DesGlobWindow('extractor_antares_win')
#
# extractor_antares_probe_0000 = window('Block0002', name='extractor_antares_probe_0000')
# extractor_antares_probe_0000.set('wnd', [ 15, 15, 1, 1, 11, 11])
# extractor_antares_win.attach(extractor_antares_probe_0000)
#
# extractor_antares_probe_0001 = window('Block0000', name='extractor_antares_probe_0001')
# extractor_antares_probe_0001.set('wnd', [ 1, 1, 1, 1, 17, 17])
# extractor_antares_win.attach(extractor_antares_probe_0001)
#
# extractor_antares = extractor('extractor_antares_win', name='extractor_antares')
# extractor_antares.set('var', 'xyz conservative')
# extractor_antares.set('loc', 'node')
# extractor_antares.set('writingmode', 1)
# extractor_antares.set('file', 'extractor_antares')
# extractor_antares.set('format', 'bin_tp')