FMI_HYBRID.php 1.72 KB
<?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;
	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);
	}
 
}
?>