delete comments
Project: http://git-wip-us.apache.org/repos/asf/incubator-cmda/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cmda/commit/f22b3e32 Tree: http://git-wip-us.apache.org/repos/asf/incubator-cmda/tree/f22b3e32 Diff: http://git-wip-us.apache.org/repos/asf/incubator-cmda/diff/f22b3e32 Branch: refs/heads/master Commit: f22b3e328ff266519ea0db6c63e2a03bb017146a Parents: aa8b627 Author: cat1021 <longma1...@gmail.com> Authored: Wed Sep 2 17:00:04 2015 -0700 Committer: cat1021 <longma1...@gmail.com> Committed: Wed Sep 2 17:00:04 2015 -0700 ---------------------------------------------------------------------- app/models/metadata/TwoDVarZonalMean.java | 4 +- ...rencePlotTwoTimeAveragedVariables.scala.html | 2056 ++++++++---------- .../climate/TwoDVariableZonelMean.scala.html | 520 ++--- app/views/climate/climateServices.scala.html | 2 +- .../climate/conditionalSampling.scala.html | 1130 ++++------ .../climate/conditionalSampling2Var.scala.html | 743 +++---- app/views/climate/correlationMap.scala.html | 451 ++-- app/views/climate/regridAndDownload.scala.html | 270 +-- .../scatterAndHistogramTwoVariable.scala.html | 867 +++----- ...reeDVariableAerageVerticalProfile.scala.html | 519 ++--- .../climate/threeDVariableTwoDSlice.scala.html | 521 ++--- .../climate/threeDVariableZonalMean.scala.html | 521 ++--- app/views/climate/twoDVariableMap.scala.html | 582 ++--- .../climate/twoDVariableTimeSeries.scala.html | 463 ++-- 14 files changed, 2876 insertions(+), 5773 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/f22b3e32/app/models/metadata/TwoDVarZonalMean.java ---------------------------------------------------------------------- diff --git a/app/models/metadata/TwoDVarZonalMean.java b/app/models/metadata/TwoDVarZonalMean.java index b94a28e..45af27e 100644 --- a/app/models/metadata/TwoDVarZonalMean.java +++ b/app/models/metadata/TwoDVarZonalMean.java @@ -49,9 +49,7 @@ public class TwoDVarZonalMean { this.selectMonths = selectMonths; } public void changeSelectMonths(){ -// if(month.isEmpty()){ -// this.selectMonths = "select none"; -// } + if(month.contains("1")&&month.contains("2")&&month.contains("3")&&month.contains("4")&&month.contains("5")&&month.contains("6")&&month.contains("7")&&month.contains("8")&&month.contains("9")&&month.contains("10")&&month.contains("11")&&month.contains("12")){ this.selectMonths = "select all"; } http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/f22b3e32/app/views/climate/DifferencePlotTwoTimeAveragedVariables.scala.html ---------------------------------------------------------------------- diff --git a/app/views/climate/DifferencePlotTwoTimeAveragedVariables.scala.html b/app/views/climate/DifferencePlotTwoTimeAveragedVariables.scala.html index e49ff23..0a64039 100644 --- a/app/views/climate/DifferencePlotTwoTimeAveragedVariables.scala.html +++ b/app/views/climate/DifferencePlotTwoTimeAveragedVariables.scala.html @@ -1,363 +1,323 @@ -@(parameters: metadata.DiffPlotTwoTimeAveragedVar) - -@import helper._ - +@(parameters: metadata.DiffPlotTwoTimeAveragedVar) @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"> +<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"> var Response = null; var variable1 = ""; var variable2 = ""; - - - // called on load or reload window.onload = function() { - - changeDataSource(); - select_data1(1); - changeDataSource1(); - select_data1(2); - changeVariableName(); - select_var1(1); - changeVariableName1(); - select_var1(2); - // no data to download yet - // disable_download_button(); - - var imageUrl = $('#image').text(); - $('#purpose').html($('#executionPurpose').text()); - $('#Image').html('<img src="'+imageUrl+'" width=680 />'); - $('#data_url').html($('#dataURL').text()); - $('#Response').html($('serviceResponseText').text()); + changeDataSource(); + select_data1(1); + changeDataSource1(); + select_data1(2); + changeVariableName(); + select_var1(1); + changeVariableName1(); + select_var1(2); + var imageUrl = $('#image').text(); + $('#purpose').html($('#executionPurpose').text()); + $('#Image').html('<img src="'+imageUrl+'" width=680 />'); + $('#data_url').html($('#dataURL').text()); + $('#Response').html($('serviceResponseText').text()); } - function changeVariableName1(){ - var var_string = $('#variableName2').text(); - var x=document.getElementById("var2"); - 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 == "rlutcs") - x.options[21].selected=true; - else if (var_string == "rlut") - x.options[22].selected=true; - else if (var_string == "rsutcs") - x.options[23].selected=true; - else if (var_string == "rsut") - x.options[24].selected=true; - } - + var var_string = $('#variableName2').text(); + var x=document.getElementById("var2"); + 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 == "rlutcs") + x.options[21].selected=true; + else if (var_string == "rlut") + x.options[22].selected=true; + else if (var_string == "rsutcs") + x.options[23].selected=true; + else if (var_string == "rsut") + x.options[24].selected=true; + } function changeVariableName(){ - var var_string = $('#variableName1').text(); - var x=document.getElementById("var1"); - 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 == "rlutcs") - x.options[21].selected=true; - else if (var_string == "rlut") - x.options[22].selected=true; - else if (var_string == "rsutcs") - x.options[23].selected=true; - else if (var_string == "rsut") - x.options[24].selected=true; + var var_string = $('#variableName1').text(); + var x=document.getElementById("var1"); + 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 == "rlutcs") + x.options[21].selected=true; + else if (var_string == "rlut") + x.options[22].selected=true; + else if (var_string == "rsutcs") + x.options[23].selected=true; + else if (var_string == "rsut") + x.options[24].selected=true; } - - function changeDataSource1(){ - - var dataSource = $('#source2').text(); - - dataSource = dataSource.toUpperCase(); - //alert(dataSource); - //dataSource = "NASA_QuikSCAT"; - var x = document.getElementById("data2"); - if(dataSource == "NASA_MODIS" ){ - x.options[13].selected=true; - } - else if(dataSource == "NASA_AMSRE" ){ - x.options[14].selected=true; - } - else if(dataSource == "NASA_TRMM" ){ - x.options[15].selected=true; - } - else if(dataSource == "NASA_GPCP" ){ - x.options[16].selected=true; - } - else if(dataSource == "NASA_QUIKSCAT" ){ - x.options[17].selected=true; - } - else if(dataSource == "NASA_AVISO" ){ - x.options[18].selected=true; - } - else if(dataSource == "NASA_GRACE" ){ - x.options[19].selected=true; - } - else if(dataSource == "NOAA_NODC" ){ - x.options[20].selected=true; - } - else if(dataSource == "NASA_CERES" ){ - x.options[21].selected=true; - } - else if(dataSource == "NASA_AIRS" ){ - x.options[22].selected=true; - } - else if(dataSource == "NASA_MLS" ){ - x.options[23].selected=true; - } - else if(dataSource == "NASA_ARGO" ){ - x.options[24].selected=true; - } - else if(dataSource == "CCCMA_CANESM2" ){ - x.options[0].selected=true; - } - - else if(dataSource == "GFDL_ESM2G" ){ - x.options[1].selected=true; - } - else if(dataSource == "GISS_E2-H" ){ - x.options[2].selected=true; - } - else if(dataSource == "GISS_E2-R" ){ - x.options[3].selected=true; - } - else if(dataSource == "NCAR_CAM5" ){ - x.options[4].selected=true; - } - else if(dataSource == "NCC_NORESM" ){ - x.options[5].selected=true; - } - else if(dataSource == "UKMO_HADGEM2-ES" ){ - x.options[6].selected=true; - } - else if(dataSource == "CCCMA_CANAM4" ){ - x.options[7].selected=true; - } - else if(dataSource == "CSIRO_MK3.6" ){ - x.options[8].selected=true; - } - else if(dataSource == "GFDL_CM3" ){ - x.options[9].selected=true; - } - else if(dataSource == "IPSL_CM5A-LR" ){ - x.options[10].selected=true; + var dataSource = $('#source2').text(); + dataSource = dataSource.toUpperCase(); + var x = document.getElementById("data2"); + if(dataSource == "NASA_MODIS" ){ + x.options[13].selected=true; + } + else if(dataSource == "NASA_AMSRE" ){ + x.options[14].selected=true; + } + else if(dataSource == "NASA_TRMM" ){ + x.options[15].selected=true; + } + else if(dataSource == "NASA_GPCP" ){ + x.options[16].selected=true; + } + else if(dataSource == "NASA_QUIKSCAT" ){ + x.options[17].selected=true; + } + else if(dataSource == "NASA_AVISO" ){ + x.options[18].selected=true; + } + else if(dataSource == "NASA_GRACE" ){ + x.options[19].selected=true; + } + else if(dataSource == "NOAA_NODC" ){ + x.options[20].selected=true; + } + else if(dataSource == "NASA_CERES" ){ + x.options[21].selected=true; + } + else if(dataSource == "NASA_AIRS" ){ + x.options[22].selected=true; + } + else if(dataSource == "NASA_MLS" ){ + x.options[23].selected=true; + } + else if(dataSource == "NASA_ARGO" ){ + x.options[24].selected=true; + } + else if(dataSource == "CCCMA_CANESM2" ){ + x.options[0].selected=true; + } + else if(dataSource == "GFDL_ESM2G" ){ + x.options[1].selected=true; + } + else if(dataSource == "GISS_E2-H" ){ + x.options[2].selected=true; + } + else if(dataSource == "GISS_E2-R" ){ + x.options[3].selected=true; + } + else if(dataSource == "NCAR_CAM5" ){ + x.options[4].selected=true; + } + else if(dataSource == "NCC_NORESM" ){ + x.options[5].selected=true; + } + else if(dataSource == "UKMO_HADGEM2-ES" ){ + x.options[6].selected=true; + } + else if(dataSource == "CCCMA_CANAM4" ){ + x.options[7].selected=true; + } + else if(dataSource == "CSIRO_MK3.6" ){ + x.options[8].selected=true; + } + else if(dataSource == "GFDL_CM3" ){ + x.options[9].selected=true; + } + else if(dataSource == "IPSL_CM5A-LR" ){ + x.options[10].selected=true; + } + else if(dataSource == "MIROC_MIROC5" ){ + x.options[11].selected=true; + } + else if(dataSource == "UKMO_HADGEM2-A" ){ + x.options[12].selected=true; + } + else if(dataSource == "ECMWF_INTERIM" ){ + x.options[25].selected=true; + } } - else if(dataSource == "MIROC_MIROC5" ){ - x.options[11].selected=true; - } - else if(dataSource == "UKMO_HADGEM2-A" ){ - x.options[12].selected=true; - } - else if(dataSource == "ECMWF_INTERIM" ){ - x.options[25].selected=true; - } - //$('#data option:contains('+dataSource+')').prop({selected: true}); - } - function changeDataSource(){ - - var dataSource = $('#source1').text(); - - dataSource = dataSource.toUpperCase(); - //alert(dataSource); - //dataSource = "NASA_QuikSCAT"; - var x = document.getElementById("data1"); - if(dataSource == "NASA_MODIS" ){ - x.options[13].selected=true; - } - else if(dataSource == "NASA_AMSRE" ){ - x.options[14].selected=true; - } - else if(dataSource == "NASA_TRMM" ){ - x.options[15].selected=true; - } - else if(dataSource == "NASA_GPCP" ){ - x.options[16].selected=true; - } - else if(dataSource == "NASA_QUIKSCAT" ){ - x.options[17].selected=true; - } - else if(dataSource == "NASA_AVISO" ){ - x.options[18].selected=true; - } - else if(dataSource == "NASA_GRACE" ){ - x.options[19].selected=true; - } - else if(dataSource == "NOAA_NODC" ){ - x.options[20].selected=true; - } - else if(dataSource == "NASA_CERES" ){ - x.options[21].selected=true; - } - else if(dataSource == "NASA_AIRS" ){ - x.options[22].selected=true; - } - else if(dataSource == "NASA_MLS" ){ - x.options[23].selected=true; - } - else if(dataSource == "NASA_ARGO" ){ - x.options[24].selected=true; - } - else if(dataSource == "CCCMA_CANESM2" ){ - x.options[0].selected=true; - } - - else if(dataSource == "GFDL_ESM2G" ){ - x.options[1].selected=true; - } - else if(dataSource == "GISS_E2-H" ){ - x.options[2].selected=true; - } - else if(dataSource == "GISS_E2-R" ){ - x.options[3].selected=true; - } - else if(dataSource == "NCAR_CAM5" ){ - x.options[4].selected=true; - } - else if(dataSource == "NCC_NORESM" ){ - x.options[5].selected=true; - } - else if(dataSource == "UKMO_HADGEM2-ES" ){ - x.options[6].selected=true; - } - else if(dataSource == "CCCMA_CANAM4" ){ - x.options[7].selected=true; + var dataSource = $('#source1').text(); + dataSource = dataSource.toUpperCase(); + var x = document.getElementById("data1"); + if(dataSource == "NASA_MODIS" ){ + x.options[13].selected=true; + } + else if(dataSource == "NASA_AMSRE" ){ + x.options[14].selected=true; + } + else if(dataSource == "NASA_TRMM" ){ + x.options[15].selected=true; + } + else if(dataSource == "NASA_GPCP" ){ + x.options[16].selected=true; + } + else if(dataSource == "NASA_QUIKSCAT" ){ + x.options[17].selected=true; + } + else if(dataSource == "NASA_AVISO" ){ + x.options[18].selected=true; + } + else if(dataSource == "NASA_GRACE" ){ + x.options[19].selected=true; + } + else if(dataSource == "NOAA_NODC" ){ + x.options[20].selected=true; + } + else if(dataSource == "NASA_CERES" ){ + x.options[21].selected=true; + } + else if(dataSource == "NASA_AIRS" ){ + x.options[22].selected=true; + } + else if(dataSource == "NASA_MLS" ){ + x.options[23].selected=true; + } + else if(dataSource == "NASA_ARGO" ){ + x.options[24].selected=true; + } + else if(dataSource == "CCCMA_CANESM2" ){ + x.options[0].selected=true; + } + else if(dataSource == "GFDL_ESM2G" ){ + x.options[1].selected=true; + } + else if(dataSource == "GISS_E2-H" ){ + x.options[2].selected=true; + } + else if(dataSource == "GISS_E2-R" ){ + x.options[3].selected=true; + } + else if(dataSource == "NCAR_CAM5" ){ + x.options[4].selected=true; + } + else if(dataSource == "NCC_NORESM" ){ + x.options[5].selected=true; + } + else if(dataSource == "UKMO_HADGEM2-ES" ){ + x.options[6].selected=true; + } + else if(dataSource == "CCCMA_CANAM4" ){ + x.options[7].selected=true; + } + else if(dataSource == "CSIRO_MK3.6" ){ + x.options[8].selected=true; + } + else if(dataSource == "GFDL_CM3" ){ + x.options[9].selected=true; + } + else if(dataSource == "IPSL_CM5A-LR" ){ + x.options[10].selected=true; + } + else if(dataSource == "MIROC_MIROC5" ){ + x.options[11].selected=true; + } + else if(dataSource == "UKMO_HADGEM2-A" ){ + x.options[12].selected=true; + } + else if(dataSource == "ECMWF_INTERIM" ){ + x.options[25].selected=true; + } } - else if(dataSource == "CSIRO_MK3.6" ){ - x.options[8].selected=true; - } - else if(dataSource == "GFDL_CM3" ){ - x.options[9].selected=true; - } - else if(dataSource == "IPSL_CM5A-LR" ){ - x.options[10].selected=true; - } - else if(dataSource == "MIROC_MIROC5" ){ - x.options[11].selected=true; - } - else if(dataSource == "UKMO_HADGEM2-A" ){ - x.options[12].selected=true; - } - else if(dataSource == "ECMWF_INTERIM" ){ - x.options[25].selected=true; - } - //$('#data option:contains('+dataSource+')').prop({selected: true}); - } - - - // disable download data button - function disable_download_button() - { -// var x=document.getElementById("download_data"); -// x.disabled=false; - } - - // enable download data button function enable_download_button() { var x=document.getElementById("download_data"); x.disabled=false; } - - - // disable all vars1 in dropdown menu function unset_vars1(ID) { var x; - if (ID == 1) { x=document.getElementById("var1"); } else if (ID == 2) { x=document.getElementById("var2"); } - x.options[0].disabled=true; x.options[1].disabled=true; x.options[2].disabled=true; @@ -392,9 +352,6 @@ x.options[31].disabled=true; x.options[32].disabled=true; } - - - // disable pressure level box for 2D var function disable_pres1(ID) { var x; @@ -404,12 +361,9 @@ else if (ID == 2) { x=document.getElementById("pres2"); } - x.value = "N/A"; x.disabled=true; } - - // enable pressure level box for 3D var function enable_pres1(ID) { var x; @@ -419,369 +373,321 @@ else if (ID == 2) { x=document.getElementById("pres2"); } - x.value = "500"; x.disabled=false; } - - // form variable1 or variable2 string based on "var" dropdown selection function select_var1(ID) { var var_string; - if (ID == 1) { var_string = $("#var1").val(); } else if (ID == 2) { var_string = $("#var2").val(); + } + disable_download_button(); + if (var_string == "Total Cloud Fraction") { + if (ID == 1) { + variable1 = "clt"; } - - // alert("var_string: " + var_string) - - // disable the download button because of this change - disable_download_button(); - - if (var_string == "Total Cloud Fraction") { - if (ID == 1) { - variable1 = "clt"; // a 2D var - } - else if (ID == 2) { - variable2 = "clt"; // a 2D var - } - // disable pressure level box for 2D var - disable_pres1(ID); - // alert("variable1: " + variable1) - } - else if (var_string == "Surface Temperature") { - if (ID == 1) { - variable1 = "ts"; - } - else if (ID == 2) { - variable2 = "ts"; - } - // disable pressure level box for 2D var - disable_pres1(ID); - } - else if (var_string == "Sea Surface Temperature") { - if (ID == 1) { - variable1 = "tos"; - } - else if (ID == 2) { - variable2 = "tos"; - } - // disable pressure level box for 2D var - disable_pres1(ID); - } - else if (var_string == "Precipitation Flux") { - if (ID == 1) { - variable1 = "pr"; - } - else if (ID == 2) { - variable2 = "pr"; - } - // disable pressure level box for 2D var - disable_pres1(ID); - } - else if (var_string == "Eastward Near-Surface Wind") { - if (ID == 1) { - variable1 = "uas"; - } - else if (ID == 2) { - variable2 = "uas"; - } - // disable pressure level box for 2D var - disable_pres1(ID); - } - else if (var_string == "Northward Near-Surface Wind") { - if (ID == 1) { - variable1 = "vas"; - } - else if (ID == 2) { - variable2 = "vas"; - } - // disable pressure level box for 2D var - disable_pres1(ID); - } - else if (var_string == "Near-Surface Wind Speed") { - if (ID == 1) { - variable1 = "sfcWind"; - } - else if (ID == 2) { - variable2 = "sfcWind"; - } - // disable pressure level box for 2D var - disable_pres1(ID); - } - else if (var_string == "Sea Surface Height") { - if (ID == 1) { - variable1 = "zos"; - } - else if (ID == 2) { - variable2 = "zos"; - } - // disable pressure level box for 2D var - disable_pres1(ID); - } - else if (var_string == "Leaf Area Index") { - if (ID == 1) { - variable1 = "lai"; - } - else if (ID == 2) { - variable2 = "lai"; - } - // disable pressure level box for 2D var - disable_pres1(ID); - } - else if (var_string == "Equivalent Water Height Over Land") { - if (ID == 1) { - variable1 = "zl"; - } - else if (ID == 2) { - variable2 = "zl"; - } - // disable pressure level box for 2D var - disable_pres1(ID); - } - else if (var_string == "Equivalent Water Height Over Ocean") { - if (ID == 1) { - variable1 = "zo"; - } - else if (ID == 2) { - variable2 = "zo"; - } - // disable pressure level box for 2D var - disable_pres1(ID); - } - else if (var_string == "Ocean Heat Content Anomaly within 700 m Depth") { - if (ID == 1) { - variable1 = "ohc700"; - } - else if (ID == 2) { - variable2 = "ohc700"; - } - // disable pressure level box for 2D var - disable_pres1(ID); - } - else if (var_string == "Ocean Heat Content Anomaly within 2000 m Depth") { - if (ID == 1) { - variable1 = "ohc2000"; - } - else if (ID == 2) { - variable2 = "ohc2000"; - } - // disable pressure level box for 2D var - disable_pres1(ID); - } - else if (var_string == "Surface Downwelling Longwave Radiation") { - if (ID == 1) { - variable1 = "rlds"; - } - else if (ID == 2) { - variable2 = "rlds"; - } - // disable pressure level box for 2D var - disable_pres1(ID); - } - else if (var_string == "Surface Downwelling Shortwave Radiation") { - if (ID == 1) { - variable1 = "rsds"; - } - else if (ID == 2) { - variable2 = "rsds"; - } - // disable pressure level box for 2D var - disable_pres1(ID); - } - else if (var_string == "Surface Upwelling Longwave Radiation") { - if (ID == 1) { - variable1 = "rlus"; - } - else if (ID == 2) { - variable2 = "rlus"; - } - // disable pressure level box for 2D var - disable_pres1(ID); - } - else if (var_string == "Surface Upwelling Shortwave Radiation") { - if (ID == 1) { - variable1 = "rsus"; - } - else if (ID == 2) { - variable2 = "rsus"; - } - // disable pressure level box for 2D var - disable_pres1(ID); - } - else if (var_string == "Surface Downwelling Clear-Sky Longwave Radiation") { - if (ID == 1) { - variable1 = "rldscs"; - } - else if (ID == 2) { - variable2 = "rldscs"; - } - // disable pressure level box for 2D var - disable_pres1(ID); - } - else if (var_string == "Surface Downwelling Clear-Sky Shortwave Radiation") { - if (ID == 1) { - variable1 = "rsdscs"; - } - else if (ID == 2) { - variable2 = "rsdscs"; - } - // disable pressure level box for 2D var - disable_pres1(ID); - } - else if (var_string == "Surface Upwelling Clear-Sky Shortwave Radiation") { - if (ID == 1) { - variable1 = "rsuscs"; - } - else if (ID == 2) { - variable2 = "rsuscs"; - } - // disable pressure level box for 2D var - disable_pres1(ID); - } - else if (var_string == "TOA Incident Shortwave Radiation") { - if (ID == 1) { - variable1 = "rsdt"; - } - else if (ID == 2) { - variable2 = "rsdt"; - } - // disable pressure level box for 2D var - disable_pres1(ID); - } - else if (var_string == "TOA Outgoing Clear-Sky Longwave Radiation") { - if (ID == 1) { - variable1 = "rlutcs"; - } - else if (ID == 2) { - variable2 = "rlutcs"; - } - // disable pressure level box for 2D var - disable_pres1(ID); - } - else if (var_string == "TOA Outgoing Longwave Radiation") { - if (ID == 1) { - variable1 = "rlut"; - } - else if (ID == 2) { - variable2 = "rlut"; - } - // disable pressure level box for 2D var - disable_pres1(ID); - } - else if (var_string == "TOA Outgoing Clear-Sky Shortwave Radiation") { - if (ID == 1) { - variable1 = "rsutcs"; - } - else if (ID == 2) { - variable2 = "rsutcs"; - } - // disable pressure level box for 2D var - disable_pres1(ID); - } - else if (var_string == "TOA Outgoing Shortwave Radiation") { - if (ID == 1) { - variable1 = "rsut"; - } - else if (ID == 2) { - variable2 = "rsut"; - } - // disable pressure level box for 2D var - disable_pres1(ID); - } - else if (var_string == "Air Temperature") { - if (ID == 1) { - variable1 = "ta"; - } - else if (ID == 2) { - variable2 = "ta"; - } - // enable pressure level box for 3D var - enable_pres1(ID); - } - else if (var_string == "Specific Humidity") { - if (ID == 1) { - variable1 = "hus"; - } - else if (ID == 2) { - variable2 = "hus"; - } - // enable pressure level box for 3D var - enable_pres1(ID); - } - else if (var_string == "Cloud Ice Water Content") { - if (ID == 1) { - variable1 = "cli"; - } - else if (ID == 2) { - variable2 = "cli"; - } - // enable pressure level box for 3D var - enable_pres1(ID); - } - else if (var_string == "Cloud Liquid Water Content") { - if (ID == 1) { - variable1 = "clw"; - } - else if (ID == 2) { - variable2 = "clw"; - } - // enable pressure level box for 3D var - enable_pres1(ID); - } - else if (var_string == "Ocean Temperature") { - if (ID == 1) { - variable1 = "ot"; - } - else if (ID == 2) { - variable2 = "ot"; - } - // enable pressure level box for 3D var - enable_pres1(ID); - } - else if (var_string == "Ocean Salinity") { - if (ID == 1) { - variable1 = "os"; - } - else if (ID == 2) { - variable2 = "os"; - } - // enable pressure level box for 3D var - enable_pres1(ID); - } - else if (var_string == "Vertical Wind Velocity") { - if (ID == 1) { - variable1 = "wap"; - } - else if (ID == 2) { - variable2 = "wap"; - } - // enable pressure level box for 3D var - enable_pres1(ID); - } - else if (var_string == "Relative Humidity") { - if (ID == 1) { - variable1 = "hur"; - } - else if (ID == 2) { - variable2 = "hur"; - } - // enable pressure level box for 3D var - enable_pres1(ID); + else if (ID == 2) { + variable2 = "clt"; } - // alert("variable1: " + variable1) + disable_pres1(ID); + } + else if (var_string == "Surface Temperature") { + if (ID == 1) { + variable1 = "ts"; + } + else if (ID == 2) { + variable2 = "ts"; + } + disable_pres1(ID); + } + else if (var_string == "Sea Surface Temperature") { + if (ID == 1) { + variable1 = "tos"; + } + else if (ID == 2) { + variable2 = "tos"; + } + disable_pres1(ID); + } + else if (var_string == "Precipitation Flux") { + if (ID == 1) { + variable1 = "pr"; + } + else if (ID == 2) { + variable2 = "pr"; + } + disable_pres1(ID); + } + else if (var_string == "Eastward Near-Surface Wind") { + if (ID == 1) { + variable1 = "uas"; + } + else if (ID == 2) { + variable2 = "uas"; + } + disable_pres1(ID); + } + else if (var_string == "Northward Near-Surface Wind") { + if (ID == 1) { + variable1 = "vas"; + } + else if (ID == 2) { + variable2 = "vas"; + } + disable_pres1(ID); + } + else if (var_string == "Near-Surface Wind Speed") { + if (ID == 1) { + variable1 = "sfcWind"; + } + else if (ID == 2) { + variable2 = "sfcWind"; + } + disable_pres1(ID); + } + else if (var_string == "Sea Surface Height") { + if (ID == 1) { + variable1 = "zos"; + } + else if (ID == 2) { + variable2 = "zos"; + } + disable_pres1(ID); + } + else if (var_string == "Leaf Area Index") { + if (ID == 1) { + variable1 = "lai"; + } + else if (ID == 2) { + variable2 = "lai"; + } + disable_pres1(ID); + } + else if (var_string == "Equivalent Water Height Over Land") { + if (ID == 1) { + variable1 = "zl"; + } + else if (ID == 2) { + variable2 = "zl"; + } + disable_pres1(ID); + } + else if (var_string == "Equivalent Water Height Over Ocean") { + if (ID == 1) { + variable1 = "zo"; + } + else if (ID == 2) { + variable2 = "zo"; + } + disable_pres1(ID); + } + else if (var_string == "Ocean Heat Content Anomaly within 700 m Depth") { + if (ID == 1) { + variable1 = "ohc700"; + } + else if (ID == 2) { + variable2 = "ohc700"; + } + disable_pres1(ID); + } + else if (var_string == "Ocean Heat Content Anomaly within 2000 m Depth") { + if (ID == 1) { + variable1 = "ohc2000"; + } + else if (ID == 2) { + variable2 = "ohc2000"; + } + disable_pres1(ID); + } + else if (var_string == "Surface Downwelling Longwave Radiation") { + if (ID == 1) { + variable1 = "rlds"; + } + else if (ID == 2) { + variable2 = "rlds"; + } + disable_pres1(ID); + } + else if (var_string == "Surface Downwelling Shortwave Radiation") { + if (ID == 1) { + variable1 = "rsds"; + } + else if (ID == 2) { + variable2 = "rsds"; + } + disable_pres1(ID); + } + else if (var_string == "Surface Upwelling Longwave Radiation") { + if (ID == 1) { + variable1 = "rlus"; + } + else if (ID == 2) { + variable2 = "rlus"; + } + disable_pres1(ID); + } + else if (var_string == "Surface Upwelling Shortwave Radiation") { + if (ID == 1) { + variable1 = "rsus"; + } + else if (ID == 2) { + variable2 = "rsus"; + } + disable_pres1(ID); + } + else if (var_string == "Surface Downwelling Clear-Sky Longwave Radiation") { + if (ID == 1) { + variable1 = "rldscs"; + } + else if (ID == 2) { + variable2 = "rldscs"; + } + disable_pres1(ID); + } + else if (var_string == "Surface Downwelling Clear-Sky Shortwave Radiation") { + if (ID == 1) { + variable1 = "rsdscs"; + } + else if (ID == 2) { + variable2 = "rsdscs"; + } + disable_pres1(ID); + } + else if (var_string == "Surface Upwelling Clear-Sky Shortwave Radiation") { + if (ID == 1) { + variable1 = "rsuscs"; + } + else if (ID == 2) { + variable2 = "rsuscs"; + } + disable_pres1(ID); + } + else if (var_string == "TOA Incident Shortwave Radiation") { + if (ID == 1) { + variable1 = "rsdt"; + } + else if (ID == 2) { + variable2 = "rsdt"; + } + disable_pres1(ID); + } + else if (var_string == "TOA Outgoing Clear-Sky Longwave Radiation") { + if (ID == 1) { + variable1 = "rlutcs"; + } + else if (ID == 2) { + variable2 = "rlutcs"; + } + disable_pres1(ID); + } + else if (var_string == "TOA Outgoing Longwave Radiation") { + if (ID == 1) { + variable1 = "rlut"; + } + else if (ID == 2) { + variable2 = "rlut"; + } + disable_pres1(ID); + } + else if (var_string == "TOA Outgoing Clear-Sky Shortwave Radiation") { + if (ID == 1) { + variable1 = "rsutcs"; + } + else if (ID == 2) { + variable2 = "rsutcs"; + } + disable_pres1(ID); + } + else if (var_string == "TOA Outgoing Shortwave Radiation") { + if (ID == 1) { + variable1 = "rsut"; + } + else if (ID == 2) { + variable2 = "rsut"; + } + disable_pres1(ID); + } + else if (var_string == "Air Temperature") { + if (ID == 1) { + variable1 = "ta"; + } + else if (ID == 2) { + variable2 = "ta"; + } + enable_pres1(ID); + } + else if (var_string == "Specific Humidity") { + if (ID == 1) { + variable1 = "hus"; + } + else if (ID == 2) { + variable2 = "hus"; + } + enable_pres1(ID); + } + else if (var_string == "Cloud Ice Water Content") { + if (ID == 1) { + variable1 = "cli"; + } + else if (ID == 2) { + variable2 = "cli"; + } + enable_pres1(ID); + } + else if (var_string == "Cloud Liquid Water Content") { + if (ID == 1) { + variable1 = "clw"; + } + else if (ID == 2) { + variable2 = "clw"; + } + enable_pres1(ID); + } + else if (var_string == "Ocean Temperature") { + if (ID == 1) { + variable1 = "ot"; + } + else if (ID == 2) { + variable2 = "ot"; + } + enable_pres1(ID); + } + else if (var_string == "Ocean Salinity") { + if (ID == 1) { + variable1 = "os"; + } + else if (ID == 2) { + variable2 = "os"; + } + enable_pres1(ID); + } + else if (var_string == "Vertical Wind Velocity") { + if (ID == 1) { + variable1 = "wap"; + } + else if (ID == 2) { + variable2 = "wap"; + } + enable_pres1(ID); + } + else if (var_string == "Relative Humidity") { + if (ID == 1) { + variable1 = "hur"; + } + else if (ID == 2) { + variable2 = "hur"; + } + enable_pres1(ID); + } } - - - // set up "var1" dropdown based status of "data1" dropdown function select_data1(ID) { var data_string; var x; - if (ID == 1) { data_string = $("#data1").val(); x = document.getElementById("var1"); @@ -790,106 +696,64 @@ data_string = $("#data2").val(); x = document.getElementById("var2"); } - - // alert(ID); - // alert(data_string); - - // disable the download button because of this change disable_download_button(); - - // disable corresponding "var" options if (data_string == "NASA/AMSRE") { - - unset_vars1(ID); // disable all options in "var" dropdown first - + unset_vars1(ID); x.options[3].selected=true; - disable_pres1(ID); // the selected one is 2D - + disable_pres1(ID); x.options[3].disabled=false; - } else if (data_string == "NASA/MODIS") { - unset_vars1(ID); - x.options[1].selected=true; - disable_pres1(ID); // the selected one is 2D - + disable_pres1(ID); x.options[1].disabled=false; x.options[8].disabled=false; - } else if (data_string == "NASA/TRMM") { - unset_vars1(ID); - x.options[0].selected=true; - disable_pres1(ID); // the selected one is 2D - + disable_pres1(ID); x.options[0].disabled=false; - } else if (data_string == "NASA/GPCP") { - unset_vars1(ID); - x.options[0].selected=true; - disable_pres1(ID); // the selected one is 2D - + disable_pres1(ID); x.options[0].disabled=false; - } else if (data_string == "NASA/QuikSCAT") { - unset_vars1(ID); - x.options[4].selected=true; - disable_pres1(ID); // the selected one is 2D - + disable_pres1(ID); x.options[4].disabled=false; x.options[5].disabled=false; x.options[6].disabled=false; - } else if (data_string == "NASA/AVISO") { - unset_vars1(ID); - x.options[7].selected=true; - disable_pres1(ID); // the selected one is 2D - + disable_pres1(ID); x.options[7].disabled=false; - } else if (data_string == "NASA/GRACE") { - unset_vars1(ID); - x.options[9].selected=true; - disable_pres1(ID); // the selected one is 2D - + disable_pres1(ID); x.options[9].disabled=false; x.options[10].disabled=false; - } else if (data_string == "NOAA/NODC") { - unset_vars1(ID); - x.options[11].selected=true; - disable_pres1(ID); // the selected one is 2D - + disable_pres1(ID); x.options[11].disabled=false; x.options[12].disabled=false; - } else if (data_string == "NASA/CERES") { - unset_vars1(ID); - x.options[13].selected=true; - disable_pres1(ID); // the selected one is 2D - + disable_pres1(ID); x.options[13].disabled=false; x.options[14].disabled=false; x.options[15].disabled=false; @@ -902,65 +766,38 @@ x.options[22].disabled=false; x.options[23].disabled=false; x.options[24].disabled=false; - // The following 6 commented out - // per request by Benyang - // x.options[25].disabled=false; - // x.options[26].disabled=false; - // x.options[27].disabled=false; - // x.options[28].disabled=false; - // x.options[29].disabled=false; - // x.options[30].disabled=false; - } else if (data_string == "NASA/AIRS") { - unset_vars1(ID); - x.options[25].selected=true; - enable_pres1(ID); // the selected one is 3D - + enable_pres1(ID); x.options[25].disabled=false; x.options[26].disabled=false; - } else if (data_string == "NASA/MLS") { - unset_vars1(ID); - x.options[25].selected=true; - enable_pres1(ID); // the selected one is 3D - + enable_pres1(ID); x.options[25].disabled=false; x.options[26].disabled=false; - } else if (data_string == "ARGO/ARGO") { - unset_vars1(ID); - x.options[29].selected=true; - enable_pres1(ID); // the selected one is 3D - + enable_pres1(ID); x.options[29].disabled=false; x.options[30].disabled=false; - - // alert("in ARGO ..."); - // alert(data_string); } else if (data_string == "CCCMA/CANAM4") { - unset_vars1(ID); - x.options[0].selected=true; - disable_pres1(ID); // the selected one is 2D - + disable_pres1(ID); x.options[0].disabled=false; x.options[1].disabled=false; x.options[2].disabled=false; x.options[4].disabled=false; x.options[5].disabled=false; x.options[6].disabled=false; - x.options[13].disabled=false; x.options[14].disabled=false; x.options[15].disabled=false; @@ -977,22 +814,17 @@ x.options[26].disabled=false; x.options[27].disabled=false; x.options[28].disabled=false; - } else if (data_string == "CSIRO/MK3.6") { - unset_vars1(ID); - x.options[0].selected=true; - disable_pres1(ID); // the selected one is 2D - + disable_pres1(ID); x.options[0].disabled=false; x.options[1].disabled=false; x.options[2].disabled=false; x.options[4].disabled=false; x.options[5].disabled=false; x.options[6].disabled=false; - x.options[13].disabled=false; x.options[14].disabled=false; x.options[15].disabled=false; @@ -1011,15 +843,11 @@ x.options[28].disabled=false; x.options[31].disabled=false; x.options[32].disabled=false; - } else if (data_string == "NCAR/CAM5") { - unset_vars1(ID); - x.options[0].selected=true; - disable_pres1(ID); // the selected one is 2D - + disable_pres1(ID); x.options[0].disabled=false; x.options[1].disabled=false; x.options[2].disabled=false; @@ -1029,7 +857,6 @@ x.options[6].disabled=false; x.options[7].disabled=false; x.options[8].disabled=false; - x.options[14].disabled=false; x.options[15].disabled=false; x.options[16].disabled=false; @@ -1047,9 +874,7 @@ x.options[28].disabled=false; x.options[31].disabled=false; x.options[32].disabled=false; - } - else if (data_string == "CCCMA/CANESM2" || data_string == "GFDL/ESM2G" || data_string == "GISS/E2-H" || data_string == "GISS/E2-R" || data_string == "NCC/NORESM" || @@ -1057,12 +882,9 @@ data_string == "GFDL/CM3" || data_string == "IPSL/CM5A-LR" || data_string == "MIROC/MIROC5" || data_string == "UKMO/HadGEM2-A" ) { - unset_vars1(ID); - x.options[0].selected=true; - disable_pres1(ID); // the selected one is 2D - + disable_pres1(ID); x.options[0].disabled=false; x.options[1].disabled=false; x.options[2].disabled=false; @@ -1072,7 +894,6 @@ x.options[6].disabled=false; x.options[7].disabled=false; x.options[8].disabled=false; - x.options[13].disabled=false; x.options[14].disabled=false; x.options[15].disabled=false; @@ -1091,141 +912,77 @@ x.options[28].disabled=false; x.options[31].disabled=false; x.options[32].disabled=false; - } else if (data_string == "ECMWF/interim") { unset_vars1(ID); - x.options[3].selected=true; - disable_pres1(ID); // the selected one is 2D - + disable_pres1(ID); x.options[3].disabled=false; x.options[31].disabled=false; x.options[32].disabled=false; } - - // form variable string select_var1(ID); } - - $(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); - //alert(parameters.getDataUrl()); - window.location.assign(durl); - }); - - + $("#download_data").click(function(event) { + var durl = $("#data_url").val(); + window.location.assign(durl); + }); $("#scatterPlot2V").click(function(event) { - // alert('****** inside scatterPlot2V()!'); 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:9002/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:9002/svc/scatterPlot2V?"; - //var url = "http://" + "einstein.sv.cmu.edu" + ":9002/svc/diffPlot2V?"; - var url = "http://" + window.location.hostname + ":9002/svc/diffPlot2V?"; - // 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 v1 = $("#var1").val(); arglist = arglist.concat("&var1="); arglist = arglist.concat(variable1); - - // alert("arglist: " + arglist); - var pres1 = $("#pres1").val(); 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 v2 = $("#var2").val(); arglist = arglist.concat("&var2="); arglist = arglist.concat(variable2); - - // alert("arglist: " + arglist); - var pres2 = $("#pres2").val(); arglist = arglist.concat("&pres2="); arglist = arglist.concat(pres2); - 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"); @@ -1238,8 +995,6 @@ arglistTB = arglistTB.concat("&var2="); arglistTB = arglistTB.concat(variable2); urlTimeBounds = urlTimeBounds + encodeURI(arglistTB); - // alert("urlTimeBounds: " + urlTimeBounds); - $.ajax({ type: "GET", url: urlTimeBounds, @@ -1247,9 +1002,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; @@ -1258,81 +1011,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."); @@ -1341,15 +1069,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, @@ -1357,325 +1080,278 @@ 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() - <p> -<div id="source1" style = "display:none;">@parameters.getSource1()</div> -<div id="variableName1" style = "display:none;">@parameters.getVaribaleName1()</div> -<div id="pressureLevel1" style = "display:none;">@parameters.getPressureLevel1()</div> -<div id="startYearMonth" style = "display:none;">@parameters.getStartYear()</div> -<div id="startLat"style = "display:none;" >@parameters.getStartLat()</div> -<div id="startLon"style = "display:none;" >@parameters.getStartLon()</div> -<div id="source2" style = "display:none;">@parameters.getSource2()</div> -<div id="variableName2"style = "display:none;" >@parameters.getVaribaleName2()</div> -<div id="pressureLevel2" style = "display:none;">@parameters.getPressureLevel2()</div> -<div id="endYearMonth" style = "display:none;">@parameters.getEndYear()</div> -<div id="endLat" style = "display:none;">@parameters.getEndLat()</div> -<div id="endLon" style = "display:none;">@parameters.getEndLon()</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.getServiceResponse()</div> +} @main("Parameters of ConfId", scripts){ @flash_message() +<p> +<div id="source1" style="display: none;">@parameters.getSource1()</div> +<div id="variableName1" style="display: none;">@parameters.getVaribaleName1()</div> +<div id="pressureLevel1" style="display: none;">@parameters.getPressureLevel1()</div> +<div id="startYearMonth" style="display: none;">@parameters.getStartYear()</div> +<div id="startLat" style="display: none;">@parameters.getStartLat()</div> +<div id="startLon" style="display: none;">@parameters.getStartLon()</div> +<div id="source2" style="display: none;">@parameters.getSource2()</div> +<div id="variableName2" style="display: none;">@parameters.getVaribaleName2()</div> +<div id="pressureLevel2" style="display: none;">@parameters.getPressureLevel2()</div> +<div id="endYearMonth" style="display: none;">@parameters.getEndYear()</div> +<div id="endLat" style="display: none;">@parameters.getEndLat()</div> +<div id="endLon" style="display: none;">@parameters.getEndLon()</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.getServiceResponse()</div> <table border="1"> - -<tr> -<td colspan="4"> -<center> -<b>Service: Difference Plot of Two Time Averaged Variables</b><br><br> -This service calculates the differences between two specified variables and displays the lat-lon maps of the two variables and their differences. <br><br> -</center> -</td> -</tr> - -<tr> -<td colspan="2"> -<center> -data 1 -</center> -</td> - -<td colspan="2"> -<center> -data 2 -</center> -</td> -</tr> - -<tr> -<td>source:</td><td><select name="data1", id="data1" onchange="select_data1(1)"> -<optgroup label="Model: Historical"> -<option>CCCMA/CANESM2</option> -<option>GFDL/ESM2G</option> -<option>GISS/E2-H</option> -<option>GISS/E2-R</option> -<option>NCAR/CAM5</option> -<option>NCC/NORESM</option> -<option>UKMO/HadGEM2-ES</option> -</optgroup> -<optgroup label="Model: AMIP"> -<option>CCCMA/CANAM4</option> -<option>CSIRO/MK3.6</option> -<option>GFDL/CM3</option> -<option>IPSL/CM5A-LR</option> -<option>MIROC/MIROC5</option> -<option>UKMO/HadGEM2-A</option> -</optgroup> -<!-- <option>NASA/obs4MIPs</option> --> -<optgroup label="Observation"> -<option>NASA/MODIS</option> -<option>NASA/AMSRE</option> -<option>NASA/TRMM</option> -<option>NASA/GPCP</option> -<option>NASA/QuikSCAT</option> -<option>NASA/AVISO</option> -<option>NASA/GRACE</option> -<option>NOAA/NODC</option> -<option>NASA/CERES</option> -<option>NASA/AIRS</option> -<option>NASA/MLS</option> -<option>ARGO/ARGO</option> -</optgroup> -<optgroup label="Reanalysis"> -<option>ECMWF/interim</option> -</optgroup> -</select></td> - -<td>source:</td><td><select name="data2", id="data2" onchange="select_data1(2)"> -<optgroup label="Model: Historical"> -<option >CCCMA/CANESM2</option> -<option >GFDL/ESM2G</option> -<option >GISS/E2-H</option> -<option >GISS/E2-R</option> -<option>NCAR/CAM5</option> -<option>NCC/NORESM</option> -<option>UKMO/HadGEM2-ES</option> -</optgroup> -<optgroup label="Model: AMIP"> -<option>CCCMA/CANAM4</option> -<option>CSIRO/MK3.6</option> -<option>GFDL/CM3</option> -<option>IPSL/CM5A-LR</option> -<option>MIROC/MIROC5</option> -<option>UKMO/HadGEM2-A</option> -</optgroup> -<!-- <option>NASA/obs4MIPs</option> --> -<optgroup label="Observation"> -<option>NASA/MODIS</option> -<option>NASA/AMSRE</option> -<option>NASA/TRMM</option> -<option>NASA/GPCP</option> -<option>NASA/QuikSCAT</option> -<option>NASA/AVISO</option> -<option>NASA/GRACE</option> -<option>NOAA/NODC</option> -<option>NASA/CERES</option> -<option>NASA/AIRS</option> -<option>NASA/MLS</option> -<option>ARGO/ARGO</option> -</optgroup> -<optgroup label="Reanalysis"> -<option>ECMWF/interim</option> -</optgroup> -</select></td> - -</tr> - -<tr> - -<td>variable name:</td><td><select name="var1", id="var1" onchange="select_var1(1)"> -<option>Precipitation Flux</option> -<option>Total Cloud Fraction</option> -<option>Surface Temperature</option> -<option>Sea Surface Temperature</option> -<option>Eastward Near-Surface Wind</option> -<option>Northward Near-Surface Wind</option> -<option>Near-Surface Wind Speed</option> -<option>Sea Surface Height</option> -<option>Leaf Area Index</option> -<option>Equivalent Water Height Over Land</option> -<option>Equivalent Water Height Over Ocean</option> -<option>Ocean Heat Content Anomaly within 700 m Depth</option> -<option>Ocean Heat Content Anomaly within 2000 m Depth</option> -<option>Surface Downwelling Longwave Radiation</option> -<option>Surface Downwelling Shortwave Radiation</option> -<option>Surface Upwelling Longwave Radiation</option> -<option>Surface Upwelling Shortwave Radiation</option> -<option>Surface Downwelling Clear-Sky Longwave Radiation</option> -<option>Surface Downwelling Clear-Sky Shortwave Radiation</option> -<option>Surface Upwelling Clear-Sky Shortwave Radiation</option> -<option>TOA Incident Shortwave Radiation</option> -<option>TOA Outgoing Longwave Radiation</option> -<option>TOA Outgoing Shortwave Radiation</option> -<option>TOA Outgoing Clear-Sky Longwave Radiation</option> -<option>TOA Outgoing Clear-Sky Shortwave Radiation</option> -<option>Air Temperature</option> -<option>Specific Humidity</option> -<option>Cloud Ice Water Content</option> -<option>Cloud Liquid Water Content</option> -<option>Ocean Temperature</option> -<option>Ocean Salinity</option> -<option>Vertical Wind Velocity</option> -<option>Relative Humidity</option> -</select> -</td> - - -<td>variable name:</td><td><select name="var2", id="var2" onchange="select_var1(2)"> -<option>Precipitation Flux</option> -<option>Total Cloud Fraction</option> -<option>Surface Temperature</option> -<option>Sea Surface Temperature</option> -<option>Eastward Near-Surface Wind</option> -<option>Northward Near-Surface Wind</option> -<option>Near-Surface Wind Speed</option> -<option>Sea Surface Height</option> -<option>Leaf Area Index</option> -<option>Equivalent Water Height Over Land</option> -<option>Equivalent Water Height Over Ocean</option> -<option>Ocean Heat Content Anomaly within 700 m Depth</option> -<option>Ocean Heat Content Anomaly within 2000 m Depth</option> -<option>Surface Downwelling Longwave Radiation</option> -<option>Surface Downwelling Shortwave Radiation</option> -<option>Surface Upwelling Longwave Radiation</option> -<option>Surface Upwelling Shortwave Radiation</option> -<option>Surface Downwelling Clear-Sky Longwave Radiation</option> -<option>Surface Downwelling Clear-Sky Shortwave Radiation</option> -<option>Surface Upwelling Clear-Sky Shortwave Radiation</option> -<option>TOA Incident Shortwave Radiation</option> -<option>TOA Outgoing Longwave Radiation</option> -<option>TOA Outgoing Shortwave Radiation</option> -<option>TOA Outgoing Clear-Sky Longwave Radiation</option> -<option>TOA Outgoing Clear-Sky Shortwave Radiation</option> -<option>Air Temperature</option> -<option>Specific Humidity</option> -<option>Cloud Ice Water Content</option> -<option>Cloud Liquid Water Content</option> -<option>Ocean Temperature</option> -<option>Ocean Salinity</option> -<option>Vertical Wind Velocity</option> -<option>Relative Humidity</option> -</select> -</td> - -</tr> - -<tr> - -<td> -atmosphere pressure level (hPa) <br> or ocean pressure level (dbar) -</td> -<td> -<input id="pres1" value="500" alt="pressure"/> -</td> - -<td> -atmosphere pressure level (hPa) <br> or ocean pressure level (dbar) -</td> -<td> -<input id="pres2" value="500" alt="pressure"/> -</td> - -</tr> - -<tr> -</tr> - -<tr> -<td>start year-month:</td><td><input id="t0" value=@parameters.getStartYear() alt="start"/></td> -<td>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 colspan="1"> -Execution purpose -</td> -<td colspan="3"> -<form> -<textarea name="purpose" id="purpose" rows="4" cols="50"> </textarea> -</form> -</td> -</tr> - -<tr> -<td colspan="2" align="center"><input id="scatterPlot2V" 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">Image Here</div> -</td> -</tr> - -<tr> -<td colspan="4" align="center"> -<textarea readonly id="data_url" cols="89" rows="2">Data URL Here</textarea> -</td> -</tr> - -<tr> -<td colspan="4" align="center"> -<textarea id="Response" cols="89" rows="6">Service Response Text Here</textarea> -</td> -</tr> - + <tr> + <td colspan="4"> + <center> + <b>Service: Difference Plot of Two Time Averaged Variables</b><br> + <br> This service calculates the differences between two + specified variables and displays the lat-lon maps of the two + variables and their differences. <br> + <br> + </center> + </td> + </tr> + <tr> + <td colspan="2"> + <center>data 1</center> + </td> + <td colspan="2"> + <center>data 2</center> + </td> + </tr> + <tr> + <td>source:</td> + <td><select name="data1" , id="data1" onchange="select_data1(1)"> + <optgroup label="Model: Historical"> + <option>CCCMA/CANESM2</option> + <option>GFDL/ESM2G</option> + <option>GISS/E2-H</option> + <option>GISS/E2-R</option> + <option>NCAR/CAM5</option> + <option>NCC/NORESM</option> + <option>UKMO/HadGEM2-ES</option> + </optgroup> + <optgroup label="Model: AMIP"> + <option>CCCMA/CANAM4</option> + <option>CSIRO/MK3.6</option> + <option>GFDL/CM3</option> + <option>IPSL/CM5A-LR</option> + <option>MIROC/MIROC5</option> + <option>UKMO/HadGEM2-A</option> + </optgroup> + <optgroup label="Observation"> + <option>NASA/MODIS</option> + <option>NASA/AMSRE</option> + <option>NASA/TRMM</option> + <option>NASA/GPCP</option> + <option>NASA/QuikSCAT</option> + <option>NASA/AVISO</option> + <option>NASA/GRACE</option> + <option>NOAA/NODC</option> + <option>NASA/CERES</option> + <option>NASA/AIRS</option> + <option>NASA/MLS</option> + <option>ARGO/ARGO</option> + </optgroup> + <optgroup label="Reanalysis"> + <option>ECMWF/interim</option> + </optgroup> + </select></td> + <td>source:</td> + <td><select name="data2" , id="data2" onchange="select_data1(2)"> + <optgroup label="Model: Historical"> + <option>CCCMA/CANESM2</option> + <option>GFDL/ESM2G</option> + <option>GISS/E2-H</option> + <option>GISS/E2-R</option> + <option>NCAR/CAM5</option> + <option>NCC/NORESM</option> + <option>UKMO/HadGEM2-ES</option> + </optgroup> + <optgroup label="Model: AMIP"> + <option>CCCMA/CANAM4</option> + <option>CSIRO/MK3.6</option> + <option>GFDL/CM3</option> + <option>IPSL/CM5A-LR</option> + <option>MIROC/MIROC5</option> + <option>UKMO/HadGEM2-A</option> + </optgroup> + <optgroup label="Observation"> + <option>NASA/MODIS</option> + <option>NASA/AMSRE</option> + <option>NASA/TRMM</option> + <option>NASA/GPCP</option> + <option>NASA/QuikSCAT</option> + <option>NASA/AVISO</option> + <option>NASA/GRACE</option> + <option>NOAA/NODC</option> + <option>NASA/CERES</option> + <option>NASA/AIRS</option> + <option>NASA/MLS</option> + <option>ARGO/ARGO</option> + </optgroup> + <optgroup label="Reanalysis"> + <option>ECMWF/interim</option> + </optgroup> + </select></td> + </tr> + <tr> + <td>variable name:</td> + <td><select name="var1" , id="var1" onchange="select_var1(1)"> + <option>Precipitation Flux</option> + <option>Total Cloud Fraction</option> + <option>Surface Temperature</option> + <option>Sea Surface Temperature</option> + <option>Eastward Near-Surface Wind</option> + <option>Northward Near-Surface Wind</option> + <option>Near-Surface Wind Speed</option> + <option>Sea Surface Height</option> + <option>Leaf Area Index</option> + <option>Equivalent Water Height Over Land</option> + <option>Equivalent Water Height Over Ocean</option> + <option>Ocean Heat Content Anomaly within 700 m Depth</option> + <option>Ocean Heat Content Anomaly within 2000 m Depth</option> + <option>Surface Downwelling Longwave Radiation</option> + <option>Surface Downwelling Shortwave Radiation</option> + <option>Surface Upwelling Longwave Radiation</option> + <option>Surface Upwelling Shortwave Radiation</option> + <option>Surface Downwelling Clear-Sky Longwave Radiation</option> + <option>Surface Downwelling Clear-Sky Shortwave Radiation</option> + <option>Surface Upwelling Clear-Sky Shortwave Radiation</option> + <option>TOA Incident Shortwave Radiation</option> + <option>TOA Outgoing Longwave Radiation</option> + <option>TOA Outgoing Shortwave Radiation</option> + <option>TOA Outgoing Clear-Sky Longwave Radiation</option> + <option>TOA Outgoing Clear-Sky Shortwave Radiation</option> + <option>Air Temperature</option> + <option>Specific Humidity</option> + <option>Cloud Ice Water Content</option> + <option>Cloud Liquid Water Content</option> + <option>Ocean Temperature</option> + <option>Ocean Salinity</option> + <option>Vertical Wind Velocity</option> + <option>Relative Humidity</option> + </select></td> + <td>variable name:</td> + <td><select name="var2" , id="var2" onchange="select_var1(2)"> + <option>Precipitation Flux</option> + <option>Total Cloud Fraction</option> + <option>Surface Temperature</option> + <option>Sea Surface Temperature</option> + <option>Eastward Near-Surface Wind</option> + <option>Northward Near-Surface Wind</option> + <option>Near-Surface Wind Speed</option> + <option>Sea Surface Height</option> + <option>Leaf Area Index</option> + <option>Equivalent Water Height Over Land</option> + <option>Equivalent Water Height Over Ocean</option> + <option>Ocean Heat Content Anomaly within 700 m Depth</option> + <option>Ocean Heat Content Anomaly within 2000 m Depth</option> + <option>Surface Downwelling Longwave Radiation</option> + <option>Surface Downwelling Shortwave Radiation</option> + <option>Surface Upwelling Longwave Radiation</option> + <option>Surface Upwelling Shortwave Radiation</option> + <option>Surface Downwelling Clear-Sky Longwave Radiation</option> + <option>Surface Downwelling Clear-Sky Shortwave Radiation</option> + <option>Surface Upwelling Clear-Sky Shortwave Radiation</option> + <option>TOA Incident Shortwave Radiation</option> + <option>TOA Outgoing Longwave Radiation</option> + <option>TOA Outgoing Shortwave Radiation</option> + <option>TOA Outgoing Clear-Sky Longwave Radiation</option> + <option>TOA Outgoing Clear-Sky Shortwave Radiation</option> + <option>Air Temperature</option> + <option>Specific Humidity</option> + <option>Cloud Ice Water Content</option> + <option>Cloud Liquid Water Content</option> + <option>Ocean Temperature</option> + <option>Ocean Salinity</option> + <option>Vertical Wind Velocity</option> + <option>Relative Humidity</option> + </select></td> + </tr> + <tr> + <td>atmosphere pressure level (hPa) <br> or ocean pressure + level (dbar) + </td> + <td><input id="pres1" value="500" alt="pressure" /></td> + <td>atmosphere pressure level (hPa) <br> or ocean pressure + level (dbar) + </td> + <td><input id="pres2" value="500" alt="pressure" /></td> + </tr> + <tr> + </tr> + <tr> + <td>start year-month:</td> + <td><input id="t0" value=@parameters.getStartYear() alt="start" /></td> + <td>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 colspan="1">Execution purpose</td> + <td colspan="3"> + <form> + <textarea name="purpose" id="purpose" rows="4" cols="50"> </textarea> + </form> + </td> + </tr> + <tr> + <td colspan="2" align="center"><input id="scatterPlot2V" + 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">Image Here</div> + </td> + </tr> + <tr> + <td colspan="4" align="center"><textarea readonly id="data_url" + cols="89" rows="2">Data URL Here</textarea></td> + </tr> + <tr> + <td colspan="4" align="center"><textarea id="Response" cols="89" + rows="6">Service Response Text Here</textarea></td> + </tr> </table> -} \ No newline at end of file +}