public class OpendapDataSource extends LimitedFiringSource
As an example, consider the FNOC1 data source available at test.opendap.org. The full URL for this is http://test.opendap.org/opendap/data/nc/fnoc1.nc. It contains a variable 'u' which has three dimensions. We can constrain 'u' so that it has only two dimensions when read into Kepler using the CE 'u[0][0:16][0:20]' which selects only the first element (index 0) for the first dimension while requesting all of the remaining elements for the second and third dimensions. The www.opendap.org has documentation about the CE syntax.
The second data type returned by the actor is a record. In reality, all DAP data sources are records but the actor automatically 'disassembles' the top most record since we know that's what the vast majority of users will want. However, some data sources contains nested hierarchies of records many levels deep. When dealing with those data sources you will need to use the Kepler record disassembler in your workflow.
Entity.ContainedObjectsIterator| Modifier and Type | Field and Description |
|---|---|
static int |
EMBEDDED_METADATA |
static java.lang.String |
globalMetadataPortName |
StringParameter |
metadataOptionsParameter
Controls if and how the DAP2 metadata is incorporated into the Actors
output.
|
static int |
NO_METADATA |
PortParameter |
opendapCEParameter
The OPeNDAP Constraint Expression used to sub sample the dataset.
|
PortParameter |
opendapURLParameter
The OPeNDAP URL that identifies a (possibly constrained) dataset.
|
static int |
SEPARATE_METADATA_PORT |
static java.lang.String |
separateMetadataPortName |
_firingCountLimit, _iterationCount, firingCountLimit_triggered, output, trigger_typesValid_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKSCOMPLETED, NOT_READY, STOP_ITERATING| Constructor and Description |
|---|
OpendapDataSource(CompositeEntity container,
java.lang.String name) |
| Modifier and Type | Method and Description |
|---|---|
void |
attributeChanged(Attribute attribute)
Override the base class to determine which attribute is being
specified.
|
void |
fire()
Read at most one input token from each channel of the trigger
input and discard it.
|
static java.lang.String |
portInfo(TypedIOPort port)
Probe a port
|
void |
preinitialize()
Create receivers and declare delay dependencies.
|
static void |
squeezeArrays(opendap.dap.DConstructor dds)
Eliminates array dimensions whose dimensions are 1 (and thus in practice
don't exist)
|
initialize, postfire_customTypeConstraints, prefire_containedTypeConstraints, _defaultTypeConstraints, _fireAt, _fireAt, attributeTypeChanged, clone, clone, isBackwardTypeInferenceEnabled, newPort, typeConstraintList, typeConstraints_actorFiring, _actorFiring, _declareDelayDependency, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate, wrapup_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName_addPort, _description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, addHierarchyListener, attributeDeleted, attributeList, attributeList, decorators, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, notifyOfNameChange, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspaceequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitcreateReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortListisFireFunctional, isStrict, iterate, stop, stopFire, terminateaddInitializable, removeInitializable, wrapupdescription, getContainer, getDisplayName, getFullName, getName, getName, setNamegetDerivedLevel, getDerivedList, propagateValuepublic PortParameter opendapURLParameter
public PortParameter opendapCEParameter
public StringParameter metadataOptionsParameter
public static int NO_METADATA
public static int EMBEDDED_METADATA
public static int SEPARATE_METADATA_PORT
public static java.lang.String separateMetadataPortName
public static java.lang.String globalMetadataPortName
public OpendapDataSource(CompositeEntity container, java.lang.String name) throws NameDuplicationException, IllegalActionException
public void attributeChanged(Attribute attribute) throws IllegalActionException
LimitedFiringSourceattributeChanged in class LimitedFiringSourceattribute - The changed Attribute.IllegalActionException - When bad things happen.public void preinitialize() throws IllegalActionException
AtomicActorpreinitialize in interface Initializablepreinitialize in class AtomicActor<TypedIOPort>IllegalActionException - Not thrown in this base class.public void fire() throws IllegalActionException
Sourcefire in interface Executablefire in class SourceIllegalActionException - Not thrown in this base class.public static java.lang.String portInfo(TypedIOPort port)
port - The port to probe.public static void squeezeArrays(opendap.dap.DConstructor dds)
dds - The DDS to traverse and squeeze its member arrays.