makeRPWS_KEYinfo.php 2.13 KB
<?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;
 }
?>