http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/f22b3e32/app/views/climate/conditionalSampling2Var.scala.html ---------------------------------------------------------------------- diff --git a/app/views/climate/conditionalSampling2Var.scala.html b/app/views/climate/conditionalSampling2Var.scala.html index 8c039bd..9addb1d 100644 --- a/app/views/climate/conditionalSampling2Var.scala.html +++ b/app/views/climate/conditionalSampling2Var.scala.html @@ -1,31 +1,27 @@ -@(parameters: metadata.ConditionalSampling2Var) - -@import helper._ - +@(parameters: metadata.ConditionalSampling2Var) @import helper._ <link rel="stylesheet" href='@routes.Assets.at("stylesheets/livefitler.css")'> - @scripts = { - <script src='@routes.Assets.at("javascripts/edit_button.js")'></script> - <script src='@routes.Assets.at("javascripts/livefilter.js")'></script> - <script type="text/javascript" src='@routes.Assets.at("javascripts/jquery-1.9.0.min.js")'></script> - <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.min.js"></script> - <script type="text/javascript" src='@routes.Assets.at("javascripts/json2.js")'></script> - <script type="text/javascript" src='@routes.Assets.at("javascripts/xmisc.js")'></script> - - <script type="text/javascript" src='@routes.Assets.at("html/js2/dataList2.js")'></script> - <script type="text/javascript" src='@routes.Assets.at("html/js2/varList.js")'></script> - <script type="text/javascript" src='@routes.Assets.at("html/js2/common.js")'></script> - - <script type="text/javascript"> - +<script src='@routes.Assets.at("javascripts/edit_button.js")'></script> +<script src='@routes.Assets.at("javascripts/livefilter.js")'></script> +<script type="text/javascript" + src='@routes.Assets.at("javascripts/jquery-1.9.0.min.js")'></script> +<script type="text/javascript" src="https: + <script type=" + text/javascript" src='@routes.Assets.at("javascripts/json2.js")'></script> +<script type="text/javascript" + src='@routes.Assets.at("javascripts/xmisc.js")'></script> +<script type="text/javascript" + src='@routes.Assets.at("html/js2/dataList2.js")'></script> +<script type="text/javascript" + src='@routes.Assets.at("html/js2/varList.js")'></script> +<script type="text/javascript" + src='@routes.Assets.at("html/js2/common.js")'></script> +<script type="text/javascript"> var Response = null; var variable1 = ""; var variable2 = ""; - var naValue = "-999999"; - - // called on load or reload window.onload = function() { put_data(1); changeDataSource1(); @@ -39,25 +35,14 @@ changeVariableName2(); put_var(3); changeVariableName3(); - time_range3(); fillMonth(); - enable_download_button(); - - - -/* $('#pres1').val("N/A"); - $('#pres2').val("N/A"); - $('#pres3').val("N/A"); */ disable_pres(1); disable_pres(2); disable_pres(3); - $('#t0').val($('#startYearMonth').text()); $('#t1').val($('#endYearMonth').text()); - - var enviVariableChoose1 = $('#enChoose1'); if(enviVariableChoose1 == "0"){ $('#radioDef1').prop("checked", true); @@ -66,7 +51,6 @@ $('#radioDef1').prop("checked", false); $('#radioCus1').prop("checked", true); } - var enviVariableChoose2 = $('#enChoose2'); if(enviVariableChoose2 == "0"){ $('#radioDef2').prop("checked", true); @@ -75,10 +59,8 @@ $('#radioDef2').prop("checked", false); $('#radioCus2').prop("checked", true); } - var selectMonths = $('#selectMonths').text(); $('#months option:contains('+selectMonths+')').prop({selected: true}); -/* select_months(); */ select_monthsByPara(); $('#lat0').val($('#startLat').text()); $('#lat1').val($('#endLat').text()); @@ -123,7 +105,6 @@ $('#max1').val(binMax1); $('#bins1').val(binNum1); } - var binMin2 = $('#binMin2').text(); var binMax2 = $('#binMax2').text(); var binNum2 = $('#binNum2').text(); @@ -136,18 +117,14 @@ $('#max2').val(binMax2); $('#bins2').val(binNum2); } - $('#purpose').html($('#executionPurpose').text()); var imageUrl = $('#image').text(); $('#Image').html('<img src="'+imageUrl+'" width=680 />'); $('#data_url').html($('#dataURL').text()); $('#Response').html($('serviceResponseText').text()); - } - function put_data(ID){ var list1=document.getElementById("data"+ID); - for(var key in dataList) { if (key.slice(0,5)==="group") { var og = document.createElement("OPTGROUP"); @@ -158,13 +135,11 @@ } } } - function put_var(ID) { var list1=document.getElementById("var"+ID); for (var i=list1.length-1; i>=0; i--) { list1.remove(i); } - data_string = document.getElementById("data"+ID).value; var varList2 = dataList[data_string][1]; for (var i=0; i<varList2.length; i++) { @@ -172,7 +147,6 @@ list1.add(new Option(varList[k][0],k)); } } - function select_monthsByPara(){ var monthsByPara = $('#monthsPara').text(); console.log("HERE!!!!!!"+monthsByPara); @@ -214,8 +188,6 @@ document.getElementById('Dec').checked = true; } } - - // disable pressure level box for 2D var function disable_pres(ID) { var x; @@ -232,43 +204,35 @@ var split12 = x.value.split(","); var temp1 = split12[0]; var temp2 = split12[1]; - // when variable is the 3D Ocean Salinity or Ocean Temperature if ( var1 == 'ot' || var1 == 'os') { - temp1 = temp1 / 10000; // convert from dbar on GUI - temp2 = temp2 / 10000; // convert from dbar on GUI + temp1 = temp1 / 10000; + temp2 = temp2 / 10000; } - // when variable2 is 3D atmosphere var else { - temp1 = temp1 / 100; // convert from hPa on GUI - temp2 = temp2 / 100; // convert from hPa on GUI + temp1 = temp1 / 100; + temp2 = temp2 / 100; } x.value = temp1 + "," + temp2; } else{ if ( var1 == 'ot' || var1 == 'os') { - x.value = x.value / 10000; // convert from dbar on GUI + x.value = x.value / 10000; } - // when variable2 is 3D atmosphere var else { - x.value = x.value / 100; // convert from hPa on GUI + x.value = x.value / 100; } } } } - - // enable pressure level box for 3D var function enable_pres1(ID) { var x; x=document.getElementById("pres"+ID); x.disabled=false; } - function changeDataSource1() { var dataSource = $('#dataSourceP').text(); - var x = document.getElementById("data1"); - if(dataSource == "gfdl_esm2g" ){ x.options[0].selected=true; } @@ -345,10 +309,8 @@ x.options[24].selected=true; } } - function changeDataSource2() { var dataSource = $('#dataSourceE1').text(); - //dataSource = "NASA_QuikSCAT"; var x = document.getElementById("data2"); if(dataSource == "gfdl_esm2g" ){ x.options[0].selected=true; @@ -386,7 +348,7 @@ else if(dataSource == "ukmo_hadgem2-a" ){ x.options[11].selected=true; } - else if(dataSource == "nasa_grace" ){ ////////////////////////////////// + else if(dataSource == "nasa_grace" ){ x.options[12].selected=true; } else if(dataSource == "nasa_modis" ){ @@ -426,10 +388,8 @@ x.options[24].selected=true; } } - function changeDataSource3() { var dataSource = $('#dataSourceE2').text(); - //dataSource = "NASA_QuikSCAT"; var x = document.getElementById("data3"); if(dataSource == "gfdl_esm2g" ){ x.options[0].selected=true; @@ -467,7 +427,7 @@ else if(dataSource == "ukmo_hadgem2-a" ){ x.options[11].selected=true; } - else if(dataSource == "nasa_grace" ){ ////////////////////////////////// + else if(dataSource == "nasa_grace" ){ x.options[12].selected=true; } else if(dataSource == "nasa_modis" ){ @@ -507,65 +467,48 @@ x.options[24].selected=true; } } - function changeVariableName1(){ var var_string = $('#variableNameP').text(); var data_string = $('#dataSourceP').text(); data_string = data_string.replace("_", "/").toUpperCase(); - - var varList2 = dataList[data_string][1]; var x = document.getElementById("var1"); - for (var i=0; i<varList2.length; i++) { var k = varList2[i]; - if (k == var_string) { x.options[i].selected=true; break; } } } - function changeVariableName2(){ var var_string = $('#variableNameE1').text(); var data_string = $('#dataSourceE1').text(); data_string = data_string.replace("_", "/").toUpperCase(); - - var varList2 = dataList[data_string][1]; var x = document.getElementById("var2"); - for (var i=0; i<varList2.length; i++) { var k = varList2[i]; - if (k == var_string) { x.options[i].selected=true; break; } } } - function changeVariableName3(){ var var_string = $('#variableNameE2').text(); var data_string = $('#dataSourceE2').text(); data_string = data_string.replace("_", "/").toUpperCase(); - - var varList2 = dataList[data_string][1]; var x = document.getElementById("var3"); - for (var i=0; i<varList2.length; i++) { var k = varList2[i]; - if (k == var_string) { x.options[i].selected=true; break; } } } - - // select all months in the checkboxes function select_all_months() { document.getElementById('Jan').checked = true; @@ -581,8 +524,6 @@ document.getElementById('Nov').checked = true; document.getElementById('Dec').checked = true; } - - // see if no month is selected function no_month_check() { if (document.getElementById('Jan').checked == false && @@ -597,14 +538,11 @@ document.getElementById('Oct').checked == false && document.getElementById('Nov').checked == false && document.getElementById('Dec').checked == false) { - // alert("No month check!"); return true; } else return false; } - - // unselect all months in the checkboxes function reset_months() { document.getElementById('Jan').checked = false; @@ -620,11 +558,8 @@ document.getElementById('Nov').checked = false; document.getElementById('Dec').checked = false; } - - // disable customized input text boxes function setDefault(ID) { - // alert("in setDefault() ... "); var x=document.getElementById("min"+ID); var y=document.getElementById("max"+ID); var z=document.getElementById("bins"+ID); @@ -635,11 +570,8 @@ z.value = "N/A"; z.disabled=true; } - - // enable customized input text boxes function setCustomized(ID) { - // alert("in setCustomized() ... "); var x=document.getElementById("min"+ID); var y=document.getElementById("max"+ID); var z=document.getElementById("bins"+ID); @@ -650,10 +582,7 @@ z.value = ""; z.disabled=false; } - - // getMonthStr__ function getMonthStr() { - // get months checked by client var month_str = ""; for (var i=0; i<monthList.length; i++) { var mm = document.getElementById(monthList[i]); @@ -664,94 +593,54 @@ month_str = month_str.substr(1); return month_str; } - $(document).ready(function(){ - $("#download_data").click(function(event) { var durl = $("#data_url").val(); - // alert(durl); window.location.assign(durl); }); - - $("#conditionalSamp").click(function(event) { - // alert('****** inside conditionalSamp()!'); Response = null; - - // no data to download yet disable_download_button(); - - // flag error if no month box is checked if (no_month_check()) { - // $("#Response").html("<span style='color:red'>Error: please check at least one month.</span>"); $("#Response").html("Error: please check at least one month."); $("#Image").html(""); return; } - $("#Response").html("Calculating ..."); $("#data_url").html("Calculating ..."); $("#Image").html(""); - - // sample url: http://cmacws.jpl.nasa.gov:8090/svc/conditionalSampling?model1=ukmo_hadgem2-a&var1=ts&pres1=200&model2=ukmo_hadgem2-a&var2=clt&pres2=200&start_time=199001&end_time=199512&lon1=0&lon2=100&lat1=-29&lat2=29 - // form url string - // var url = "http://cmacws.jpl.nasa.gov:8090/svc/conditionalSamp?"; - var url = "http://" + window.location.hostname + ":9002/svc/conditionalSampling2Var?"; - // alert("url: " + url); - + var url = "http: var d1 = $("#data1").val(); var model1 = d1.replace("/", "_"); model1 = model1.toLowerCase(); - var arglist = ""; arglist = arglist.concat("model1="); arglist = arglist.concat(model1); - - // alert("arglist: " + arglist); - var variable1 = $("#var1").val(); arglist = arglist.concat("&var1="); arglist = arglist.concat(variable1); - - // alert("arglist: " + arglist); - - var t0 = $("#t0").val(); var t1 = $("#t1").val(); - t0 = t0.replace("-", ""); t1 = t1.replace("-", ""); - arglist = arglist.concat("&start_time="); arglist = arglist.concat(t0); - arglist = arglist.concat("&end_time="); arglist = arglist.concat(t1); - var lon0 = $("#lon0").val(); var lon1 = $("#lon1").val(); var lat0 = $("#lat0").val(); var lat1 = $("#lat1").val(); - arglist = arglist.concat("&lon1="); arglist = arglist.concat(lon0); - arglist = arglist.concat("&lon2="); arglist = arglist.concat(lon1); - arglist = arglist.concat("&lat1="); arglist = arglist.concat(lat0); - arglist = arglist.concat("&lat2="); arglist = arglist.concat(lat1); - - // alert("arglist: " + arglist); - var press_range = $("#pres1").val(); - // alert("press_range: " + press_range); - var pres12 = parse_pres(press_range); - var pres1; var pres2; if (pres12 === naValue) { @@ -765,190 +654,124 @@ } else { pres1 = split12[0]; pres2 = split12[1]; - - // when variable is the 3D Ocean Salinity or Ocean Temperature if (variable1 == 'ot' || variable1 == 'os') { - pres1 = pres1 * 10000; // convert from dbar on GUI - pres2 = pres2 * 10000; // convert from dbar on GUI + pres1 = pres1 * 10000; + pres2 = pres2 * 10000; } - // when variable2 is 3D atmosphere var else { - pres1 = pres1 * 100; // convert from hPa on GUI - pres2 = pres2 * 100; // convert from hPa on GUI + pres1 = pres1 * 100; + pres2 = pres2 * 100; } } } - //alert("pres1, pres2: " + pres1 + ", " + pres2); - arglist = arglist.concat("&pres1="); arglist = arglist.concat(pres1); arglist = arglist.concat("&pres2="); arglist = arglist.concat(pres2); - - // alert("arglist: " + arglist); - var month_str = getMonthStr(); arglist = arglist.concat("&months="); arglist = arglist.concat(month_str); - - // alert("arglist: " + arglist); - - var d2 = $("#data2").val(); var model2 = d2.replace("/", "_"); model2 = model2.toLowerCase(); - arglist = arglist.concat("&model2="); arglist = arglist.concat(model2); - - // alert("arglist: " + arglist); - var variable2 = $("#var2").val(); arglist = arglist.concat("&var2="); arglist = arglist.concat(variable2); - var d3 = $("#data3").val(); var model3 = d3.replace("/", "_"); model3 = model3.toLowerCase(); - arglist = arglist.concat("&model3="); arglist = arglist.concat(model3); - - // alert("arglist: " + arglist); - var variable3 = $("#var3").val(); arglist = arglist.concat("&var3="); arglist = arglist.concat(variable3); - - // alert("arglist: " + arglist); - var plev1 = $("#pres2").val(); plev1 = parse_pres(plev1); - if (plev1>0) { - // when variable is the 3D Ocean Salinity or Ocean Temperature if (variable2 == 'ot' || variable2 == 'os') { - plev1 = plev1 * 10000; // convert from dbar on GUI + plev1 = plev1 * 10000; } - // when variable2 is 3D atmosphere var else { - plev1 = plev1 * 100; // convert from hPa on GUI + plev1 = plev1 * 100; } } - arglist = arglist.concat("&env_var_plev1="); arglist = arglist.concat(plev1); - var plev2 = $("#pres3").val(); plev2 = parse_pres(plev2); if (plev2>0) { - // when variable is the 3D Ocean Salinity or Ocean Temperature if (variable3 == 'ot' || variable3 == 'os') { - plev2 = plev2 * 10000; // convert from dbar on GUI + plev2 = plev2 * 10000; } - // when variable2 is 3D atmosphere var else { - plev2 = plev2 * 100; // convert from hPa on GUI + plev2 = plev2 * 100; } } - arglist = arglist.concat("&env_var_plev2="); arglist = arglist.concat(plev2); - - // alert("arglist: " + arglist); - var binstate1 = document.getElementById('radioDef1').checked; - var binMin1, binMax1, numBins1; - - if (binstate1 == true) { // default + if (binstate1 == true) { binMin1 = naValue; binMax1 = naValue; numBins1 = naValue; } - else { // customized + else { binMin1 = $("#min1").val(); binMax1 = $("#max1").val(); numBins1 = $("#bins1").val(); } - arglist = arglist.concat("&bin_min1="); arglist = arglist.concat(binMin1); arglist = arglist.concat("&bin_max1="); arglist = arglist.concat(binMax1); arglist = arglist.concat("&bin_n1="); arglist = arglist.concat(numBins1); - var binstate2 = document.getElementById('radioDef2').checked; - var binMin2, binMax2, numBins2; - - if (binstate2 == true) { // default + if (binstate2 == true) { binMin2 = naValue; binMax2 = naValue; numBins2 = naValue; } - else { // customized + else { binMin2 = $("#min2").val(); binMax2 = $("#max2").val(); numBins2 = $("#bins2").val(); } - arglist = arglist.concat("&bin_min2="); arglist = arglist.concat(binMin2); arglist = arglist.concat("&bin_max2="); arglist = arglist.concat(binMax2); arglist = arglist.concat("&bin_n2="); arglist = arglist.concat(numBins2); - - // alert("arglist: " + arglist); - var xstate = document.getElementById('radioXLin').checked; var xvalue; - if (xstate == true) xvalue = 0; else xvalue = 1; - - // alert("xvalue: " + xvalue); - var ystate = document.getElementById('radioYLin').checked; var yvalue; - if (ystate == true) yvalue = 0; else yvalue = 1; - - // alert("yvalue: " + yvalue); - var zstate = document.getElementById('radioZLin').checked; var zvalue; - if (zstate == true) zvalue = 0; else zvalue = 1; - - // alert("zvalue: " + zvalue); - var dispOpt; dispOpt = xvalue*1 + yvalue*2 + zvalue*4; - // alert("dispOpt: " + dispOpt); var dispOptString = dispOpt.toString(); - arglist = arglist.concat("&displayOpt="); arglist = arglist.concat(dispOptString); - - // alert("arglist: " + arglist); - - // url = url + encodeURIComponent(arglist); url = url + encodeURI(arglist); - // url = url + arglist; - // alert("url: " + url); - - var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/two_time_bounds?"; + var urlTimeBounds = "http: var arglistTB = ""; arglistTB = arglistTB.concat("serviceType="); arglistTB = arglistTB.concat("1"); @@ -961,8 +784,6 @@ arglistTB = arglistTB.concat("&var2="); arglistTB = arglistTB.concat(variable2); urlTimeBounds = urlTimeBounds + encodeURI(arglistTB); - // alert("urlTimeBounds: " + urlTimeBounds); - $.ajax({ type: "GET", url: urlTimeBounds, @@ -970,9 +791,7 @@ data: null, success: function(data, textStatus, xhr) { Response = data; - // alert("data: " + data); if (data.success == false) { - // alert(data.error); Response = null; var text = JSON.stringify(data, null, 4); text = "Error in backend: <br>" + text; @@ -981,82 +800,56 @@ return; } var text = JSON.stringify(data, null, 4); - // alert("text: " + text); - // $("#Response").html("<pre>"+text+"</pre>"); - // $("#Response").html(text); - var tb1 = data.time_bounds1; var bds1 = String(tb1).split(","); - // alert("tb1: " + tb1); - // alert("bds1: " + bds1); var lowerT1 = parseInt(bds1[0]); - // alert("inside ajax, lowerT1: " + lowerT1); var upperT1 = parseInt(bds1[1]); - // alert("upperT1: " + upperT1); - var tb2 = data.time_bounds2; var bds2 = String(tb2).split(","); - // alert("tb2: " + tb2); - // alert("bds2: " + bds2); var lowerT2 = parseInt(bds2[0]); - // alert("inside ajax, lowerT2: " + lowerT2); var upperT2 = parseInt(bds2[1]); - // alert("upperT2: " + upperT2); - var t0I = parseInt(t0); var t1I = parseInt(t1); - // alert("t0: " + t0I); - // alert("t1: " + t1I); - var lowerT, upperT; - // compute the intersection of the two data bounds - - if (lowerT1 == 0 || upperT1 == 0){ // no data-1 + if (lowerT1 == 0 || upperT1 == 0){ alert("We do not have data for the data-1 source and variable configuration."); return; } - else if (lowerT2 == 0 || upperT2 == 0){ // no data-2 + else if (lowerT2 == 0 || upperT2 == 0){ alert("We do not have data for the data-2 source and variable configuration."); return; } - else if (lowerT2 > upperT1 || lowerT1 > upperT2) { // no intersection + else if (lowerT2 > upperT1 || lowerT1 > upperT2) { alert("The two data sets/vars do not have a common time range."); return; } - else { // compute intersection - if (lowerT1 > lowerT2) { // pick bigger lower time bound + else { + if (lowerT1 > lowerT2) { lowerT = lowerT1; } else { lowerT = lowerT2; } - - if (upperT1 > upperT2) { // pick smaller upper time bound + if (upperT1 > upperT2) { upperT = upperT2; } else { upperT = upperT1; } } - // alert("lowerT: " + lowerT); - // alert("upperT: " + upperT); - if (t0I < lowerT && t1I < lowerT || t0I > upperT && t1I > upperT) { alert("We do not have data that span your time range. Try the range inside ["+lowerT+", "+upperT+"]."); return; } - if (t0I < lowerT && t1I <= upperT) { alert("Your start year-month is out of bound. It has to be in or later than " + lowerT + ". We will use the range ["+lowerT+", "+t1I+"] for you."); } - if (t1I > upperT && t0I >= lowerT) { alert("Your end year-month is out of bound. It has to be in or earlier than " + upperT + ". We will use the range ["+t0I+", "+upperT+"] for you."); } - if (t0I < lowerT && t1I > upperT ) { alert("Both of your start and end year-months are out of bounds. They have to be in or earlier than " + upperT + ", and in or later than " + lowerT + ". We will use the range ["+lowerT+", "+upperT+"] for you."); @@ -1065,15 +858,10 @@ error: function(xhr, textStatus, errorThrown) { $("#Response").html("error!"); $("#data_url").html("error!"); - // alert("xhr.status: "+xhr.status); - // alert("error status: "+textStatus); }, complete: function(xhr, textStatus) { - //alert("complete status: "+textStatus); } }); - - $.ajax({ type: "GET", url: url, @@ -1081,51 +869,32 @@ data: null, success: function(data, textStatus, xhr) { Response = data; - // alert("data: " + data); if (data.success == false) { - // alert(data.error); Response = null; var text = JSON.stringify(data, null, 4); text = "Error in backend: <br>" + text; - // $("#Response").html("<span style='color:red'>" + text + "</span>"); $("#Response").html(text); $("#data_url").html(text); return; } var text = JSON.stringify(data, null, 4); - // alert(text); - // $("#Response").html("<pre>"+text+"</pre>"); $("#Response").html(text); - var html = "<img src='"+data.url+"' width='820'/>"; - // alert(html); $("#Image").html(html); - - // post dataUrl to textarea and enable download button $("#data_url").html(data.dataUrl); enable_download_button(); }, error: function(xhr, textStatus, errorThrown) { $("#Response").html("error!"); $("#data_url").html("error!"); - // alert("xhr.status: "+xhr.status); - // alert("error status: "+textStatus); }, complete: function(xhr, textStatus) { - //alert("complete status: "+textStatus); } }); - }); - }); - </script> -} - -@main("Parameters of ConfId", scripts){ - - @flash_message() +} @main("Parameters of ConfId", scripts){ @flash_message() <p> <div id="dataSourceP" style="display: none;">@parameters.getDataSourceP()</div> <div id="dataSourceE1" style="display: none;">@parameters.getDataSourceE1()</div> @@ -1137,14 +906,11 @@ <div id="pressureRange2" style="display: none;">@parameters.getPressureRange2()</div> <div id="env_var_plev1" style="display: none;">@parameters.getEnableVarPlev1()</div> <div id="env_var_plev2" style="display: none;">@parameters.getEnableVarPlev2()</div> - <div id="startYearMonth" style="display: none;">@parameters.getStartYearMonth()</div> <div id="enChoose1" style="display: none;">@parameters.getCustomized1</div> <div id="enChoose2" style="display: none;">@parameters.getCustomized2</div> - <div id="endYearMonth" style="display: none;">@parameters.getEndYearMonth()</div> <div id="selectMonths" style="display: none;">@parameters.getSelectMonths()</div> - <div id="monthsPara" style="display: none;">@parameters.getMonth()</div> <div id="startLat" style="display: none;">@parameters.getStartLat()</div> <div id="endLat" style="display: none;">@parameters.getEndLat()</div> @@ -1156,228 +922,213 @@ <div id="binMin1" style="display: none;">@parameters.getBin_min1()</div> <div id="binMax1" style="display: none;">@parameters.getBin_max1()</div> <div id="binNum1" style="display: none;">@parameters.getBin_n1()</div> - <div id="binMin2" style="display: none;">@parameters.getBin_min2()</div> <div id="binMax2" style="display: none;">@parameters.getBin_max2()</div> <div id="binNum2" style="display: none;">@parameters.getBin_n2()</div> - <div id="executionPurpose" style="display: none;">@parameters.getExecutionPurpose()</div> <div id="image" style="display: none;">@parameters.getImage()</div> <div id="dataURL" style="display: none;">@parameters.getDataURL()</div> <div id="serviceResponseText" style="display: none;">@parameters.getServiceResponseText()</div> - - <table border="1"> - -<tr> -<td colspan="4"> -<center> -<b>Service: Conditional Sampling with Two Variables</b><br><br> -This service sorts one variable called sampled variable by the -values of two variables called sampling variables and displays the -averaged value of the sampled variable in color as a function of the -bin value of the two sampling variables in X-Y axis. There are -overlaid contours which show the number of samples in each of the -two sampling variable bin.<br><br> -</center> -</td> -</tr> - -<tr> -<td colspan="2"> -<center> -Physical Variable (sampled variable) -</center> -</td> -<td colspan="2" rowspan="4"> -</td> -</tr> - -<tr> -<td>source:</td> -<td><select name="data1", id="data1" onchange="put_var(1); time_range3()"></select></td> -</tr> - -<tr> -<td>variable name:</td><td><select name="var1", id="var1" onchange="select_var(1); time_range3()"> </select> </td> -</tr> - -<td> -atmosphere pressure range (hPa) <br> or ocean pressure range (dbar): -</td> -<td> -<input id="pres1" value="@{parameters.getPressureRange1()+','+parameters.getPressureRange2()}" alt="pressure"/> -</td> -</tr> - -<tr> -<td colspan="2"> -<center> -Environmental Variable 1 (sampling variable) -</center> -</td> - -<td colspan="2" rowspan="6"> -</td> - -</tr> - -<tr> -<td>source:</td> -<td><select name="data2", id="data2" onchange="put_var(2); time_range3()"></select></td> -</tr> - -<tr> -<td>variable name:</td><td><select name="var2", id="var2" onchange="select_var(2); time_range3()"> </select> </td> -</tr> - -<tr> -<td> -atmosphere pressure level (hPa) <br> or ocean pressure level (dbar): -</td> -<td> -<input id="pres2" value="@parameters.getEnableVarPlev1()" alt="pressure"/> -</td> -</tr> - -<tr> -<td colspan="2"> -sampling variable binning specification: -<form> -default: <input onclick="setDefault(1)" type="radio" name="default1" value="" id="radioDef1" checked> -customized: <input onclick="setCustomized(1)" type="radio" name="default1" value="" id="radioCus1"> -</form> -</td> -</tr> - -<tr> -<td colspan="2"> -<form> -Min: <input id="min1" value="@parameters.getBin_min1()" alt="" size=3/> -Max: <input id="max1" value="@parameters.getBin_max1()" alt="" size=3/> -number of bins: <input id="bins1" value="@parameters.getBin_n1()" alt="" size=3/> -</form> -</td> -</tr> - -<tr> -<td colspan="2"> -<center> -Environmental Variable 2 (sampling variable) -</center> -</td> -</tr> - -<tr> -<td>source:</td> -<td><select name="data3", id="data3" onchange="put_var(3); time_range3()"></select></td> -</tr> - -<tr> -<td>variable name:</td><td><select name="var3", id="var3" onchange="select_var(3); time_range3()"> </select> </td> -</tr> - -<tr> -<td> -atmosphere pressure level (hPa) <br> or ocean pressure level (dbar): -</td> -<td> -<input id="pres3" value="@parameters.getEnableVarPlev2()" alt="pressure"/> -</td> -</tr> - -<tr> -<td colspan="2"> -sampling variable binning specification: -<form> -default: <input onclick="setDefault(2)" type="radio" name="default2" value="" id="radioDef2" checked> -customized: <input onclick="setCustomized(2)" type="radio" name="default2" value="" id="radioCus2"> -</form> -</td> -</tr> - -<tr> -<td colspan="2"> -<form> -Min: <input id="min2" value="@parameters.getBin_min2()" alt="" size=3/> -Max: <input id="max2" value="@parameters.getBin_max2()" alt="" size=3/> -number of bins: <input id="bins2" value="@parameters.getBin_n2()" alt="" size=3/> -</form> -</td> -</tr> - -<tr> -<td id=startYear>start year-month:</td><td> <input id="t0" value="@parameters.getStartYearMonth()" alt="start"/></td> -<td id=endYear>end year-month: </td><td><input id="t1" value="@parameters.getEndYearMonth()" alt="end"/></td> -</tr> - -<tr> -<td id="monthSelect0"></td> -<td id="monthSelect" colspan="3"></td> -</tr> - -<tr> -<td>start lat (deg):</td><td><input id="lat0" value="@parameters.getStartLat()"/></td> -<td>end lat (deg):</td><td><input id="lat1" value="@parameters.getEndLat()"/></td> -</tr> - -<tr> -<td>start lon (deg):</td><td><input id="lon0" value="@parameters.getStartLon()"/></td> -<td>end lon (deg):</td><td><input id="lon1" value="@parameters.getEndLon()"/></td> -</tr> - -<tr> -<td colspan="1" rowspan="3"> -display option: -</td> -<td colspan="3"> -<form>X-axis (sampling variable) scale: <input type="radio" name="scale1" value="linear" id="radioXLin" checked>linear -<input type="radio" name="scale1" value="logarithmic" id="radioXLog">logarithmic -</form> -</td> -</tr> - -<tr> -<td colspan="3"> -<form>Y-axis (sampled variable or pressure) scale: <input type="radio" name="scale1" value="linear" id="radioYLin" checked>linear -<input type="radio" name="scale1" value="logarithmic" id="radioYLog">logarithmic -</form> -</tr> - -<tr> -<td colspan="3"> -<form>Z-axis (color) scale: <input type="radio" name="scale1" value="linear" id="radioZLin" checked>linear -<input type="radio" name="scale1" value="logarithmic" id="radioZLog">logarithmic -</form> -</td> -</tr> - -<tr> -<td colspan="2" align="center"><input id="conditionalSamp" type="submit" value=" Get Plot " style="height:28px"/></td> -<form> -<td colspan="2" align="center"><input id="download_data" type="button" value="Download Data" style="height:28px"/> -</td> -</form> - -</tr> - -<tr> -<td colspan="4"> -<div id="Image"><img src="@parameters.getImage()" width=680 /></div> -</td> -</tr> - -<tr> -<td colspan="4" align="center"> -<textarea readonly id="data_url" cols="130" rows="2">@parameters.getDataURL()</textarea> -</td> -</tr> - -<tr> -<td colspan="4" align="center"> -<textarea id="Response" cols="130" rows="6">@parameters.getServiceResponseText()</textarea> -</td> -</tr> - + <tr> + <td colspan="4"> + <center> + <b>Service: Conditional Sampling with Two Variables</b><br> + <br> This service sorts one variable called sampled variable by + the values of two variables called sampling variables and displays + the averaged value of the sampled variable in color as a function of + the bin value of the two sampling variables in X-Y axis. There are + overlaid contours which show the number of samples in each of the + two sampling variable bin.<br> + <br> + </center> + </td> + </tr> + <tr> + <td colspan="2"> + <center>Physical Variable (sampled variable)</center> + </td> + <td colspan="2" rowspan="4"></td> + </tr> + <tr> + <td>source:</td> + <td><select name="data1" , id="data1" + onchange="put_var(1); time_range3()"></select></td> + </tr> + <tr> + <td>variable name:</td> + <td><select name="var1" , id="var1" + onchange="select_var(1); time_range3()"> + </select></td> + </tr> + <td>atmosphere pressure range (hPa) <br> or ocean pressure + range (dbar): + </td> + <td><input id="pres1" + value="@{parameters.getPressureRange1()+','+parameters.getPressureRange2()}" + alt="pressure" /></td> + </tr> + <tr> + <td colspan="2"> + <center>Environmental Variable 1 (sampling variable)</center> + </td> + <td colspan="2" rowspan="6"></td> + </tr> + <tr> + <td>source:</td> + <td><select name="data2" , id="data2" + onchange="put_var(2); time_range3()"></select></td> + </tr> + <tr> + <td>variable name:</td> + <td><select name="var2" , id="var2" + onchange="select_var(2); time_range3()"> + </select></td> + </tr> + <tr> + <td>atmosphere pressure level (hPa) <br> or ocean pressure + level (dbar): + </td> + <td><input id="pres2" value="@parameters.getEnableVarPlev1()" + alt="pressure" /></td> + </tr> + <tr> + <td colspan="2">sampling variable binning specification: + <form> + default: <input onclick="setDefault(1)" type="radio" name="default1" + value="" id="radioDef1" checked> customized: <input + onclick="setCustomized(1)" type="radio" name="default1" value="" + id="radioCus1"> + </form> + </td> + </tr> + <tr> + <td colspan="2"> + <form> + Min: <input id="min1" value="@parameters.getBin_min1()" alt="" + size=3 /> Max: <input id="max1" value="@parameters.getBin_max1()" + alt="" size=3 /> number of bins: <input id="bins1" + value="@parameters.getBin_n1()" alt="" size=3 /> + </form> + </td> + </tr> + <tr> + <td colspan="2"> + <center>Environmental Variable 2 (sampling variable)</center> + </td> + </tr> + <tr> + <td>source:</td> + <td><select name="data3" , id="data3" + onchange="put_var(3); time_range3()"></select></td> + </tr> + <tr> + <td>variable name:</td> + <td><select name="var3" , id="var3" + onchange="select_var(3); time_range3()"> + </select></td> + </tr> + <tr> + <td>atmosphere pressure level (hPa) <br> or ocean pressure + level (dbar): + </td> + <td><input id="pres3" value="@parameters.getEnableVarPlev2()" + alt="pressure" /></td> + </tr> + <tr> + <td colspan="2">sampling variable binning specification: + <form> + default: <input onclick="setDefault(2)" type="radio" name="default2" + value="" id="radioDef2" checked> customized: <input + onclick="setCustomized(2)" type="radio" name="default2" value="" + id="radioCus2"> + </form> + </td> + </tr> + <tr> + <td colspan="2"> + <form> + Min: <input id="min2" value="@parameters.getBin_min2()" alt="" + size=3 /> Max: <input id="max2" value="@parameters.getBin_max2()" + alt="" size=3 /> number of bins: <input id="bins2" + value="@parameters.getBin_n2()" alt="" size=3 /> + </form> + </td> + </tr> + <tr> + <td id=startYear>start year-month:</td> + <td><input id="t0" value="@parameters.getStartYearMonth()" + alt="start" /></td> + <td id=endYear>end year-month:</td> + <td><input id="t1" value="@parameters.getEndYearMonth()" + alt="end" /></td> + </tr> + <tr> + <td id="monthSelect0"></td> + <td id="monthSelect" colspan="3"></td> + </tr> + <tr> + <td>start lat (deg):</td> + <td><input id="lat0" value="@parameters.getStartLat()" /></td> + <td>end lat (deg):</td> + <td><input id="lat1" value="@parameters.getEndLat()" /></td> + </tr> + <tr> + <td>start lon (deg):</td> + <td><input id="lon0" value="@parameters.getStartLon()" /></td> + <td>end lon (deg):</td> + <td><input id="lon1" value="@parameters.getEndLon()" /></td> + </tr> + <tr> + <td colspan="1" rowspan="3">display option:</td> + <td colspan="3"> + <form> + X-axis (sampling variable) scale: <input type="radio" name="scale1" + value="linear" id="radioXLin" checked>linear <input + type="radio" name="scale1" value="logarithmic" id="radioXLog">logarithmic + </form> + </td> + </tr> + <tr> + <td colspan="3"> + <form> + Y-axis (sampled variable or pressure) scale: <input type="radio" + name="scale1" value="linear" id="radioYLin" checked>linear + <input type="radio" name="scale1" value="logarithmic" id="radioYLog">logarithmic + </form> + </tr> + <tr> + <td colspan="3"> + <form> + Z-axis (color) scale: <input type="radio" name="scale1" + value="linear" id="radioZLin" checked>linear <input + type="radio" name="scale1" value="logarithmic" id="radioZLog">logarithmic + </form> + </td> + </tr> + <tr> + <td colspan="2" align="center"><input id="conditionalSamp" + type="submit" value=" Get Plot " + style="height: 28px" /></td> + <form> + <td colspan="2" align="center"><input id="download_data" + type="button" value="Download Data" style="height: 28px" /></td> + </form> + </tr> + <tr> + <td colspan="4"> + <div id="Image"> + <img src="@parameters.getImage()" width=680 /> + </div> + </td> + </tr> + <tr> + <td colspan="4" align="center"><textarea readonly id="data_url" + cols="130" rows="2">@parameters.getDataURL()</textarea></td> + </tr> + <tr> + <td colspan="4" align="center"><textarea id="Response" cols="130" + rows="6">@parameters.getServiceResponseText()</textarea></td> + </tr> </table> -} \ No newline at end of file +}
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/f22b3e32/app/views/climate/correlationMap.scala.html ---------------------------------------------------------------------- diff --git a/app/views/climate/correlationMap.scala.html b/app/views/climate/correlationMap.scala.html index a9f2793..ec00da9 100644 --- a/app/views/climate/correlationMap.scala.html +++ b/app/views/climate/correlationMap.scala.html @@ -1,31 +1,27 @@ -@(parameters: metadata.CorrelationMap) - -@import helper._ - +@(parameters: metadata.CorrelationMap) @import helper._ <link rel="stylesheet" href='@routes.Assets.at("stylesheets/livefitler.css")'> - @scripts = { - <script src='@routes.Assets.at("javascripts/edit_button.js")'></script> - <script src='@routes.Assets.at("javascripts/livefilter.js")'></script> - <script type="text/javascript" src='@routes.Assets.at("javascripts/jquery-1.9.0.min.js")'></script> - <script type="text/javascript" src='https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.min.js'></script> +<script src='@routes.Assets.at("javascripts/edit_button.js")'></script> +<script src='@routes.Assets.at("javascripts/livefilter.js")'></script> +<script type="text/javascript" + src='@routes.Assets.at("javascripts/jquery-1.9.0.min.js")'></script> +<script type="text/javascript" + src='https: <script type="text/javascript" src='@routes.Assets.at("javascripts/json2.js")'></script> - <script type="text/javascript" src='@routes.Assets.at("javascripts/xmisc.js")'></script> - <script type="text/javascript" src='@routes.Assets.at("html/js2/dataList2.js")'></script> - <script type="text/javascript" src='@routes.Assets.at("html/js2/varList.js")'></script> - <script type="text/javascript" src='@routes.Assets.at("html/js2/common.js")'></script> - - <script type="text/javascript"> - +<script type="text/javascript" + src='@routes.Assets.at("javascripts/xmisc.js")'></script> +<script type="text/javascript" + src='@routes.Assets.at("html/js2/dataList2.js")'></script> +<script type="text/javascript" + src='@routes.Assets.at("html/js2/varList.js")'></script> +<script type="text/javascript" + src='@routes.Assets.at("html/js2/common.js")'></script> +<script type="text/javascript"> var Response = null; var variable1 = ""; var variable2 = ""; - - - // called on load or reload window.onload = function() { - put_data(1); changeDataSource1(); put_data(2); @@ -34,41 +30,28 @@ changeVariableName1(); put_var(2); changeVariableName2(); - - enable_download_button(); - - $('#t0').val($('#startYearMonth').text()); $('#t1').val($('#endYearMonth').text()); - if($('#pressureLevel1').text() == "-9999"){ disable_pres1(1); }else{ $('#pres1').val($('#pressureLevel1').text()); } - if($('#pressureLevel2').text() == "-9999"){ disable_pres1(2); }else{ $('#pres2').val($('#pressureLevel2').text()); } - $('#lat0').val($('#startLat').text()); $('#lat1').val($('#endLat').text()); - $('#lon0').val($('#startLon').text()); $('#lon1').val($('#endLon').text()); - $('#laggedTime').html($('#executionLaggedTime').text()); - $('#purpose').html($('#executionPurpose').text()); $('#data_url').html($('#dataURL').text()); $('#Response').html($('#serviceResponseText').text()); - } - - // disable pressure level box for 2D var function disable_pres1(ID) { var x; @@ -76,8 +59,6 @@ x.value = "N/A"; x.disabled=true; } - - // enable pressure level box for 3D var function enable_pres1(ID) { var x; @@ -85,12 +66,9 @@ x.value = "500"; x.disabled=false; } - function changeDataSource1() { var dataSource = $('#dataSource1').text(); - var x = document.getElementById("data1"); - if(dataSource == "gfdl_esm2g" ){ x.options[0].selected=true; } @@ -167,10 +145,8 @@ x.options[24].selected=true; } } - function changeDataSource2() { var dataSource = $('#dataSource2').text(); - //dataSource = "NASA_QuikSCAT"; var x = document.getElementById("data2"); if(dataSource == "gfdl_esm2g" ){ x.options[0].selected=true; @@ -208,7 +184,7 @@ else if(dataSource == "ukmo_hadgem2-a" ){ x.options[11].selected=true; } - else if(dataSource == "nasa_grace" ){ ////////////////////////////////// + else if(dataSource == "nasa_grace" ){ x.options[12].selected=true; } else if(dataSource == "nasa_modis" ){ @@ -248,61 +224,44 @@ x.options[24].selected=true; } } - - - function changeVariableName1(){ var var_string = $('#variableName1').text(); var data_string = $('#dataSource1').text(); data_string = data_string.replace("_", "/").toUpperCase(); - - var varList2 = dataList[data_string][1]; var x = document.getElementById("var1"); - for (var i=0; i<varList2.length; i++) { var k = varList2[i]; - if (k == var_string) { x.options[i].selected=true; break; } } } - function changeVariableName2(){ var var_string = $('#variableName2').text(); var data_string = $('#dataSource2').text(); data_string = data_string.replace("_", "/").toUpperCase(); - - var varList2 = dataList[data_string][1]; var x = document.getElementById("var2"); - for (var i=0; i<varList2.length; i++) { var k = varList2[i]; - if (k == var_string) { x.options[i].selected=true; break; } } } - function disable_download_button() { var x=document.getElementById("download_data"); x.disabled=true; } - - // enable download data button function enable_download_button() { var x=document.getElementById("download_data"); x.disabled=false; } - - // disable pressure level box for 2D var function disable_pres1(ID) { var x; @@ -310,8 +269,6 @@ x.value = "N/A"; x.disabled=true; } - - // enable pressure level box for 3D var function enable_pres1(ID) { var x; @@ -319,10 +276,8 @@ x.value = "500"; x.disabled=false; } - function put_data(ID){ var list1=document.getElementById("data"+ID); - for(var key in dataList) { if (key.slice(0,5)==="group") { var og = document.createElement("OPTGROUP"); @@ -333,165 +288,102 @@ } } } - function put_var(ID) { var list1=document.getElementById("var"+ID); for (var i=list1.length-1; i>=0; i--) { list1.remove(i); } - data_string = document.getElementById("data"+ID).value; var varList2 = dataList[data_string][1]; for (var i=0; i<varList2.length; i++) { var k = varList2[i]; list1.add(new Option(varList[k][0],k)); } - } - - // function select_var1(ID) { var var_string = $("#var"+ID).val(); - - // alert("var_string: " + var_string) - if (varList[var_string][2]===3) { enable_pres1(ID); } else { disable_pres1(ID); } - - //alert("variable1: " + var_string); - var var_string1 = $("#var"+1).val(); var var_string2 = $("#var"+2).val(); var data_string1 = $("#data"+1).val(); var data_string2 = $("#data"+2).val(); - var sTime = Math.max( Number(dataList[data_string1][2][var_string1][0]), Number(dataList[data_string2][2][var_string2][0]) ); var eTime = Math.min( Number(dataList[data_string1][2][var_string1][1]), Number(dataList[data_string2][2][var_string2][1]) ); - $("#startYear").html("start year-month: (earliest:" + sTime + ")"); $("#endYear").html("end year-month: (latest:" + eTime + ")"); } - $(document).ready(function(){ - $("#download_data").click(function(event) { var durl = $("#data_url").val(); - // alert(durl); window.location.assign(durl); }); - - $("#correlationMap").click(function(event) { - // alert('****** inside correlationMap()!'); Response = null; - - // no data to download yet disable_download_button(); - $("#Response").html("Calculating ..."); $("#data_url").html("Calculating ..."); $("#Image").html(""); - - // sample url: http://cmacws.jpl.nasa.gov:8090/svc/scatterPlot2V?model1=ukmo_hadgem2-a&var1=ts&pres1=200&model2=ukmo_hadgem2-a&var2=clt&pres2=200&start_time=199001&end_time=199512&lon1=0&lon2=100&lat1=-29&lat2=29 - // form url string - // var url = "http://cmacws.jpl.nasa.gov:8090/svc/scatterPlot2V?"; - var url = "http://" + window.location.hostname + ":9002/svc/correlationMap?"; - // alert("url: " + url); - + var url = "http: var d1 = $("#data1").val(); var model1 = d1.replace("/", "_"); model1 = model1.toLowerCase(); - var arglist = ""; arglist = arglist.concat("model1="); arglist = arglist.concat(model1); - - // alert("arglist: " + arglist); - var variable1 = $("#var1").val(); arglist = arglist.concat("&var1="); arglist = arglist.concat(variable1); - - // alert("arglist: " + arglist); - var pres1 = $("#pres1").val(); if (isNaN(Number(pres1))) { pres1 = "-9999"; } arglist = arglist.concat("&pres1="); arglist = arglist.concat(pres1); - var d2 = $("#data2").val(); var model2 = d2.replace("/", "_"); model2 = model2.toLowerCase(); - arglist = arglist.concat("&model2="); arglist = arglist.concat(model2); - - // alert("arglist: " + arglist); - var variable2 = $("#var2").val(); arglist = arglist.concat("&var2="); arglist = arglist.concat(variable2); - - // alert("arglist: " + arglist); - var pres2 = $("#pres2").val(); if (isNaN(Number(pres2))) { pres2 = "-9999"; } arglist = arglist.concat("&pres2="); arglist = arglist.concat(pres2); - var laggedTime = $("#laggedTime").val(); arglist = arglist.concat("&laggedTime="); arglist = arglist.concat(laggedTime); - var t0 = $("#t0").val(); var t1 = $("#t1").val(); - t0 = t0.replace("-", ""); t1 = t1.replace("-", ""); - arglist = arglist.concat("&start_time="); arglist = arglist.concat(t0); - arglist = arglist.concat("&end_time="); arglist = arglist.concat(t1); - - // alert("arglist: " + arglist); - var lon0 = $("#lon0").val(); var lon1 = $("#lon1").val(); var lat0 = $("#lat0").val(); var lat1 = $("#lat1").val(); - arglist = arglist.concat("&lon1="); arglist = arglist.concat(lon0); - arglist = arglist.concat("&lon2="); arglist = arglist.concat(lon1); - arglist = arglist.concat("&lat1="); arglist = arglist.concat(lat0); - arglist = arglist.concat("&lat2="); arglist = arglist.concat(lat1); - - // alert("arglist: " + arglist); - var purpose = $("#purpose").val(); arglist = arglist.concat("&purpose="); arglist = arglist.concat(purpose); - - // url = url + encodeURIComponent(arglist); url = url + encodeURI(arglist); - // url = url + arglist; - // alert("url: " + url); - - var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/two_time_bounds?"; + var urlTimeBounds = "http: var arglistTB = ""; arglistTB = arglistTB.concat("serviceType="); arglistTB = arglistTB.concat("2"); @@ -504,7 +396,6 @@ arglistTB = arglistTB.concat("&var2="); arglistTB = arglistTB.concat(variable2); urlTimeBounds = urlTimeBounds + encodeURI(arglistTB); - $.ajax({ type: "GET", url: urlTimeBounds, @@ -512,9 +403,7 @@ data: null, success: function(data, textStatus, xhr) { Response = data; - // alert("data: " + data); if (data.success == false) { - // alert(data.error); Response = null; var text = JSON.stringify(data, null, 4); text = "Error in backend: <br>" + text; @@ -523,82 +412,57 @@ return; } var text = JSON.stringify(data, null, 4); - // alert("text: " + text); - // $("#Response").html("<pre>"+text+"</pre>"); - // $("#Response").html(text); - var tb1 = data.time_bounds1; var bds1 = String(tb1).split(","); - // alert("tb1: " + tb1); - // alert("bds1: " + bds1); var lowerT1 = parseInt(bds1[0]); - // alert("inside ajax, lowerT1: " + lowerT1); var upperT1 = parseInt(bds1[1]); - // alert("upperT1: " + upperT1); - var tb2 = data.time_bounds2; var bds2 = String(tb2).split(","); - // alert("tb2: " + tb2); - // alert("bds2: " + bds2); var lowerT2 = parseInt(bds2[0]); - // alert("inside ajax, lowerT2: " + lowerT2); var upperT2 = parseInt(bds2[1]); - // alert("upperT2: " + upperT2); - var t0I = parseInt(t0); var t1I = parseInt(t1); - // alert("t0: " + t0I); - // alert("t1: " + t1I); - var lowerT, upperT; - // compute the intersection of the two data bounds - if (lowerT1 == 0 || upperT1 == 0){ // no data-1 + if (lowerT1 == 0 || upperT1 == 0){ alert("We do not have data for the data-1 source and variable configuration."); alert(urlTimeBounds); return; } - else if (lowerT2 == 0 || upperT2 == 0){ // no data-2 + else if (lowerT2 == 0 || upperT2 == 0){ alert("We do not have data for the data-2 source and variable configuration."); return; } - else if (lowerT2 > upperT1 || lowerT1 > upperT2) { // no intersection + else if (lowerT2 > upperT1 || lowerT1 > upperT2) { alert("The two data sets/vars do not have a common time range."); return; } - else { // compute intersection - if (lowerT1 > lowerT2) { // pick bigger lower time bound + else { + if (lowerT1 > lowerT2) { lowerT = lowerT1; } else { lowerT = lowerT2; } - - if (upperT1 > upperT2) { // pick smaller upper time bound + if (upperT1 > upperT2) { upperT = upperT2; } else { upperT = upperT1; } } - // alert("lowerT: " + lowerT); - // alert("upperT: " + upperT); - if (t0I < lowerT && t1I < lowerT || t0I > upperT && t1I > upperT) { alert("We do not have data that span your time range. Try the range inside ["+lowerT+", "+upperT+"]."); return; } - if (t0I < lowerT && t1I <= upperT) { alert("Your start year-month is out of bound. It has to be in or later than " + lowerT + ". We will use the range ["+lowerT+", "+t1I+"] for you."); } - if (t1I > upperT && t0I >= lowerT) { alert("Your end year-month is out of bound. It has to be in or earlier than " + upperT + ". We will use the range ["+t0I+", "+upperT+"] for you."); } - if (t0I < lowerT && t1I > upperT ) { alert("Both of your start and end year-months are out of bounds. They have to be in or earlier than " + upperT + ", and in or later than " + lowerT + ". We will use the range ["+lowerT+", "+upperT+"] for you."); @@ -607,15 +471,10 @@ error: function(xhr, textStatus, errorThrown) { $("#Response").html("error!"); $("#data_url").html("error!"); - // alert("xhr.status: "+xhr.status); - // alert("error status: "+textStatus); }, complete: function(xhr, textStatus) { - //alert("complete status: "+textStatus); } }); - - $.ajax({ type: "GET", url: url, @@ -623,51 +482,34 @@ data: null, success: function(data, textStatus, xhr) { Response = data; - // alert("data: " + data); - // alert(url); if (data.success == false) { - // alert(data.error); Response = null; var text = JSON.stringify(data, null, 4); - if (text.indexOf("No Data") != -1) { $("#Image").html("No Data"); $("#Response").html("No Data"); $("#data_url").html("No Data"); return; } - text = "Error in backend: <br>" + text; - // $("#Response").html("<span style='color:red'>" + text + "</span>"); $("#Response").html(text); $("#data_url").html(text); - return; } var text = JSON.stringify(data, null, 4); - // alert(text); - // $("#Response").html("<pre>"+text+"</pre>"); $("#Response").html(text); - var html = "<img src='" + data.url + "?" + new Date().getTime() + "' width='820'/>"; - // alert(html); $("#Image").html(html); - - // post dataUrl to textarea and enable download button $("#data_url").html(data.dataUrl); enable_download_button(); }, error: function(xhr, textStatus, errorThrown) { $("#Response").html("error!"); $("#data_url").html("error!"); - // alert("xhr.status: "+xhr.status); - // alert("error status: "+textStatus); }, complete: function(xhr, textStatus) { - //alert("complete status: "+textStatus); } }); - }); }); </script> @@ -689,138 +531,115 @@ <div id="executionPurpose" style="display: none;">@parameters.getExecutionPurpose()</div> <div id="dataURL" style="display: none;">@parameters.getDataURL()</div> <div id="serviceResponseText" style="display: none;">@parameters.getServiceResponseText()</div> - - <table border="1"> - -<tr> -<td colspan="4"> -<center> -<b>Service: Time-Lagged Correlation Map of Two Variables</b><br><br> -This service generates a time-lagged correlation map between two specified variables. -<br>The two variables can be either a two-dimensional variable or a slice of a three-dimensional variable at a specific pressure level. <br><br> -</center> -</td> -</tr> - -<tr> -<td colspan="2"> -<center> -data1[t-lag] -</center> -</td> - -<td colspan="2"> -<center> -data2[t] -</center> -</td> -</tr> - -<tr> -<td>source:</td> -<td><select name="data1", id="data1" onchange="put_var(1); select_var1(1)"> -</select></td> - -<td>source:</td> -<td><select name="data2", id="data2" onchange="put_var(2); select_var1(2)"> -</select></td> - -</tr> - -<tr> - -<td>variable name:</td><td><select name="var1", id="var1" onchange="select_var1(1)"> -</select> -</td> - -<td>variable name:</td><td><select name="var2", id="var2" onchange="select_var1(2)"> -</select> - -</td> - -</tr> - -<tr> - -<td> -atmosphere pressure level (hPa) <br> or ocean pressure level (dbar) -</td> -<td> -<input id="pres1" value="@parameters.getPressureLevel1()" alt="pressure"/> -</td> - -<td> -atmosphere pressure level (hPa) <br> or ocean pressure level (dbar) -</td> -<td> -<input id="pres2" value="@parameters.getPressureLevel2()" alt="pressure"/> -</td> - -</tr> - -<tr> -</tr> - -<tr> -<td id=startYear>start year-month:</td><td><input id="t0" value="@parameters.getStartYear()" alt="start"/></td> -<td id=endYear>end year-month:</td><td><input id="t1" value="@parameters.getEndYear()" alt="end"/></td> -</tr> - - -<tr> -<td>start lat (deg):</td><td><input id="lat0" value="@parameters.getStartLat()"/></td> -<td>end lat (deg):</td><td><input id="lat1" value="@parameters.getEndLat()"/></td> -</tr> - -<tr> -<td>start lon (deg):</td><td><input id="lon0" value="@parameters.getStartLon()"/></td> -<td>end lon (deg):</td><td><input id="lon1" value="@parameters.getEndLon()"/></td> -</tr> - -<tr> -<td></td> -<td colspan="2"><center>lag (month):<input id="laggedTime" value="@parameters.getLaggedTime()"/></center></td><td></td></tr> -</tr> - -<tr> -<td colspan="1"> -Execution purpose -</td> -<td colspan="3"> -<form> -<textarea name="purpose" id="purpose" rows="4" cols="50">@parameters.getExecutionPurpose()</textarea> -</form> -</td> -</tr> -<tr> - -<tr> -<td colspan="2" align="center"><input id="correlationMap" type="submit" value=" Run Again " style="height:28px"/></td> -<form> -<td colspan="2" align="center"><input id="download_data" type="button" value="Download Data" style="height:28px"/> -</td> -</form> - -</tr> - -<tr> -<td colspan="4"> -<div id="Image"><img src="@parameters.getImage()" width=680 /></div> -</td> -</tr> - -<tr> -<td colspan="4" align="center"> -<textarea readonly id="data_url" cols="130" rows="2">@parameters.getDataURL()</textarea> -</td> -</tr> - -<tr> -<td colspan="4" align="center"> -<textarea id="Response" cols="130" rows="6">@parameters.getServiceResponseText()</textarea> -</td> -</tr> - + <tr> + <td colspan="4"> + <center> + <b>Service: Time-Lagged Correlation Map of Two Variables</b><br> + <br> This service generates a time-lagged correlation map + between two specified variables. <br>The two variables can be + either a two-dimensional variable or a slice of a three-dimensional + variable at a specific pressure level. <br> <br> + </center> + </td> + </tr> + <tr> + <td colspan="2"> + <center>data1[t-lag]</center> + </td> + <td colspan="2"> + <center>data2[t]</center> + </td> + </tr> + <tr> + <td>source:</td> + <td><select name="data1" , id="data1" + onchange="put_var(1); select_var1(1)"> + </select></td> + <td>source:</td> + <td><select name="data2" , id="data2" + onchange="put_var(2); select_var1(2)"> + </select></td> + </tr> + <tr> + <td>variable name:</td> + <td><select name="var1" , id="var1" onchange="select_var1(1)"></select></td> + <td>variable name:</td> + <td><select name="var2" , id="var2" onchange="select_var1(2)"></select></td> + </tr> + <tr> + <td>atmosphere pressure level (hPa) <br> or ocean pressure + level (dbar) + </td> + <td><input id="pres1" value="@parameters.getPressureLevel1()" + alt="pressure" /></td> + <td>atmosphere pressure level (hPa) <br> or ocean pressure + level (dbar) + </td> + <td><input id="pres2" value="@parameters.getPressureLevel2()" + alt="pressure" /></td> + </tr> + <tr> + </tr> + <tr> + <td id=startYear>start year-month:</td> + <td><input id="t0" value="@parameters.getStartYear()" alt="start" /></td> + <td id=endYear>end year-month:</td> + <td><input id="t1" value="@parameters.getEndYear()" alt="end" /></td> + </tr> + <tr> + <td>start lat (deg):</td> + <td><input id="lat0" value="@parameters.getStartLat()" /></td> + <td>end lat (deg):</td> + <td><input id="lat1" value="@parameters.getEndLat()" /></td> + </tr> + <tr> + <td>start lon (deg):</td> + <td><input id="lon0" value="@parameters.getStartLon()" /></td> + <td>end lon (deg):</td> + <td><input id="lon1" value="@parameters.getEndLon()" /></td> + </tr> + <tr> + <td></td> + <td colspan="2"><center> + lag (month):<input id="laggedTime" + value="@parameters.getLaggedTime()" /> + </center></td> + <td></td> + </tr> + </tr> + <tr> + <td colspan="1">Execution purpose</td> + <td colspan="3"> + <form> + <textarea name="purpose" id="purpose" rows="4" cols="50">@parameters.getExecutionPurpose()</textarea> + </form> + </td> + </tr> + <tr> + <tr> + <td colspan="2" align="center"><input id="correlationMap" + type="submit" value=" Run Again " + style="height: 28px" /></td> + <form> + <td colspan="2" align="center"><input id="download_data" + type="button" value="Download Data" style="height: 28px" /></td> + </form> + </tr> + <tr> + <td colspan="4"> + <div id="Image"> + <img src="@parameters.getImage()" width=680 /> + </div> + </td> + </tr> + <tr> + <td colspan="4" align="center"><textarea readonly id="data_url" + cols="130" rows="2">@parameters.getDataURL()</textarea></td> + </tr> + <tr> + <td colspan="4" align="center"><textarea id="Response" cols="130" + rows="6">@parameters.getServiceResponseText()</textarea></td> + </tr> </table> -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/f22b3e32/app/views/climate/regridAndDownload.scala.html ---------------------------------------------------------------------- diff --git a/app/views/climate/regridAndDownload.scala.html b/app/views/climate/regridAndDownload.scala.html index e14f746..32ab4d8 100644 --- a/app/views/climate/regridAndDownload.scala.html +++ b/app/views/climate/regridAndDownload.scala.html @@ -1,72 +1,52 @@ -@(parameters: metadata.RegridAndDownload) -@import helper._ - +@(parameters: metadata.RegridAndDownload) @import helper._ <link rel="stylesheet" href='@routes.Assets.at("stylesheets/livefitler.css")'> - @scripts = { - <script src='@routes.Assets.at("javascripts/edit_button.js")'></script> <script src='@routes.Assets.at("javascripts/livefilter.js")'></script> <script type="text/javascript" src='@routes.Assets.at("javascripts/jquery-1.9.0.min.js")'></script> +<script type="text/javascript" src="https: +<script type=" + text/javascript" + src='@routes.Assets.at("javascripts/json2.js")'></script> <script type="text/javascript" - src="https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.min.js"></script> + src='@routes.Assets.at("jhtml/js/xmisc.js")'></script> <script type="text/javascript" - src='@routes.Assets.at("javascripts/json2.js")'></script> -<script type="text/javascript" src='@routes.Assets.at("jhtml/js/xmisc.js")'></script> -<script type="text/javascript" src='@routes.Assets.at("html/js2/varList.js")'></script> -<script type="text/javascript" src='@routes.Assets.at("html/js2/dataList2.js")'></script> -<script type="text/javascript" src='@routes.Assets.at("html/js2/common.js")'></script> - + src='@routes.Assets.at("html/js2/varList.js")'></script> +<script type="text/javascript" + src='@routes.Assets.at("html/js2/dataList2.js")'></script> +<script type="text/javascript" + src='@routes.Assets.at("html/js2/common.js")'></script> <script type="text/javascript"> - - var Response = null; var variable = ""; - - // called on load or reload window.onload = function() { - put_data(1); changeDataSource(); put_var(1); changeVariableName(); - enable_download_button(); - $('#t0').val($('#startYearMonth').text()); $('#t1').val($('#endYearMonth').text()); - if($('#pressureLevel').text() == "-999999"){ disable_pres1(1); }else{ $('#pres1').val($('#pressureLevel').text()); } - $('#lat0').val($('#startLat').text()); $('#lat1').val($('#endLat').text()); $('#dlat').val($('#deltaLat').text()); - $('#lon0').val($('#startLon').text()); $('#lon1').val($('#endLon').text()); $('#dlon').val($('#deltaLon').text()); - $('#purpose').html($('#executionPurpose').text()); - - $('#data_url').html($('#dataURL').text()); $('#Response').html($('#serviceResponseText').text()); - } - - - function changeDataSource() { var dataSource = $('#dataSource').text(); - //dataSource = "NASA_QuikSCAT"; var x = document.getElementById("data1"); - // if(dataSource == "NASA_AIRS" ){ if(dataSource == "gfdl_esm2g" ){ x.options[0].selected=true; } @@ -142,121 +122,31 @@ else if(dataSource == "ecmwf_interim" ){ x.options[24].selected=true; } - // } } - function changeVariableName(){ var var_string = $('#variableName').text(); var data_string = $('#dataSource').text(); data_string = data_string.replace("_", "/").toUpperCase(); - - var varList2 = dataList[data_string][1]; var x = document.getElementById("var1"); - for (var i=0; i<varList2.length; i++) { var k = varList2[i]; - if (k == var_string) { x.options[i].selected=true; break; } } - /* - if (var_string == "clt") - x.options[1].selected=true; - else if (var_string == "ts") - x.options[2].selected=true; - else if (var_string == "tos") - x.options[3].selected=true; - else if (var_string == "pr") - x.options[0].selected=true; - else if (var_string == "uas") - x.options[4].selected=true; - else if (var_string == "vas") - x.options[5].selected=true; - else if (var_string == "sfcWind") - x.options[6].selected=true; - else if (var_string == "zos") - x.options[7].selected=true; - else if (var_string == "lai") - x.options[8].selected=true; - else if (var_string == "zl") - x.options[9].selected=true; - else if (var_string == "zo") - x.options[10].selected=true; - else if (var_string == "ohc700") - x.options[11].selected=true; - else if (var_string == "ohc2000") - x.options[12].selected=true; - else if (var_string == "rlds") - x.options[13].selected=true; - else if (var_string == "rsds") - x.options[14].selected=true; - else if (var_string == "rlus") - x.options[15].selected=true; - else if (var_string == "rsus") - x.options[16].selected=true; - else if (var_string == "rldscs") - x.options[17].selected=true; - else if (var_string == "rsdscs") - x.options[18].selected=true; - else if (var_string == "rsuscs") - x.options[19].selected=true; - else if (var_string == "rsdt") - x.options[20].selected=true; - - else if (var_string == "rlut") - x.options[21].selected=true; - else if (var_string == "rsut") - x.options[22].selected=true; - else if (var_string == "rlutcs") - x.options[23].selected=true; - else if (var_string == "rsutcs") - x.options[24].selected=true; - else if (var_string == "ta") - x.options[25].selected=true; - else if (var_string == "hus") - x.options[26].selected=true; - else if (var_string == "cli") - x.options[27].selected=true; - else if (var_string == "clw") - x.options[28].selected=true; - else if (var_string == "ot") - x.options[29].selected=true; - else if (var_string == "os") - x.options[30].selected=true; - else if (var_string == "wap") - x.options[31].selected=true; - else if (var_string == "hur") - x.options[32].selected=true; - */ } - -// function changePres() { -// // var dataSource = $('#data1').text(); -// //dataSource = "NASA_QuikSCAT"; -// var x = document.getElementById("pres1"); -// x.value = "sss"; -// // if(dataSource == "NASA_AIRS" ){ -// // x.options[1].selected=true; -// // } -// } - function disable_download_button() { var x=document.getElementById("download_data"); x.disabled=true; } - - // enable download data button function enable_download_button() { var x=document.getElementById("download_data"); x.disabled=false; } - - // disable pressure level box for 2D var function disable_pres1(ID) { var x; @@ -264,19 +154,14 @@ function disable_download_button() x.value = "N/A"; x.disabled=true; } - - // enable pressure level box for 3D var function enable_pres1(ID) { var x; x=document.getElementById("pres"+ID); - //x.value = "500"; x.disabled=false; } - function put_data(ID){ var list1=document.getElementById("data"+ID); - for(var key in dataList) { if (key.slice(0,5)==="group") { var og = document.createElement("OPTGROUP"); @@ -287,13 +172,11 @@ function disable_download_button() } } } - function put_var(ID) { var list1=document.getElementById("var"+ID); for (var i=list1.length-1; i>=0; i--) { list1.remove(i); } - data_string = document.getElementById("data"+ID).value; var varList2 = dataList[data_string][1]; for (var i=0; i<varList2.length; i++) { @@ -301,90 +184,48 @@ function disable_download_button() list1.add(new Option(varList[k][0],k)); } } - - // function select_var1(ID) { var var_string; var_string = $("#var"+ID).val(); - variable = var_string; - // alert("var_string: " + var_string) - if (varList[var_string][2]==3) { enable_pres1(ID); } else { disable_pres1(ID); } - - //alert("variable1: " + var_string); } - $(document).ready(function(){ -/* - $("a").click(function(event){ - alert("As you can see, the link no longer took you to jquery.com"); - event.preventDefault(); - }); -*/ - $("#download_data").click(function(event) { var durl = $("#data_url").val(); - // alert(durl); window.location.assign(durl); }); - - $("#action1").click(function(event) { - // alert('****** inside scatterPlot2V()!'); Response = null; - - // no data to download yet disable_download_button(); - $("#Response").html("Calculating ..."); $("#data_url").html("Calculating ..."); - - // sample url: http://cmacws.jpl.nasa.gov:8090/svc/scatterPlot2V?model1=ukmo_hadgem2-a&var1=ts&pres1=200&model2=ukmo_hadgem2-a&var2=clt&pres2=200&start_time=199001&end_time=199512&lon1=0&lon2=100&lat1=-29&lat2=29 - // form url string - // var url = "http://cmacws.jpl.nasa.gov:8090/svc/scatterPlot2V?"; - var url = "http://" + window.location.hostname + ":9002/svc/regridAndDownload?"; - // alert("url: " + url); - + var url = "http: var d1 = $("#data1").val(); var model1 = d1.replace("/", "_"); model1 = model1.toLowerCase(); - var arglist = ""; arglist = arglist.concat("model="); arglist = arglist.concat(model1); - - // alert("arglist: " + arglist); - var v1 = $("#var1").val(); arglist = arglist.concat("&var="); arglist = arglist.concat(v1); - - // alert("arglist: " + arglist); - var pres1 = $("#pres1").val(); arglist = arglist.concat("&plev="); arglist = arglist.concat(pres1); - var t0 = $("#t0").val(); var t1 = $("#t1").val(); - t0 = t0.replace("-", ""); t1 = t1.replace("-", ""); - arglist = arglist.concat("&start_time="); arglist = arglist.concat(t0); - arglist = arglist.concat("&end_time="); arglist = arglist.concat(t1); - - // alert("arglist: " + arglist); - var lon0 = $("#lon0").val(); var lon1 = $("#lon1").val(); var dlon = $("#dlon").val(); @@ -392,35 +233,22 @@ function disable_download_button() var lat1 = $("#lat1").val(); var dlat = $("#dlat").val(); var purpose = $("#purpose").val(); - arglist = arglist.concat("&lon1="); arglist = arglist.concat(lon0); - arglist = arglist.concat("&lon2="); arglist = arglist.concat(lon1); - arglist = arglist.concat("&dlon="); arglist = arglist.concat(dlon); - arglist = arglist.concat("&lat1="); arglist = arglist.concat(lat0); - arglist = arglist.concat("&lat2="); arglist = arglist.concat(lat1); - arglist = arglist.concat("&dlat="); arglist = arglist.concat(dlat); - arglist = arglist.concat("&purpose="); arglist = arglist.concat(purpose); - // alert("arglist: " + arglist); - - // url = url + encodeURIComponent(arglist); url = url + encodeURI(arglist); - // url = url + arglist; - // alert("url: " + url); - - var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/time_bounds?"; + var urlTimeBounds = "http: var arglistTB = ""; arglistTB = arglistTB.concat("serviceType="); arglistTB = arglistTB.concat("1"); @@ -429,8 +257,6 @@ function disable_download_button() arglistTB = arglistTB.concat("&var="); arglistTB = arglistTB.concat(variable); urlTimeBounds = urlTimeBounds + encodeURI(arglistTB); - // alert("urlTimeBounds: " + urlTimeBounds); - $.ajax({ type: "GET", url: urlTimeBounds, @@ -438,9 +264,7 @@ function disable_download_button() data: null, success: function(data, textStatus, xhr) { Response = data; - // alert("data: " + data); if (data.success == false) { - // alert(data.error); Response = null; var text = JSON.stringify(data, null, 4); text = "Error in backend: <br>" + text; @@ -449,44 +273,29 @@ function disable_download_button() return; } var text = JSON.stringify(data, null, 4); - // alert("text: " + text); - // $("#Response").html("<pre>"+text+"</pre>"); - // $("#Response").html(text); - var tb = data.time_bounds; var bds = String(tb).split(","); - // alert("tb: " + tb); - // alert("bds: " + bds); var lowerT = parseInt(bds[0]); var upperT = parseInt(bds[1]); - // alert("lowerT: " + lowerT); - // alert("upperT: " + upperT); var t0I = parseInt(t0); var t1I = parseInt(t1); - // alert("t0: " + t0I); - // alert("t1: " + t1I); - if ( lowerT == 0 && upperT ==0 ) { alert("We do not have data for this source and variable configuration."); return; } - if (t0I < lowerT && t1I < lowerT || t0I > upperT && t1I > upperT) { alert("We do not have data that span your time range. Try the range inside ["+lowerT+", "+upperT+"]."); return; } - if (t0I < lowerT && t1I <= upperT) { alert("Your start year-month is out of bound. It has to be in or later than " + lowerT + ". We will use the range ["+lowerT+", "+t1I+"] for you."); } - if (t1I > upperT && t0I >= lowerT) { alert("Your end year-month is out of bound. It has to be in or earlier than " + upperT + ". We will use the range ["+t0I+", "+upperT+"] for you."); } - if (t0I < lowerT && t1I > upperT ) { alert("Both of your start and end year-months are out of bounds. They have to be in or earlier than " + upperT + ", and in or later than " + lowerT + ". We will use the range ["+lowerT+", "+upperT+"] for you."); @@ -495,14 +304,10 @@ function disable_download_button() error: function(xhr, textStatus, errorThrown) { $("#Response").html("error!"); $("#data_url").html("error!"); - // alert("xhr.status: "+xhr.status); - // alert("error status: "+textStatus); }, complete: function(xhr, textStatus) { - //alert("complete status: "+textStatus); } }); - $.ajax({ type: "GET", url: url, @@ -510,49 +315,33 @@ function disable_download_button() data: null, success: function(data, textStatus, xhr) { Response = data; - // alert("data: " + data); if (data.success == false) { - // alert(data.error); Response = null; var text = JSON.stringify(data, null, 4); - if (text.indexOf("No Data") != -1) { $("#Response").html("No Data"); $("#data_url").html("No Data"); return; } - text = "Error in backend: <br>" + text; - // $("#Response").html("<span style='color:red'>" + text + "</span>"); $("#Response").html(text); $("#data_url").html(text); - return; } var text = JSON.stringify(data, null, 4); - // alert(text); - // $("#Response").html("<pre>"+text+"</pre>"); $("#Response").html(text); - - // post dataUrl to textarea and enable download button $("#data_url").html(data.dataUrl); enable_download_button(); }, error: function(xhr, textStatus, errorThrown) { $("#Response").html("error!"); $("#data_url").html("error!"); - // alert("xhr.status: "+xhr.status); - // alert("error status: "+textStatus); }, complete: function(xhr, textStatus) { - //alert("complete status: "+textStatus); } }); - }); - }); - </script> } @main("Parameters of ConfId", scripts){ @flash_message() <p> @@ -570,15 +359,7 @@ function disable_download_button() <div id="executionPurpose" style="display: none;">@parameters.getExecutionPurpose()</div> <div id="dataURL" style="display: none;">@parameters.getDataURL()</div> <div id="serviceResponseText" style="display: none;">@parameters.getServiceResponseText()</div> - <table border="1" width="800" align="center"> - - - - - - - <tr> <td colspan="4"> <center> @@ -589,25 +370,18 @@ function disable_download_button() </center> </td> </tr> - <tr> <td>data source:</td> <td><select name="data1" id="data1" onchange="put_var(1)"> </select></td> - <td>variable name:</td> <td><select name="var1" id="var1" onchange="select_var1(1)"> </select></td> </tr> - <tr> - <td colspan=4>atmosphere pressure level (hPa), or ocean pressure level (dbar) - <!-- - <input id=pres1 size=50> - --> - <input list="plev1" id="pres1" size="50" - value="@parameters.getPressureLevel()"> - <datalist id="plev1"> + <td colspan=4>atmosphere pressure level (hPa), or ocean pressure + level (dbar) <input list="plev1" id="pres1" size="50" + value="@parameters.getPressureLevel()"> <datalist id="plev1"> <option value="100000,80000,50000,30000,20000,10000"></option> <option value="100000,30000,10000"></option> <option value="100000,10000"></option> @@ -615,16 +389,13 @@ function disable_download_button() </datalist> </td> </tr> - <tr> <td>start year-month: <input id="t0" - value="@parameters.getStartYearMonth()" alt="start" size="10"/></td> + value="@parameters.getStartYearMonth()" alt="start" size="10" /></td> <td>end year-month: <input id="t1" - value="@parameters.getEndYearMonth()" alt="end" size="10"/></td> + value="@parameters.getEndYearMonth()" alt="end" size="10" /></td> <td colspan=2></td> </tr> - - <tr> <td width="25%">start lat (deg): <input size=5 id="lat0" value="@parameters.getStartLat()" /></td> @@ -634,7 +405,6 @@ function disable_download_button() value="@parameters.getDeltaLat()" /></td> <td></td> </tr> - <tr> <td width="25%">start lon (deg): <input size=5 id="lon0" value="@parameters.getStartLon()" /></td> @@ -659,18 +429,14 @@ function disable_download_button() <td colspan="2" align="center"><input id="download_data" type="button" value="Download Data" style="height: 28px" /></td> </form> - </tr> - <tr> <td colspan="4" align="center"><textarea readonly id="data_url" cols="130" rows="2">@parameters.getDataURL()</textarea></td> </tr> - <tr> <td colspan="4" align="center"><textarea id="Response" cols="130" rows="6">@parameters.getServiceResponseText()</textarea></td> </tr> - </table> }