makeRPWS_KEYinfo.php
2.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
/* $Id: makeRPWS_KEYinfo.php,v 1.1 2008/03/05 14:04:22 elena Exp $ */
/**
* \file makeRPWS_KEYinfo.php
* \brief Function to create energy info.nc for RPWS
*
*/
function makeRPWS_KEYinfo($StartTime) {
$OK = false;
$E_PARAM = "ELECTRIC_SPECTRAL_DENSITIES";
$M_PARAM = "MAGNETIC_SPECTRAL_DENSITIES";
$OK = true;
$url = "http://planetoweb.cesr.fr/mapskp-amda/MapskpService.php?";
$passwd = "//amda:dd;mapskp@";
$Stop = date("Y-m-d", strtotime("+10 days",strtotime($StartTime)));
$args = array('service'=>'getDataUrl',
'datasetId'=> "RPWS_KEY",
'dateBegin'=> $StartTime."Z",
'dateEnd'=> $Stop."T00:00:00Z");
$url .= http_build_query($args);
$fileList = new DOMDocument();
$fileList->load($url);
$Files = $fileList->getElementsByTagName("url");
if ($Files->length > 0) {
$fileName_ = explode("//",$Files->item(0)->nodeValue);
$fileName = $fileName_[0].$passwd.$fileName_[1];
$fileArr = split("/",$fileName);
// Copy URL file VI dir
copy($fileName, $fileArr[count($fileArr)-1]);
$file = fopen($fileArr[count($fileArr)-1], "r");
$buffer = fgets($file);
$arrFreq = explode(" ", $buffer);
$Frequency_E = implode(",",array_slice($arrFreq,2,73));
$Frequency_M = implode(",",array_slice($arrFreq,75,42));
fclose($file);
unlink($fileArr[count($fileArr)-1]);
// Create CDL ASCII file
$cdl = fopen("constant.cdl","w");
fwrite($cdl, "netcdf header { \n \n dimensions: \n");
fwrite($cdl," DIM_E = 73, DIM_M = 42; \n\n");
fwrite($cdl, "variables: \n");
fwrite($cdl, " float ".$E_PARAM."(DIM_E), ".$M_PARAM."(DIM_M); \n\n");
fwrite($cdl, ":units = \"Hz\"; \n");
fwrite($cdl, "data: \n".$E_PARAM." = ".trim($Frequency_E).";\n".$M_PARAM." = ".trim($Frequency_M).";\n }");
fclose($cdl);
// transform to nc
system("/usr/bin/ncgen -o rpws_key_constant.nc constant.cdl");
$OK = true;
}
return $OK;
}
?>