### channelScript

Runs a channel subsetter script via JSR223. The networkSource is put as "networkSource" and the channel as "channel". The channel object is a VelocityChannel, the same class used in the templates for the printlineChannelProcess. See the scripting tutorial for more information on inlining scripts into a SOD recipe.

### Example

    <channelScript type="jython">
                       from edu.sc.seis.fissuresUtil.chooser import ClockUtil
                       otherChans = networkSource.getChannels(channel.station)
                       result = util.pass("No BHZ, only LHZ is alive now")
                       for other in otherChans:
       if other.code == "BHZ" and other.getEndDate().after(ClockUtil.now()):
           # active BHZ, so reject LHZ
           result = util.fail( "Use BHZ instead of LHZ for "+channel.network.code+"."+channel.station.code)
    </channelScript>

### This consists of

<channelScript>

An attribute named type with a value of Any Text Any text
</channelScript>

### Places this can be found

In channel there is a choice between all of the following

- siteCode
- siteDepthRange
- siteEffectiveTimeOverlap
- siteArea
- siteBoxArea
- sitePolygonFile
- channelCode
- bandCode
- gainCode
- orientationCode
- sampling
- channelEffectiveTimeOverlap
- orientationRange
- orientationAzimuthRange
- orientationDipRange
- channelAND
- channelOR
- channelNOT
- externalChannelSubsetter
- hadDataLastWeek
- printlineChannelProcess
- responseWriter
- sacPoleZeroWriter
- stationHas
- alwaysSuccess
- hasResponse
- hasSensitivity
- repairSensitivity
- responseFilterType
- stageTransferType
- stageInputUnit
- stageOutputUnit
- clockId
- clockManufacturer
- clockModel
- clockSerial
- clockType
- dasId
- dasManufacturer
- dasModel
- dasSerial
- dasStyle
- sensorId
- sensorManufacturer
- sensorModel
- sensorSerial
- sensorNominalHighFreq
- sensorNominalLowFreq
- hasNegativeSensitivity
- isFlipped
- isGroupable
- channelScript