diff --git a/php/RemoteDataCenter/makeOrbitsList.php b/php/RemoteDataCenter/makeOrbitsList.php deleted file mode 100644 index 83d0719..0000000 --- a/php/RemoteDataCenter/makeOrbitsList.php +++ /dev/null @@ -1,79 +0,0 @@ -<?php -/* -* Executable to make Orbits.xml with the description for all Ephemeris parameters -* Uses LocalParams.xml and AMDA params descriptions -*/ - - $AMDA_IHM = getenv('AMDA_IHM'); - - require_once $AMDA_IHM."/php/config.php"; - - if (!defined('orbitsXml')) - exit("orbitsXml is not defined in config.php".PHP_EOL); - - $pairs = array("-" => "_" ); - - $amdaXml = new DomDocument("1.0"); - $amdaXml->load(DATAPATH."LocalParams.xml"); - - $xpath = new DOMXpath($amdaXml); - - $amdaParamDir = DATAPATH."newKernelDDBase"; - - $orbitsXml = new DomDocument("1.0"); - $orbitsXml->formatOutput = TRUE; - $orbitsXml->preserveWhiteSpace = FALSE; - - $orbitsRoot = $orbitsXml->createElement('orbitesList'); - $orbitsXml->appendChild($orbitsRoot); - - $nodesAmda = $xpath->query('//*[@target]'); - - foreach ($nodesAmda as $node) - { - $target = $node->getAttribute('target'); - - if ( (($node->tagName == 'mission' && $node->getElementsByTagName('observatory')->length == 0) || - ($node->tagName == 'observatory') ) && $node->getAttribute('name') != $target ) - { - $instruments = $node->getElementsByTagName('instrument'); - foreach ($instruments as $ins) - { - if ($ins->getAttribute('name') != 'Ephemeris') continue; - $parameters = $ins->getElementsByTagName('parameter'); - foreach ($parameters as $parameter) - { - if ($parameter->hasAttribute('size') && $parameter->getAttribute('size') == '3') - { - $param_file = $amdaParamDir."/".$parameter->getAttribute('xml:id').".xml"; - if (file_exists($param_file)) - { - $paramXml = simplexml_load_file($param_file); - - $orbitNode = $orbitsXml->createElement('orbites'); - $dsId = strtr($paramXml->info->dataset_id,$pairs); - $orbitNode->setAttribute('xml:id',$parameter->getAttribute('xml:id')); - $orbitNode->setAttribute('coordinate_system', $paramXml->info->coordinates_system); - $orbitNode->setAttribute('units', $paramXml->info->units); - $orbitNode->setAttribute('mission', $node->getAttribute('name')); - - if ( $node->tagName == 'observatory' ) - $orbitNode->setAttribute('missionGroup',$node->parentNode->getAttribute('name')); - - $orbitNode->setAttribute('dataset', $dsId); - $ds = $amdaXml->getElementById($paramXml->info->dataset_id); - if ($ds->hasAttribute('target')) - $orbitNode->setAttribute('target', $ds->getAttribute('target')); - else - $orbitNode->setAttribute('target', $target); - - $orbitsRoot->appendChild($orbitNode); - } - } - } - } - } - } - - $orbitsXml->save(orbitsXml); -?> diff --git a/php/makeOrbitsList.php b/php/makeOrbitsList.php new file mode 100644 index 0000000..6bf76df --- /dev/null +++ b/php/makeOrbitsList.php @@ -0,0 +1,79 @@ +<?php +/* +* Executable to make Orbits.xml with the description for all Ephemeris parameters +* Uses LocalParams.xml and AMDA params descriptions +*/ + + $AMDA_IHM = getenv('AMDA_IHM'); + + require_once $AMDA_IHM."/config.php"; + + if (!defined('orbitsXml')) + exit("orbitsXml is not defined in config.php".PHP_EOL); + + $pairs = array("-" => "_" ); + + $amdaXml = new DomDocument("1.0"); + $amdaXml->load(DATAPATH."LocalParams.xml"); + + $xpath = new DOMXpath($amdaXml); + + $amdaParamDir = DATAPATH."newKernelDDBase"; + + $orbitsXml = new DomDocument("1.0"); + $orbitsXml->formatOutput = TRUE; + $orbitsXml->preserveWhiteSpace = FALSE; + + $orbitsRoot = $orbitsXml->createElement('orbitesList'); + $orbitsXml->appendChild($orbitsRoot); + + $nodesAmda = $xpath->query('//*[@target]'); + + foreach ($nodesAmda as $node) + { + $target = $node->getAttribute('target'); + + if ( (($node->tagName == 'mission' && $node->getElementsByTagName('observatory')->length == 0) || + ($node->tagName == 'observatory') ) && $node->getAttribute('name') != $target ) + { + $instruments = $node->getElementsByTagName('instrument'); + foreach ($instruments as $ins) + { + if ($ins->getAttribute('name') != 'Ephemeris') continue; + $parameters = $ins->getElementsByTagName('parameter'); + foreach ($parameters as $parameter) + { + if ($parameter->hasAttribute('size') && $parameter->getAttribute('size') == '3') + { + $param_file = $amdaParamDir."/".$parameter->getAttribute('xml:id').".xml"; + if (file_exists($param_file)) + { + $paramXml = simplexml_load_file($param_file); + + $orbitNode = $orbitsXml->createElement('orbites'); + $dsId = strtr($paramXml->info->dataset_id,$pairs); + $orbitNode->setAttribute('xml:id',$parameter->getAttribute('xml:id')); + $orbitNode->setAttribute('coordinate_system', $paramXml->info->coordinates_system); + $orbitNode->setAttribute('units', $paramXml->info->units); + $orbitNode->setAttribute('mission', $node->getAttribute('name')); + + if ( $node->tagName == 'observatory' ) + $orbitNode->setAttribute('missionGroup',$node->parentNode->getAttribute('name')); + + $orbitNode->setAttribute('dataset', $dsId); + $ds = $amdaXml->getElementById($paramXml->info->dataset_id); + if ($ds->hasAttribute('target')) + $orbitNode->setAttribute('target', $ds->getAttribute('target')); + else + $orbitNode->setAttribute('target', $target); + + $orbitsRoot->appendChild($orbitNode); + } + } + } + } + } + } + + $orbitsXml->save(orbitsXml); +?> diff --git a/php/makeRemote b/php/makeRemote index efc798a..045c395 100755 --- a/php/makeRemote +++ b/php/makeRemote @@ -7,7 +7,7 @@ # check if Orbites.xml exists; if not create it ! if [ ! -e $AMDA_IHM/generic_data/LocalData/Orbites.xml ]; then - php $AMDA_IHM/php/RemoteDataCenter/makeOrbitsList.php + php $AMDA_IHM/php/makeOrbitsList.php fi # make Proxies for 'isSimulation' dataCenters from Bases.xml -- libgit2 0.21.2