echo "Use force write if it was intended to forcefully update data";
    exit(0);
}
$midTime = microtime(true);
$queryStart = microtime(true);
$allData = $queryManager->getDataForWindBasedInterpolation($timestamp, 6);
if (empty($allData['ozoneValues'])) {
    echo "No data available for interpolation algorithm for {$timestamp}\n";
    exit(0);
}
$queryTime = microtime(true) - $queryStart;
$writeToGridStatus = true;
// true if band scheme is non zero
if ($bandHelper->getSchemeId() == 0) {
    $driverStart = microtime(true);
    $r = $driver->getGridData($allData['ozoneStations'], $allData['windStations'], $allData['ozoneValues'], $allData['windSpeed'], $allData['windDirection'], $stepSize);
    $driverTime += microtime(true) - $driverStart;
    $grid = java_values($r);
    $queryStart = microtime(true);
    $writeToGridStatus = $queryManager->writeGridToDB($grid, $timestamp, $gridReference, java_values($driver->gridExtent));
    if ($writeToGridStatus) {
        $ozoneCount = $queryManager->getGridOzoneCount($timestamp);
        $prevCount = apc_fetch("_totalo3_" . ($timestamp - 300));
        if ($ozoneCount !== false && $prevCount !== false) {
            if ((1 + EPS1) * $prevCount < $ozoneCount) {
                error_log("ERROR_METRIC: Potential spike in some monitor for time: {$timestamp}");
            }
            apc_store("_totalo3_{$timestamp}", $ozoneCount);
        }
    }
    $queryTime += microtime(true) - $queryStart;
}
$queryStart = microtime(true);
$allData = $queryManager->getDataForWindBasedInterpolation($timestamp, 6, false, $param);
if (empty($allData["{$param}Values"])) {
    echo "No data available for interpolation algorithm for {$timestamp}\n";
    exit(0);
}
$queryTime += microtime(true) - $queryStart;
$writeToGridStatus = true;
// true if band scheme is non zero
if ($bandHelper->getSchemeId() == 0) {
    //echo "pre-r \n";
    //echo java_inspect($driver);
    //var_dump($allData);
    //print_r(java_values($driver->gridExtent));
    $r = $driver->getGridData($allData["{$param}Stations"], $allData['windStations'], $allData["{$param}Values"], $allData['windSpeed'], $allData['windDirection'], $stepSize);
    //var_dump(java_invoke(0, "getValues", array($r)));
    //var_dump($driver->__call("getValues",array($r)));
    //echo $stepSize;
    //echo java_inspect($r);
    //echo "post-r\n";
    //var_dump($r);
    //print_r($r);
    //echo JAVA_PREFER_VALUES;
    //var_dump($r);
    //var_dump(java_is_null($r));
    $grid = java_values($r);
    //echo "post-r-dump\n\n";
    $queryStart = microtime(true);
    //echo "prewritegrid\n";
    $writeToGridStatus = $queryManager->writeGridToDB($grid, $timestamp, $gridReference, java_values($driver->gridExtent), $param);