<?php /** * @class FMI_HYBRID * @brief * @details */ class FMI_HYBRID extends SimulationDataCenterClass { protected $url = "http://impex-fp7.fmi.fi/ws"; protected $treeXML = "Tree_FMI_HYB.xml"; protected $WSDL = "Methods_FMI.wsdl"; protected $needsArgs = true; protected $templateFile = "FMI_HYBRID_Templates.xml"; public $interpolationMethod = array('Linear', 'NearestGridPoint'); public $soapMethod = "getDataPointValue"; public $soapMethodSpectra = "getDataPointSpectra"; public $energyTableName = "EnergyRange", $tableTitle="Energy"; //<xs:element minOccurs="0" maxOccurs="1" ref="EnergyChannel"/> // OutputFormat netCDF, VOTable, ASCII public $outputFormat = "VOTable"; protected function getDatasetName($no) { $name = explode("/",trim($no->ResourceID)); return end($name); } protected function setSimulationRunNodeDescription($runNode,$sr) { $coords = $this->getCoordinateSystem($sr->SimulationDomain->CoordinateSystem); $domain = $this->getRegionBoundaries($sr->SimulationDomain,$sr->RegionParameter); $properties = $this->getProperties($sr); $runNode->setAttribute('desc', $coords.$domain.$properties); } protected function getProperties($sr) { } protected function createSpecialArgs($dom) { $node = $dom->createElement('argument'); $node->setAttribute('key', 'InterpolationMethod'); $node->setAttribute('name', 'Interpolation Method'); $node->setAttribute('type', 'list'); $node->setAttribute('default', $this->interpolationMethod[0]); for ($i = 0; $i < 2; $i++) { $item = $dom->createElement('item'); $item->setAttribute('key', $this->interpolationMethod[$i]); $item->setAttribute('name', $this->interpolationMethod[$i]); $node->appendChild($item); } return array($node); } } ?>