diff --git a/src/CALLEXT/createHeaderVEXGRAZ.php b/src/CALLEXT/createHeaderVEXGRAZ.php deleted file mode 100644 index 550ea46..0000000 --- a/src/CALLEXT/createHeaderVEXGRAZ.php +++ /dev/null @@ -1,64 +0,0 @@ -<?php -/** -* @file createHeaderVEXGRAZ.php -* @version $Id: createHeaderVEXGRAZ.php,v 1.1 2009/03/23 14:02:39 budnik Exp $ -* @brief Function to create header.nc for MapsKP datasets which are not self-described -* @todo Exclude absolute path for /usr/local/bin/ncgen -*/ - - -function createHeaderVEXGRAZ($remSetID) { - - $infoDom = new DOMDocument(); - $infoDom->load(INFODIR."../AmdaInfo/MAG_VSO.xml"); - - $sampling = $infoDom->getElementsByTagName("TIME_RESOLUTION")->item(0)->nodeValue; - $globalAttrs = ":minSampling = ".$sampling.";"; - - $params = $infoDom->getElementsByTagName("PARAM_METADATA"); - - $Dimensions = "Time = unlimited, TimeLength = 17 "; - $charVariables = "char Time(Time,TimeLength), StartTime(TimeLength), StopTime(TimeLength);"; - $floatVariables = "float "; - - $Size = array(); - $addDim = true; - - for ($i = 0; $i < $params->length; $i++) { - - $Name = $params->item($i)->getElementsByTagName("PARAM_ID")->item(0)->nodeValue; - $Size[$i] = $params->item($i)->getElementsByTagName("SIZES")->item(0)->nodeValue; - $Type = $params->item($i)->getElementsByTagName("DATA_TYPE")->item(0)->nodeValue; - - if ($i > 0) $floatVariables .= ","; - - if ($Size[$i] != "1" ) { - for ($j = 0; $j < $i+1; $j++) - if ($Size[$i] == $Size[$j]) { - if ($i != 0 && $j != $i) $addDim = false; - break; - } - if ($addDim) $Dimensions .= ", Dim".$j." = ".$Size[$j]; - $floatVariables .= $Name."(Time, Dim".$j.")"; - $addDim = true; - } - else - $floatVariables .= $Name."(Time)"; -// - } - -// Create CDL ASCII file - $cdl = fopen("header.cdl","w"); - fwrite($cdl, "netcdf header { \n \n dimensions: \n"); - fwrite($cdl,$Dimensions."; \n\n"); - - fwrite($cdl, "variables: \n "); - fwrite($cdl, $charVariables."\n"); - fwrite($cdl, $floatVariables."; \n \n"); - fwrite($cdl, $globalAttrs."\n"); - fwrite($cdl, "data: \n\n }"); - fclose($cdl); -// transform to nc - system("/usr/local/bin/ncgen -o header.nc header.cdl"); - } -?> diff --git a/src/CALLEXT/createVI.php b/src/CALLEXT/createVI.php index 64f2ab2..41e3308 100755 --- a/src/CALLEXT/createVI.php +++ b/src/CALLEXT/createVI.php @@ -1,298 +1,102 @@ <?php -/*---------------------------------------------------------------------- - * DD SERVER TOOLS - * data update collection - * createVI.php - * 17 Jun 2007 V.1.0 - * 01 Aug 2007 V.1.1 Only one argument in info2nc call - * 02 Aug 2007 V.1.2 rebuild, clean & cash from templates in DDLIB - * 05 Sep 2007 V.1.3 creates empty *times.nc - * 24 Nov 2007 V.1.4 DDrehash -> TimesUpdate - * 14 Feb 2008 V.1.5 added Mission & Instrument tags ; and createHeader if neccessary - * 11 Sep 2012 V.1.6 get dataset info from remote DB to keep it at server side in the only one place - *-----------------------------------------------------------------------*/ - -function getCDF($remSetID){ - - $client = new SoapClient(wsdlCDAWEB); -/* Get "VIEW" descriptions, select "istp_public" and set endPoint address*/ - $metaData = $client->__soapCall("getAllViewDescriptions", array()); - - for ($k = 0; $k < count($metaData); $k++) { - if ($metaData[$k]->id != viewID) continue; - try { - $client->__setLocation($metaData[$k]->endpointAddress); - break; - } - catch (SoapFault $exception){ - error_log($exception.PHP_EOL, 3, err); - return false; - } - } - $fileXML = INFODIR.'CDAWEB/'.$remSetID.'.xml'; - if (!file_exists($fileXML)) { - error_log('No DDServer XML description '.$remSetID.PHP_EOL, 3, err); - return false; - } - $XML= new DomDocument("1.0"); - $XML->load($fileXML); - - $Start = $XML->getElementsByTagName('GlobalStart')->item(0)->nodeValue; - $fileName = strtolower($remSetID)."_00000000_v01.cdf"; - $Stop = strftime("%Y-%m-%dT%H:%M:%S.000Z",strtotime($Start) + 82800); - $nFiles = 0; - $INFO_DIR = INFODIR."../CDAWEB/DATASETS/"; - - while ($nFiles == 0){ - $dataFileDesc = $client->__soapCall("getDataFiles", array($remSetID, $Start, $Stop)); - $nFiles = count($dataFileDesc); - if ($nFiles > 0) { - if (!copy($dataFileDesc[0]->name, $INFO_DIR.$fileName)){ - error_log('Cannot copy '.$dataFileDesc[0]->name.PHP_EOL, 3, err); - return false; - } - } - $Start = strftime("%Y-%m-%dT%H:%M:%S.000Z",strtotime($Stop) + 82800); - $Stop = strftime("%Y-%m-%dT%H:%M:%S.000Z",strtotime($Start) + 82800); - } - if ($nFiles == 0) { - error_log('No data file '.$remSetID.' '.$Start.PHP_EOL, 3, err); - return false; - } - - return true; -} - -function getInfoFromRemoteBase($dataBaseID, $remSetID){ - - $INFO_DIR = INFODIR."../".$dataBaseID."/DATASETS/"; - if (!is_dir($INFO_DIR)) mkdir($INFO_DIR, 0755, true); - - switch ($dataBaseID) { - case 'CDAWEB' : - require_once "ftpWrapper.php"; - require_once "cdaweb_cfg.php"; - - $fileName = strtolower($remSetID)."_00000000_v01.cdf"; - if (file_exists($INFO_DIR.$fileName)) return true; - - // Get master CDF - if (!ftpWrapper(ftp_server, ftp_user_name, ftp_user_pass, - ftp_dir.$fileName, $INFO_DIR.$fileName)) { - error_log('No master CDF for '.$remSetID.PHP_EOL, 3, err); - // No master CDF - try regular file - return getCDF($remSetID); - } - - return true; - - break; - case "MAPSKP": - - require_once "mapskp_cfg.php"; - - $XML_NAME = $remSetID.".xml"; - if (file_exists($INFO_DIR.$XML_NAME)) return true; - - $args = array('service'=>'getInfoUrl', 'datasetId'=>$remSetID); - - $url = url.http_build_query($args); - - $infoDom = new DOMDocument(); - $infoDom->load($url); - $File = $infoDom->getElementsByTagName("infoUrl")->item(0)->nodeValue; - - $fileName_ = explode("ftp://",$File); - $fileName = $fileName_[0].passwd.$fileName_[1]; - - if (!copy($fileName,$INFO_DIR.$XML_NAME)) return false; - return true; - - break; - - case "VEXGRAZ" : - $fileName = "MAG_VSO.xml"; - if (file_exists($INFO_DIR.$fileName)) return true; - return false; - break; - - case "CDPP" : - - break; - - default: - } - - return true; - -}; - -function getInfoFromAmda($dataBaseID, $remSetID) -{ - - global $DDsysInfo; - - if (file_exists(BASEDIR.'info.xml')) unlink(BASEDIR.'info.xml'); - - $DDinfo = new DomDocument("1.0"); - $VI = $DDinfo->createElement("VI"); - - $InfoArr = $DDsysInfo->getElementsByTagName("VI")->item(0)->childNodes; - for ($i = 0; $i < $InfoArr->length; $i++) - if ($InfoArr->item($i)->nodeName != '#text' && $InfoArr->item($i)->nodeName != 'PARAMETER') - $VI->appendChild($DDinfo->importNode($InfoArr->item($i), true)); - $VI->appendChild($DDinfo->createElement("LocalStart")); - $VI->appendChild($DDinfo->createElement("LocalStop")); - $DDinfo->appendChild($VI); - $DDinfo->save(BASEDIR.'info.xml'); - - return true; -} - -/** +/**---------------------------------------------------------------------- +* DD SERVER TOOLS +* data update collection * @file createVI.php * @brief DD_Server tool <br> Creates New Virtual Instrument -* @version $Id: createVI.php,v 1.11 2013/09/23 09:02:28 budnik Exp $ +* @version * Creates New VI at DD_Server Side \n * Args: dataBaseID ddDataSetID remoteDataSetID \n * Env Vars: $DDBASE $DDBASEBIN $DDLIB \n * Executables: makeDDsys info2nc TimesUpdate \n -* Functions: getInfoFromAmda * -* @arg Checks if VI already exists in dataBase desctiptor $DDBASE/DDsys.xml +* @arg Checks if VI already exists in dataBase desctiptor DDsys.xml * @arg Adds non-existing VI to DDres.xml -* @arg $DDBASEBIN/makeDDsys creats refer.nc file from DDsys.xml +* @arg makeDDsys creats refer.nc file from DDsys.xml * @arg Gets dataSet Info from INFO/DDServer dir -* @arg Creates dir, *_cash.nc, *_info.nc and empty *_times.nc +* @arg Creates dir, *_cache.nc, *_info.nc and empty *_times.nc * */ - global $DDsysInfo; - - define("verbose", true); - - - define("BASEDIR",getenv("DDBASE")."/"); - define("INFODIR",BASEDIR."../INFO/DDServer/"); - define("DDBASEBIN",getenv("DDBASEBIN")); - define("DDLIB", getenv("DDLIB")."/"); - - define ("log",BASEDIR."../INFO/addVI.log"); - define ("err",BASEDIR."../INFO/addVI.err"); - - - if ($argc != 4) { - error_log("Usage: php createVI.php <BaseID> <RemSetID> <NewVIName>".PHP_EOL, 3, err); - exit("Usage: php createVI.php <BaseID> <RemSetID> <NewVIName>".PHP_EOL); - } + if (!function_exists('__autoload')) + { + function __autoload($class_name) { + require_once $class_name . '.php'; + } + } + + date_default_timezone_set('UTC'); + putenv("LD_LIBRARY_PATH=".getenv("LD_LIBRARY_PATH")); + putenv("PATH=./:".getenv("DDBASEBIN").":/bin:/usr/bin"); + set_include_path("./:".getenv("DATAMANAGER").":".getenv("REMOTEDATA").":".getenv("CALLEXT")); + + define("verbose", true); + + define("INFODIR",getenv("DDBASE")."../INFO/"); + define ("log",INFODIR."addVI.log"); + define ("err",INFODIR."addVI.err"); + + if ($argc != 4) + { + // error_log("Usage: php createVI.php <BaseID> <RemSetID> <NewVIName>".PHP_EOL, 3, err); + exit("Usage: php createVI.php <BaseID> <RemSetID> <NewVIName>".PHP_EOL); + } - $dataBaseID = strtoupper($argv[1]); - $remSetID = $argv[2]; - $VIID = strtolower($argv[3]); + $base = strtoupper($argv[1]); + $remSetID = $argv[2]; + $ViId = strtolower($argv[3]); + + $baseMgr = new DDBaseMgr(); + + $nc_prefix = strlen($ViId) > RemoteDataCenterClass::$MAX_VI_NAME_LENGTH ? + substr($ViId, 0, RemoteDataCenterClass::$MAX_VI_NAME_LENGTH - 1): $ViId; - - - $MAX_VI_NAME_LENGTH = 16; - $nc_prefix = strlen($VIID) > $MAX_VI_NAME_LENGTH ? substr($VIID,0,15): $VIID; - - $newDataSet = false; - $DDsysRefer = BASEDIR."DDsys.xml"; - if (verbose) - error_log("request to add Data Set ".$dataBaseID.":".$remSetID." as ".$VIID.PHP_EOL, 3, log); -// Check if dataSet exists already - $DDsys = new DomDocument("1.0"); - $DDsys->preserveWhiteSpace = false; - $DDsys->formatOutput = true; - $DDsys->load($DDsysRefer); - - $xp = new domxpath($DDsys); - $dataSet = $xp->query("//NAME[.='".$VIID."']"); - - if ($dataSet->item(0) != NULL) - if ($dataSet->item(0)->getAttribute("base") != $dataBaseID) { - error_log(" Data Set ".$VIID." exists! Corresponding BaseID is " - .$dataSet->item(0)->getAttribute("base")." not ".$dataBaseID.PHP_EOL, 3, err); - - $newDataSet = true; - } - if ($dataSet->item(0) == NULL) $newDataSet = true; - + if ($baseMgr->viExists($ViId, $base)) die("$ViId Already Exists!!!".PHP_EOL); + + $baseMgr->setViId($ViId); + $baseMgr->setViInfo($nc_prefix); + $status = $baseMgr->setViInfoFromFile($base, $remSetID); + + if ($status === 0) + { + $baseMgr->createVi(); +// if (verbose) +// error_log("request to add Data Set ".$base.":".$remSetID." as ".$ViId.PHP_EOL, 3, log); +// //-------------- Get Full Dataset Info file from distant database------------- -//TODO error processing here - $res = getInfoFromRemoteBase($dataBaseID, $remSetID); - if (!$res) - error_log("Error: Can't get dataset info for ".$remSetID." from ".$dataBaseID.PHP_EOL, 3, err); - - if (verbose) error_log("Get dataset info for ".$remSetID." from ".$dataBaseID." returns ".$res.PHP_EOL, 3, log); - if ($newDataSet) { - -//----------- Gets INFO from INFO/DDServer ------------------- - if (verbose) error_log("Ready to Add ".$VIID.PHP_EOL, 3, log); - $DDsysInfo = new DomDocument("1.0"); - -//----------- Getting INFO file for DataSet - $XmlName = INFODIR.$dataBaseID."/".$remSetID.".xml"; - - if (file_exists($XmlName)){ - - $DDsysInfo->load($XmlName); - $mission = $DDsysInfo->getElementsByTagName("Mission")->item(0)->nodeValue; - $instrument = $DDsysInfo->getElementsByTagName("Instrument")->item(0)->nodeValue; - -//--------- Check if additional Info should be added to VI - - $theFormat = $DDsysInfo->getElementsByTagName("Format")->item(0); - if ($theFormat != NULL) - $AddInfo = ($theFormat->nodeValue == "Text"); - if (!$AddInfo) - $AddInfo = ($DDsysInfo->getElementsByTagName("AdditionalInfoNeed")->item(0) != NULL); - - //--------------------------------------------------------- - $newVIdir = BASEDIR.$dataBaseID."/".strtoupper($VIID)."/"; -// New Data Set - add to DDsys.xml - $base = $xp->query("/DD_BASE")->item(0); - $newVI= $DDsys->createElement("VI"); - $newName = $DDsys->createElement("NAME",$VIID); - $newattrBase = new DomAttr('base', $dataBaseID); - $newattrMission = new DomAttr('mission', $mission); - $newattrIns = new DomAttr('instrument', $instrument); - $newName->appendChild($newattrBase); - $newName->appendChild($newattrMission); - $newName->appendChild($newattrIns); - $newVI->appendChild($newName); - $newVI->appendChild($DDsys->createElement("LOCATION", $newVIdir)); - $newVI->appendChild($DDsys->createElement("TIMES", $VIID."_times.nc")); - $newVI->appendChild($DDsys->createElement("INFO", $VIID."_info.nc")); - $newVI->appendChild($DDsys->createElement("CACHE", $VIID."_cash.nc")); - $base->appendChild($newVI); - - $DDsys->save($DDsysRefer); -// xml to refer.nc - exec(DDBASEBIN.'/makeDDsys'); - -// Now make new dir ..... - if (!is_dir(BASEDIR.$dataBaseID)) mkdir(BASEDIR.$dataBaseID."/", 0755, true); - if (!is_dir($newVIdir)) mkdir($newVIdir, 0755, true); - copy (DDLIB."Cash.template", $newVIdir."/".$VIID."_cash.nc"); - $SED = "sed 's/NAME/".$nc_prefix."/g' ".DDLIB."Clean.template | sed 's/CACHE/".$VIID."/g' > ".$newVIdir."/clean"; - exec($SED); - exec('chmod ugo+x '.$newVIdir.'/clean'); -// Now info.nc from metadonnees - $err = getInfoFromAmda($dataBaseID, $remSetID); - if ($err) exec(DDBASEBIN.'/info2nc '.$newVIdir.'/'.$VIID.'_info.nc'); -// Create empty times file - chdir($newVIdir); - exec(DDBASEBIN.'/TimesUpdate -r '.$VIID.'_times.nc '.$VIID.'_[0-9]*.nc'); - - if ($AddInfo) { - $function_name = "createHeader".$dataBaseID; - require_once(DDLIB.$function_name.".php"); - $function_name($remSetID); - } - if (verbose) error_log("Added ".$VIID.PHP_EOL, 3, log); - } - else { - error_log("Error: ".$VIID." not added: no XML DDServer info file ".PHP_EOL, 3, err); - } - } +// + $center = new $base(); + + $startStamp = strtotime($baseMgr->globalStart); + $stopStamp = strtotime($baseMgr->globalStart."+1 day"); + $start = date( "Ymd\THis\Z", $startStamp); + $stop = date( "Ymd\THis\Z", $stopStamp); + + $startIso = date( "Y-m-d\TH:i:s\.000\Z", $startStamp); + $stopIso = date( "Y-m-d\TH:i:s\.000\Z", $stopStamp); + + $ncFiles = $center->getData($remSetID, $start, $stop); + + $baseMgr->addRemoteData($remSetID, $ncFiles, $startIso, $stopIso); + echo " START-STOP ".$start." ".$stop.PHP_EOL; +// if (!$res) +// error_log("Error: Can't get dataset info for ".$remSetID." from ".$dataBaseID.PHP_EOL, 3, err); + +// if (verbose) error_log("Get dataset info for ".$remSetID." from ".$dataBaseID." returns ".$res.PHP_EOL, 3, log); + + + +// if ($AddInfo) +// { +// $function_name = "createHeader".$dataBaseID; +// require_once(DDLIB.$function_name.".php"); +// $function_name($remSetID); +// } +// if (verbose) error_log("Added ".$VIID.PHP_EOL, 3, log); + } + else + { + if (verbose) error_log("No DDServer Info File for $base $ViId".PHP_EOL, 3, log); + } + ?> \ No newline at end of file diff --git a/src/CALLEXT/ftpWrapper.php b/src/CALLEXT/ftpWrapper.php deleted file mode 100644 index 3bb49c8..0000000 --- a/src/CALLEXT/ftpWrapper.php +++ /dev/null @@ -1,24 +0,0 @@ -<?php -/** \file ftpWrapper.php -* \brief FTP Wrapper for FTP Servers passive -* -? -/*Wrapper to FTP - standard wrapper doesn't work in our case - we need passive mode */ -function ftpWrapper($ftp_server, $ftp_user_name, $ftp_user_pass, $server_file, $local_file) { - - try - { - $conn_id = ftp_connect($ftp_server); - $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); - ftp_pasv($conn_id, true); - $ftp_get = ftp_get($conn_id, $local_file, $server_file, FTP_BINARY); - ftp_close($conn_id); - } - catch (Exception $e) - { - return false; - } - - - return $ftp_get; -} diff --git a/src/CALLEXT/getData.php b/src/CALLEXT/getData.php new file mode 100644 index 0000000..1503dbf --- /dev/null +++ b/src/CALLEXT/getData.php @@ -0,0 +1,54 @@ +<?php +/** +* @file getData.php +* @version $Id: getData.php,v 1.5 2009/08/26 09:32:40 budnik Exp $ +* @brief DD_Server tools <br> Gets Data from Remote +* +* Args: remDataSetID ddVIdir StartTime StopTime \n +* Env Vars: $DDBASE $DDBASEBIN \n +* Executables: cdf2nc(DECODERS) TimesUpdate clean +*/ + +/*---------------------------------------------------------------------- + * DD SERVER TOOLS + * data update collection + * getData.php + * php getData.php <baseID> <remDataSetID> <ddVIdir> <StartTime> <StopTime> + *-----------------------------------------------------------------------*/ + +// Args + $base = $argv[1]; + $id = $argv[2]; + $ViDir = $argv[3]; + $Start = $argv[4]; + $Stop = $argv[5]; + + if (!function_exists('__autoload')) + { + function __autoload($class_name) { + require_once $class_name . '.php'; + } + } + + putenv("LD_LIBRARY_PATH=".getenv("LD_LIBRARY_PATH")); + putenv("PATH=./:".getenv("DDBASEBIN").":/bin:/usr/bin"); + set_include_path("./:".getenv("DATAMANAGER").":".getenv("REMOTEDATA").":".getenv("CALLEXT")); + date_default_timezone_set('UTC'); + $startStamp = strtotime($Start); + $stopStamp = strtotime($Stop); + $start = date( "Ymd\THis\Z", $startStamp); + $stop = date( "Ymd\THis\Z", $stopStamp); + + $startIso = date( "Y-m-d\TH:i:s\.000\Z", $startStamp); + $stopIso = date( "Y-m-d\TH:i:s\.000\Z", $stopStamp); + // Get data and convert to nc + $center = new $base(); + + $ncFiles = $base->getData($id, $start, $stop); + + // Add nc to Vi + $baseMgr = new DDBaseMgr(); + $baseMgr->setViDir($ViDir); + $baseMgr->addRemoteData($id, $ncFiles, $startIso, $StopIso); + +?> diff --git a/src/CALLEXT/getDataCDAWEB.php b/src/CALLEXT/getDataCDAWEB.php deleted file mode 100755 index d99ed53..0000000 --- a/src/CALLEXT/getDataCDAWEB.php +++ /dev/null @@ -1,103 +0,0 @@ -<?php -/** -* @file getDataCDAWEB.php -* @version $Id: getDataCDAWEB.php,v 1.5 2009/08/26 09:32:40 budnik Exp $ -* @brief DD_Server tools <br> Gets Data from CDAWEB -* -* Args: remDataSetID ddVIdir StartTime StopTime \n -* Env Vars: $DDBASE $DDBASEBIN \n -* Executables: cdf2nc(DECODERS) TimesUpdate clean -* -* -* @todo General getData.php(dataBaseID) -*/ - -/*---------------------------------------------------------------------- - * DD SERVER TOOLS - * data update collection - * getDataCDAWEB.php - * php getDataCDAWEB.php <remDataSetID> <ddVIdir> <StartTime> <StopTime> - * 17 June 2007 V.1.0 - * 02 Aug 2007 V.1.1 - * 06 Aug 2007 V.1.2, cd to Data directory - * 23 Aug 2007 V.1.3, Another program for VI times update - * 23 Aug 2007 V.1.4, ZIP files before updating - * 23 Nov 2007 V.1.5 Copy LOCK file - * 21 jan 2008 V.1.6 Process all SOAP exceptions - * cut file names longer than 32 - *-----------------------------------------------------------------------*/ - -// Args - $id = $argv[1]; - $ViDir = $argv[2]; - $Start = $argv[3]; - $Stop = $argv[4]; -// Env variables - $DDBASEBIN = getenv("DDBASEBIN"); - $DDBASE = getenv("DDBASE"); - $MAX_NAME_LENGTH = 31; - $MAX_VI_NAME_LENGTH = 16; - - $wsdl = "http://cdaweb.gsfc.nasa.gov/WS/istp_public/jaxrpc?WSDL"; -// Opent STDERR stream - $STDERR = fopen("php://stderr","w"); - - try { - $client = new SoapClient($wsdl); - } - catch (SoapFault $exception) { - -fprintf($STDERR,"CDAWEB WSDL is unreachable \n"); - exit(0); - } - -// Stamp -> this directory is being updated - $LockName = $ViDir."/LOCK"; - touch($LockName); - -fprintf($STDERR,$ViDir." is LOCKED\n"); - - system("cd ".$ViDir."; ./clean"); -// If name is too long. - $nc_prefix = strlen($id) > $MAX_VI_NAME_LENGTH ? substr(strtolower($id),0,15): strtolower($id); - - try - { - $dataFileDesc = $client->__soapCall("getDataFiles", array($id, $Start, $Stop)); -fprintf($STDERR, "FILES GOT ".count($dataFileDesc)."\n"); - } - catch (SoapFault $exception) - { - unlink($LockName); - fprintf($STDERR, $exception."\n"); - exit(0); - } - if (count($dataFileDesc) > 0) - { - for ($i = 0; $i < count($dataFileDesc); $i++) { - $file = $dataFileDesc[$i]->name; - $fileArr = split("/",$file); -// fprintf($STDERR, $fileArr[count($fileArr)-1]."\n"); - if (copy($file, $fileArr[count($fileArr)-1])) { - system($DDBASEBIN."/cdf2nc ".$fileArr[count($fileArr)-1]); -fprintf($STDERR, "FILES TRANSLATED ".$i."\n"); - $ncFile = str_replace(".cdf", ".nc", $fileArr[count($fileArr)-1]); - unlink($fileArr[count($fileArr)-1]); - - $ncFileTrue = ($strLength = strlen($ncFile)) > $MAX_NAME_LENGTH ? - $nc_prefix."_".time().$i.".nc" : $ncFile; - - rename($ncFile,$ViDir."/".$ncFileTrue); - system("cd ".$ViDir."; ".$DDBASEBIN."/TimesUpdate -u ".strtolower($id)."_times.nc ".$ncFileTrue); -fprintf($STDERR, "TIMES IS UPDATED ".$i."\n"); - } - else fprintf($STDERR, $file." is not found\n"); - } - } - - system("cd ".$ViDir."; ".$DDBASEBIN."/TimesUpdateNoData ".strtolower($id)."_times.nc ".$argv[3]." ".$argv[4]); - unlink($LockName); -fprintf($STDERR, "UNLOCK \n"); - - -?> diff --git a/src/CALLEXT/getDataCDPP.php b/src/CALLEXT/getDataCDPP.php deleted file mode 100755 index 547da87..0000000 --- a/src/CALLEXT/getDataCDPP.php +++ /dev/null @@ -1,119 +0,0 @@ -<?php - -/** -* @file getDataCDPP.php -* @version $Id: getDataCDPP.php,v 1.4 2009/08/26 09:32:56 budnik Exp $ -* @brief DD_Server tools <br> Gets Data from CDPP -* -* Args: remDataSetID ddVIdir StartTime StopTime \n -* Env Vars: $DDBASE $DDBASEBIN \n -* Executables: TimesUpdate TimesUpdateNoData clean -* -* -* @todo General getData.php(dataBaseID) -*/ - -/*---------------------------------------------------------------------- - * DD SERVER TOOLS - * data update collection - * getDataCDPP.php - *-----------------------------------------------------------------------*/ - -// Args - $id = $argv[1]; - $ViDir = $argv[2]; - $Start = $argv[3]; - $Stop = $argv[4]; - - -// Env variables - $DDBASEBIN = getenv("DDBASEBIN"); - $DDBASE = getenv("DDBASE"); - $MAX_NAME_LENGTH = 31; - $MAX_VI_NAME_LENGTH = 16; - - $wsdl = "http://cdpp2.cesr.fr:8080/AMDA/services/AMDAServer?WSDL"; -// Opent STDERR stream - $STDERR = fopen("php://stderr","w"); - - define("restrictions", $DDBASE."/../INFO/CDPP_restrictions.xml"); - - try { - $client = new SoapClient($wsdl); - } - catch (SoapFault $exception) { - -fprintf($STDERR,"CDPP WSDL is unreachable \n"); - exit(-1); - } - -// Stamp -> this directory is being updated - $LockName = $ViDir."/LOCK"; - touch($LockName); - -fprintf($STDERR,$ViDir." is LOCKED\n"); - - system("cd ".$ViDir."; ./clean"); -// If name is too long.... - $nc_prefix = strlen($id) > $MAX_VI_NAME_LENGTH ? substr(strtolower($id),0,15): strtolower($id); - - -// If restrictions exists... - $dataset->parameters = null; - if (file_exists(restrictions)) { - $restrictionsDom = new DomDocument('1.0'); - $restrictionsDom -> load(restrictions); - - $dataSetRestrictions = $restrictionsDom->getElementById($id); - - if ($dataSetRestrictions != null) { - $parametres = $dataSetRestrictions->getElementsByTagName("PARAMETER_ID"); - foreach ($parametres as $parameter) { - $param_id = phpversion() >= "5.2.0" ? $parameter->getAttribute("xml:id") : $parameter->getAttribute("id"); - $dataset->parameters .= strtoupper($param_id)." "; - } - } - } - $dataset->datasetID = $id; - $dataset->timeStart = $Start; - $dataset->timeStop = $Stop; - try - { - $result = $client->__soapCall("getNcdfUrls", array($dataset)); - } - catch (SoapFault $exception) - { - unlink($LockName); - fprintf($STDERR, "EXCEPTION".$exception->faultstring."\n"); - exit(-1); - } - - $files = $result->getNcdfUrlsReturn; -fprintf($STDERR, "FILES GOT ".count($files)."\n"); - - if (count($files) > 0) - { - for ($i = 0; $i < count($files); $i++) { - $file = count($files) == 1 ? $files : $files[$i]; - $fileArr = split("/",$file); - $ncFile = $fileArr[count($fileArr)-1]; - $ncFileTrue = ($strLength = strlen($ncFile)) > $MAX_NAME_LENGTH ? - $nc_prefix."_".time().$i.".nc" : $ncFile; - - - if (copy($file,$ViDir."/".$ncFileTrue)) { - - if (strpos($ViDir, "CP_CIS_CODIF_HS_H1_MOMENTS") !== false) system("nc2nc ".$ViDir."/".$ncFileTrue); - - system("cd ".$ViDir."; ".$DDBASEBIN."/TimesUpdate -u ".strtolower($id)."_times.nc ".$ncFileTrue); -fprintf($STDERR, "TIMES IS UPDATED ".$i."\n"); - } - else fprintf($STDERR, $file." is not found\n"); - } - } - - system("cd ".$ViDir."; ".$DDBASEBIN."/TimesUpdateNoData ".strtolower($id)."_times.nc ".$argv[3]." ".$argv[4]); - unlink($LockName); -fprintf($STDERR, "UNLOCK \n"); - -?> diff --git a/src/CALLEXT/getDataSKR.php b/src/CALLEXT/getDataSKR.php deleted file mode 100644 index 0e17ab8..0000000 --- a/src/CALLEXT/getDataSKR.php +++ /dev/null @@ -1,80 +0,0 @@ -<?php -/** -* @file getDataSKR.php -* @brief DD_Server tools <br> Gets Data from SKR -* -* @arg remDataSetID ddVIdir StartTime StopTime -* @arg Env Vars: $DDBASE $DDBASEBIN \n -* @arg Executables: skr2nc(DECODERS) TimesUpdate TimesUpdateNoData clean -* -* -* @todo General getData.php(dataBaseID) -* @version $Id: $ -* @date 20 june 2008 -*/ - -// Args - $id = $argv[1]; - $ViDir = $argv[2]; - $Start = $argv[3]; - $Stop = $argv[4]; - -// Env variables - $DDBASEBIN = getenv("DDBASEBIN"); - $DDBASE = getenv("DDBASE"); - $MAX_NAME_LENGTH = 31; - -// SKR STUFF - - $url = "http://rpwsTeam:KronoS04@www.lesia.obspm.fr/kronos/" - -// Open STDERR stream - $STDERR = fopen("php://stderr","w"); - -// Lock VI directory for Updating -// Stamp -> this directory is being updated - $LockName = $ViDir."/LOCK"; - touch($LockName); - -fprintf($STDERR,$ViDir." is LOCKED\n"); -// Send - Receive query - $url .= http_build_query($args); - $fileList = new DOMDocument(); - $fileList->load($url); - $Files = $fileList->getElementsByTagName("url"); - - fprintf($STDERR, "FILES RETURN ". $Files->length."\n"); - -// Clean VI directory - system("cd ".$ViDir."; clean"); - if ($Files->length > 0) { - for ($i = 0; $i < $Files->length; $i++) { - - copy($ViDir."/header.nc","temp.nc"); - $fileName_ = explode("//",$Files->item($i)->nodeValue); - $fileName = $fileName_[0].$passwd.$fileName_[1]; - $fileArr = split("/",$fileName); -// Copy URL file to DD_Server dir - copy($fileName, $fileArr[count($fileArr)-1]); -// Convert ascii TAB to nc using header.nc - system($DDBASEBIN."/ascii2nc ".$fileArr[count($fileArr)-1]); - fprintf($STDERR, "FILE $i TRANSLATED \n"); - unlink($fileArr[count($fileArr)-1]); - $ncFile = name2DD($fileArr[count($fileArr)-1]); -// Truncate file if it is too long - $ncFileTrue = ($strLength = strlen($ncFile)) > $MAX_NAME_LENGTH ? - "t".substr(substr($ncFile, 0, $strLength-3), $strLength-$MAX_NAME_LENGTH+1, $MAX_NAME_LENGTH-4).".nc" : $ncFile; -// Move nc file to VIdir - rename("temp.nc", $ViDir."/".$ncFileTrue); - -// Updates VI time info - system("cd ".$ViDir."; ".$DDBASEBIN."/TimesUpdate -u ".strtolower($id)."_times.nc ".$ncFileTrue); - } - fprintf($STDERR, "TIMES IS UPDATED \n"); - } - - system("cd ".$ViDir."; ".$DDBASEBIN."/TimesUpdateNoData ".strtolower($id)."_times.nc ".$argv[3]." ".$argv[4]); -// Unlock VI dir - unlink($LockName); - fprintf($STDERR, "UNLOCK \n"); -?> diff --git a/src/CALLEXT/getDataVEXGRAZ.php b/src/CALLEXT/getDataVEXGRAZ.php deleted file mode 100644 index 9033009..0000000 --- a/src/CALLEXT/getDataVEXGRAZ.php +++ /dev/null @@ -1,90 +0,0 @@ -<?php - -/** -* @file getDataVEXGRAZ.php -* @version $Id: getDataVEXGRAZ.php,v 1.4 2009/08/26 09:32:56 budnik Exp $ -* @brief DD_Server tools <br> Gets Data from VEXGRAZ -* -* @arg remDataSetID ddVIdir StartTime StopTime -* Env Vars: $DDBASE $DDBASEBIN \n -* Executables: ascii2nc(DECODERS) TimesUpdate TimesUpdateNoData clean -* -*/ - - require_once 'ddserver_ini.php'; - require_once 'vexgraz_ini.php'; - - function name2DD($fileName) { - - $ncName = prefix.substr($fileName,3,11).".nc"; - - return $ncName; -} - -/* -* Args -*/ - - $id = $argv[1]; - $ViDir = $argv[2]; - $Start = $argv[3]; - $Stop = $argv[4]; - -/* -* Lock VI directory for Updating -* Stamp -> this directory is being updated -*/ - $LockName = $ViDir."/LOCK"; - touch($LockName); - fprintf(STDERR,$ViDir." is LOCKED \n"); - - -/* -* Clean VI directory -*/ - system("cd ".$ViDir."; ./clean"); - -/* -* SPASE Web Service getDatasetUrl() -*/ - $mySpaseDataAccess = new DataAccessSpase(); - - $urlArray = $mySpaseDataAccess->getDatasetUrl($id, $Start, $Stop); - - if ($urlArray !== "NODATA") - foreach ($urlArray as $theUrl) { - - copy($ViDir."/header.nc","temp.nc"); - $fileArr = split("/",$theUrl); - $fileName = $fileArr[count($fileArr)-1]; -/* -* Copy URL file to DD_Server dir and -* Convert ascii TAB to nc using header.nc -*/ - copy($theUrl, $fileName); - system(DDBASEBIN."/ascii2nc ".$fileName." 1"); - fprintf(STDERR, "FILE $theUrl TRANSLATED \n"); - unlink($fileName); - $ncFile = name2DD($fileName); -/* -* Move new nc file to VIdir -*/ - rename("temp.nc", $ViDir."/".$ncFile); - -/* -* Updates VI time info -*/ - system("cd ".$ViDir."; ".DDBASEBIN."/TimesUpdate -u ".prefix."_times.nc ".$ncFile); - - fprintf(STDERR, "TIMES IS UPDATED \n"); - } -/* -* Fill NODATA times in VI time info -*/ - system("cd ".$ViDir."; ".DDBASEBIN."/TimesUpdateNoData ".prefix."_times.nc ".$argv[3]." ".$argv[4]); -/* -* Unlock VI dir -*/ - unlink($LockName); - fprintf(STDERR, "UNLOCK \n"); -?> -- libgit2 0.21.2