From 9c0d113f9bd397e24ab9e7c0a55684bf71ac6be4 Mon Sep 17 00:00:00 2001 From: Elena.Budnik <ebudnik@irap.omp.eu> Date: Mon, 22 May 2017 10:07:44 +0200 Subject: [PATCH] IMPEX final --- generic_data/RemoteData/Bases.xml | 16 ++++++++++++++++ php/RemoteDataCenter/makeArgs.php | 42 ++++++++++++++++++++++++++++-------------- php/RemoteDataCenter/makeOrbitsArgs.php | 4 +++- php/RemoteDataCenter/makeOrbitsList.php | 5 ++++- php/RemoteDataCenter/makeProxy.php | 38 ++++++++++++++++++++++++++------------ php/makeRemote | 21 +++++++++++++++++++++ 6 files changed, 98 insertions(+), 28 deletions(-) create mode 100644 generic_data/RemoteData/Bases.xml create mode 100755 php/makeRemote diff --git a/generic_data/RemoteData/Bases.xml b/generic_data/RemoteData/Bases.xml new file mode 100644 index 0000000..6921d05 --- /dev/null +++ b/generic_data/RemoteData/Bases.xml @@ -0,0 +1,16 @@ +<?xml version="1.0"?> +<dataRoot xml:id="myRemoteData-treeRootNode"> + <!--<dataCenter name="CDAWeb@NASA" desc="Coordinated_Data_Analysis" group="" id1="CDAWEB" xml:id="CDAWEB"/> + <dataCenter name="MAPSKP@IRAP" desc="Cassini MAPS_Key_Parameters" group="" default="yes" id1="MAPSKP" xml:id="MAPSKP"/> + <dataCenter name="THEMIS@IRAP" desc="Mirror_CESR_Data_Base" group="" default="yes" id1="THEMIS" xml:id="THEMIS"/> + <dataCenter name="CLWEB@IRAP" desc="CLWeb_Internal_Data_Base" default="yes" id1="CLWeb" xml:id="CLWeb"/>--> + <dataCenter name="LATMOS" desc="Latmos Hybrid Simulation Database" isSimulation='1' default="yes" id1="LATMOS" xml:id="LATMOS"/> + <dataCenter name="FMI_HYBRID" desc="FMI Hybrid Simulation Database" isSimulation='1' default="yes" id1="FMI_HYBRID" xml:id="FMI_HYBRID"/> + <dataCenter name="FMI_GUMICS" desc="FMI MHD simulation database" isSimulation='1' default="yes" id1="FMI_GUMICS" xml:id="FMI_GUMICS"/> + <!--<dataCenter name="SINP" desc="Paraboloid model calculates the magnetic fields in the Earth's magnetosphere depending on external conditions in solar wind and on geomagnetic activity level" isSimulation='1' default="yes" id1="SINP" xml:id="SINP"/>--> + <dataCenter name="LESIA" desc="LESIA MASER" default="yes" id1="LESIA" isSimulation='1' xml:id="LESIA"/> + <!--<dataCenter name="CDPP" desc="CCMC BATSRUS with RCM v8.01" default="yes" id1="CCMC" isSimulation='1' xml:id="CCMC"/>--> + <dataCenter name="IPIM" desc="IPIM @ IRAP" default="yes" id1="IPIM" isSimulation='1' xml:id="IPIM"/> +</dataRoot> + + diff --git a/php/RemoteDataCenter/makeArgs.php b/php/RemoteDataCenter/makeArgs.php index 8979052..e33c24e 100644 --- a/php/RemoteDataCenter/makeArgs.php +++ b/php/RemoteDataCenter/makeArgs.php @@ -3,29 +3,43 @@ * Executable to make arguments lists for IMPEX * Uses target.json */ - require_once "../config.php"; - - if (!defined('SimuTargetsXml')) - exit('SimuTargetsXml is not defined in config.php'.PHP_EOL); - if (!function_exists('__autoload')) { function __autoload($class_name) { require_once $class_name . '.php'; } } - $simuBases = array("LATMOS", "FMI_HYBRID", "FMI_GUMICS", "LESIA"); + $AMDA_IHM = getenv('AMDA_IHM'); + + require_once $AMDA_IHM."/php/config.php"; + + if (! file_exists(DATAPATH."/RemoteData/Bases.xml")) + exit('No Bases.xml file'.PHP_EOL); + + if (!defined('SimuTargetsXml')) + exit('SimuTargetsXml is not defined in config.php'.PHP_EOL); + + // $simuBases = array("LATMOS", "FMI_HYBRID", "FMI_GUMICS", "LESIA"); - foreach ($simuBases as $class) - { - echo PHP_EOL.$class.PHP_EOL; - $center = new $class(); + $basesDom = new DomDocument("1.0"); + $basesDom->load(DATAPATH."/RemoteData/Bases.xml"); - $center->makeArgumentsList(); + $bases = $basesDom->getElementsByTagName("dataCenter"); + + foreach ($bases as $base) + { + if ($base->hasAttribute('isSimulation')) + { + $class = $base->getAttribute('xml:id'); + echo PHP_EOL.$class.PHP_EOL; + $center = new $class(); - //copy PlotSettings if exists - if (file_exists(DATAPATH."SimuTemplate/".$center->plotSettings)) - copy(DATAPATH."SimuTemplate/".$center->plotSettings, RemoteData.$center->baseID.'/'.->plotSettings); + $center->makeArgumentsList(); + + //copy PlotSettings if exists + if (file_exists(DATAPATH."SimuTemplate/".$center->plotSettings)) + copy(DATAPATH."SimuTemplate/".$center->plotSettings, RemoteData.$center->baseID.'/'.$center->plotSettings); + } } diff --git a/php/RemoteDataCenter/makeOrbitsArgs.php b/php/RemoteDataCenter/makeOrbitsArgs.php index 1374c8d..3175c2b 100644 --- a/php/RemoteDataCenter/makeOrbitsArgs.php +++ b/php/RemoteDataCenter/makeOrbitsArgs.php @@ -4,7 +4,9 @@ * is launched AFTER makeProxy and makeOrbitsList */ - require_once "../config.php"; + $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); diff --git a/php/RemoteDataCenter/makeOrbitsList.php b/php/RemoteDataCenter/makeOrbitsList.php index 63bce13..83d0719 100644 --- a/php/RemoteDataCenter/makeOrbitsList.php +++ b/php/RemoteDataCenter/makeOrbitsList.php @@ -3,7 +3,10 @@ * Executable to make Orbits.xml with the description for all Ephemeris parameters * Uses LocalParams.xml and AMDA params descriptions */ - require_once "../config.php"; + + $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); diff --git a/php/RemoteDataCenter/makeProxy.php b/php/RemoteDataCenter/makeProxy.php index f505cb3..7bb0828 100644 --- a/php/RemoteDataCenter/makeProxy.php +++ b/php/RemoteDataCenter/makeProxy.php @@ -9,23 +9,37 @@ } } - require_once "../config.php"; + $AMDA_IHM = getenv('AMDA_IHM'); + + require_once $AMDA_IHM."/php/config.php"; - if (!defined('SimuTargetsXml') + if (! file_exists(DATAPATH."/RemoteData/Bases.xml")) + exit('No Bases.xml file'.PHP_EOL); + + if (!defined('SimuTargetsXml')) exit('SimuTargetsXml is not defined in config.php'.PHP_EOL); if (file_exists(SimuTargetsXml)) unlink(SimuTargetsXml); + + $basesDom = new DomDocument("1.0"); + $basesDom->load(DATAPATH."/RemoteData/Bases.xml"); + + $bases = $basesDom->getElementsByTagName("dataCenter"); - $simuBases = array("IPIM", "LATMOS", "FMI_HYBRID", "FMI_GUMICS", "SINP", "LESIA"); - - foreach ($simuBases as $class) - { - echo PHP_EOL.$class.PHP_EOL; - $center = new $class(); - - $center->initProxy(); - $center->makeProxy(); - $center->saveProxy(); + // $bases = array("IPIM", "LATMOS", "FMI_HYBRID", "FMI_GUMICS", "SINP", "LESIA"); + + foreach ($bases as $base) + { + if ($base->hasAttribute('isSimulation')) + { + $class = $base->getAttribute('xml:id'); + echo PHP_EOL.$class.PHP_EOL; + $center = new $class(); + + $center->initProxy(); + $center->makeProxy(); + $center->saveProxy(); + } } ?> \ No newline at end of file diff --git a/php/makeRemote b/php/makeRemote new file mode 100755 index 0000000..efc798a --- /dev/null +++ b/php/makeRemote @@ -0,0 +1,21 @@ +#!/bin/bash + +# +# +# + export AMDA_IHM=./.. + + # 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 + fi + + # make Proxies for 'isSimulation' dataCenters from Bases.xml + php $AMDA_IHM/php/RemoteDataCenter/makeProxy.php + + # make [TARGET].json + php $AMDA_IHM/php/RemoteDataCenter/makeOrbitsArgs.php + + # make template args + php $AMDA_IHM/php/RemoteDataCenter/makeArgs.php + \ No newline at end of file -- libgit2 0.21.2