http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/37774c92/.target/views/climate/searchDataSet.scala.html ---------------------------------------------------------------------- diff --git a/.target/views/climate/searchDataSet.scala.html b/.target/views/climate/searchDataSet.scala.html new file mode 100644 index 0000000..68f260a --- /dev/null +++ b/.target/views/climate/searchDataSet.scala.html @@ -0,0 +1,544 @@ +@******************************************************************************* + * Licensed to the Apache Software Foundation (ASF) under one or more * + * contributor license agreements. See the NOTICE file distributed with * + * this work for additional information regarding copyright ownership. * + * The ASF licenses this file to You under the Apache License, Version 2.0 * + * (the "License"); you may not use this file except in compliance with * + * the License. You may obtain a copy of the License at * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, software * + * distributed under the License is distributed on an "AS IS" BASIS, * + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * + * See the License for the specific language governing permissions and * + * limitations under the License. * + *******************************************************************************@ + +@(dataSetForm: play.data.Form[DataSet]) + +@import helper._ + +@scripts = { + <script src='@routes.Assets.at("javascripts/edit_button.js")'></script> + <link rel="stylesheet" href="//code.jquery.com/ui/1.11.3/themes/smoothness/jquery-ui.css"> + <script src="//code.jquery.com/jquery-1.10.2.js"></script> + <script src="//code.jquery.com/ui/1.11.3/jquery-ui.js"></script> + <script type="text/javascript"> + $(function() { + var availableDataSetNames = [ + "AIRS Air Temperature", + "AIRS Near-Surface Air Temperature", + "AIRS Specific Humidity", + "AMSRE Sea Surface Temperature", + "ARGO Ocean Salinity", + "ARGO Ocean Temperature", + "AVISO Sea Surface Height", + "CAM5 Air Temperature", + "CAM5 Cloud Ice Water Content", + "CAM5 Cloud Liquid Water Content", + "CAM5 Leaf Area Index", + "CAM5 Near-Surface Wind Speed", + "CAM5 Precipitation Flux", + "CAM5 Relative Humidity", + "CAM5 Sea Surface Height", + "CAM5 Sea Surface Temperature", + "CAM5 Specific Humidity", + "CAM5 Surface Downwelling Clear-Sky Shortwave Radiation", + "CAM5 Surface Downwelling Longwave Radiation", + "CAM5 Surface Downwelling Shortwave Radiation", + "CAM5 Surface Temperature", + "CAM5 Surface Upwelling Clear-Sky Shortwave Radiation", + "CAM5 Surface Upwelling Longwave Radiation", + "CAM5 Surface Upwelling Shortwave Radiation", + "CAM5 TOA Incident Shortwave Radiation", + "CAM5 TOA Outgoing Clear-Sky Longwave Radiation", + "CAM5 TOA Outgoing Clear-Sky Shortwave Radiation", + "CAM5 TOA Outgoing Longwave Radiation", + "CAM5 TOA Outgoing Shortwave Radiation", + "CAM5 Total Cloud Fraction", + "CAM5 Vertical Wind Velocity", + "CANAM4 Air Temperature", + "CANAM4 Cloud Ice Water Content", + "CANAM4 Cloud Liquid Water Content", + "CANAM4 Eastward Near-Surface Wind", + "CANAM4 Near-Surface Air Temperature", + "CANAM4 Near-Surface Relative Humidity", + "CANAM4 Near-Surface Wind Speed", + "CANAM4 Northward Near-Surface Wind", + "CANAM4 Precipitation Flux", + "CANAM4 Relative Humidity", + "CANAM4 Specific Humidity", + "CANAM4 Surface Downwelling Clear-Sky Longwave Radiation", + "CANAM4 Surface Downwelling Clear-Sky Shortwave Radiation", + "CANAM4 Surface Downwelling Longwave Radiation", + "CANAM4 Surface Downwelling Shortwave Radiation", + "CANAM4 Surface Temperature", + "CANAM4 Surface Upwelling Clear-Sky Shortwave Radiation", + "CANAM4 Surface Upwelling Longwave Radiation", + "CANAM4 Surface Upwelling Shortwave Radiation", + "CANAM4 TOA Incident Shortwave Radiation", + "CANAM4 TOA Outgoing Clear-Sky Longwave Radiation", + "CANAM4 TOA Outgoing Clear-Sky Shortwave Radiation", + "CANAM4 TOA Outgoing Longwave Radiation", + "CANAM4 TOA Outgoing Shortwave Radiation", + "CANAM4 Total Cloud Fraction", + "CANAM4 Vertical Wind Velocity", + "CERES Surface Downwelling Clear-Sky Longwave Radiation", + "CERES Surface Downwelling Clear-Sky Shortwave Radiation", + "CERES Surface Downwelling Longwave Radiation", + "CERES Surface Downwelling Shortwave Radiation", + "CERES Surface Upwelling Clear-Sky Shortwave Radiation", + "CERES Surface Upwelling Longwave Radiation", + "CERES Surface Upwelling Shortwave Radiation", + "CERES TOA Incident Shortwave Radiation", + "CERES TOA Outgoing Clear-Sky Longwave Radiation", + "CERES TOA Outgoing Clear-Sky Shortwave Radiation", + "CERES TOA Outgoing Longwave Radiation", + "CERES TOA Outgoing Shortwave Radiation", + "CM3 Air Temperature", + "CM3 Cloud Ice Water Content", + "CM3 Cloud Liquid Water Content", + "CM3 Eastward Near-Surface Wind", + "CM3 Near-Surface Wind Speed", + "CM3 Northward Near-Surface Wind", + "CM3 Precipitation Flux", + "CM3 Relative Humidity", + "CM3 Specific Humidity", + "CM3 Surface Downwelling Clear-Sky Longwave Radiation", + "CM3 Surface Downwelling Clear-Sky Shortwave Radiation", + "CM3 Surface Downwelling Longwave Radiation", + "CM3 Surface Downwelling Shortwave Radiation", + "CM3 Surface Temperature", + "CM3 Surface Upwelling Clear-Sky Shortwave Radiation", + "CM3 Surface Upwelling Longwave Radiation", + "CM3 Surface Upwelling Shortwave Radiation", + "CM3 TOA Incident Shortwave Radiation", + "CM3 TOA Outgoing Clear-Sky Longwave Radiation", + "CM3 TOA Outgoing Clear-Sky Shortwave Radiation", + "CM3 TOA Outgoing Longwave Radiation", + "CM3 TOA Outgoing Shortwave Radiation", + "CM3 Total Cloud Fraction", + "CM3 Vertical Wind Velocity", + "CM5A-LR Air Temperature", + "CM5A-LR Cloud Ice Water Content", + "CM5A-LR Cloud Liquid Water Content", + "CM5A-LR Eastward Near-Surface Wind", + "CM5A-LR Leaf Area Index", + "CM5A-LR Near-Surface Wind Speed", + "CM5A-LR Northward Near-Surface Wind", + "CM5A-LR Precipitation Flux", + "CM5A-LR Specific Humidity", + "CM5A-LR Surface Downwelling Clear-Sky Longwave Radiation", + "CM5A-LR Surface Downwelling Clear-Sky Shortwave Radiation", + "CM5A-LR Surface Downwelling Longwave Radiation", + "CM5A-LR Surface Downwelling Shortwave Radiation", + "CM5A-LR Surface Temperature", + "CM5A-LR Surface Upwelling Clear-Sky Shortwave Radiation", + "CM5A-LR Surface Upwelling Longwave Radiation", + "CM5A-LR Surface Upwelling Shortwave Radiation", + "CM5A-LR TOA Incident Shortwave Radiation", + "CM5A-LR TOA Outgoing Clear-Sky Longwave Radiation", + "CM5A-LR TOA Outgoing Clear-Sky Shortwave Radiation", + "CM5A-LR TOA Outgoing Longwave Radiation", + "CM5A-LR TOA Outgoing Shortwave Radiation", + "CM5A-LR Total Cloud Fraction", + "E2-H Air Temperature", + "E2-H Cloud Ice Water Content", + "E2-H Cloud Liquid Water Content", + "E2-H Eastward Near-Surface Wind", + "E2-H Near-Surface Wind Speed", + "E2-H Northward Near-Surface Wind", + "E2-H Precipitation Flux", + "E2-H Relative Humidity", + "E2-H Sea Surface Temperature", + "E2-H Specific Humidity", + "E2-H Surface Downwelling Clear-Sky Longwave Radiation", + "E2-H Surface Downwelling Clear-Sky Shortwave Radiation", + "E2-H Surface Downwelling Longwave Radiation", + "E2-H Surface Downwelling Shortwave Radiation", + "E2-H Surface Temperature", + "E2-H Surface Upwelling Clear-Sky Shortwave Radiation", + "E2-H Surface Upwelling Longwave Radiation", + "E2-H Surface Upwelling Shortwave Radiation", + "E2-H TOA Incident Shortwave Radiation", + "E2-H TOA Outgoing Clear-Sky Longwave Radiation", + "E2-H TOA Outgoing Clear-Sky Shortwave Radiation", + "E2-H TOA Outgoing Longwave Radiation", + "E2-H TOA Outgoing Shortwave Radiation", + "E2-H Total Cloud Fraction", + "E2-H Vertical Wind Velocity", + "E2-R Air Temperature", + "E2-R Cloud Ice Water Content", + "E2-R Cloud Liquid Water Content", + "E2-R Eastward Near-Surface Wind", + "E2-R Near-Surface Wind Speed", + "E2-R Northward Near-Surface Wind", + "E2-R Precipitation Flux", + "E2-R Relative Humidity", + "E2-R Sea Surface Height", + "E2-R Sea Surface Temperature", + "E2-R Specific Humidity", + "E2-R Surface Downwelling Clear-Sky Longwave Radiation", + "E2-R Surface Downwelling Clear-Sky Shortwave Radiation", + "E2-R Surface Downwelling Shortwave Radiation", + "E2-R Surface Temperature", + "E2-R Surface Upwelling Clear-Sky Shortwave Radiation", + "E2-R Surface Upwelling Longwave Radiation", + "E2-R Surface Upwelling Shortwave Radiation", + "E2-R TOA Incident Shortwave Radiation", + "E2-R TOA Outgoing Clear-Sky Longwave Radiation", + "E2-R TOA Outgoing Clear-Sky Shortwave Radiation", + "E2-R TOA Outgoing Longwave Radiation", + "E2-R TOA Outgoing Shortwave Radiation", + "E2-R Total Cloud Fraction", + "E2-R Vertical Wind Velocity", + "ESM2G Air Temperature", + "ESM2G Cloud Ice Water Content", + "ESM2G Cloud Liquid Water Content", + "ESM2G Eastward Near-Surface Wind", + "ESM2G Leaf Area Index", + "ESM2G Near-Surface Wind Speed", + "ESM2G Northward Near-Surface Wind", + "ESM2G Precipitation Flux", + "ESM2G Relative Humidity", + "ESM2G Sea Surface Height", + "ESM2G Sea Surface Temperature", + "ESM2G Specific Humidity", + "ESM2G Surface Downwelling Clear-Sky Longwave Radiation", + "ESM2G Surface Downwelling Longwave Radiation", + "ESM2G Surface Temperature", + "ESM2G Surface Upwelling Longwave Radiation", + "ESM2G TOA Incident Shortwave Radiation", + "ESM2G TOA Outgoing Clear-Sky Longwave Radiation", + "ESM2G TOA Outgoing Clear-Sky Shortwave Radiation", + "ESM2G TOA Outgoing Longwave Radiation", + "ESM2G TOA Outgoing Shortwave Radiation", + "ESM2G Total Cloud Fraction", + "ESM2G Vertical Wind Velocity", + "GPCP Precipitation Flux", + "GRACE Equivalent Water Height Over Land", + "GRACE Equivalent Water Height Over Ocean", + "HadGEM2-A Air Temperature", + "HadGEM2-A Cloud Ice Water Content", + "HadGEM2-A Cloud Liquid Water Content", + "HadGEM2-A Eastward Near-Surface Wind", + "HadGEM2-A Near-Surface Relative Humidity", + "HadGEM2-A Near-Surface Wind Speed", + "HadGEM2-A Northward Near-Surface Wind", + "HadGEM2-A Precipitation Flux", + "HadGEM2-A Relative Humidity", + "HadGEM2-A Specific Humidity", + "HadGEM2-A Surface Downwelling Clear-Sky Longwave Radiation", + "HadGEM2-A Surface Downwelling Clear-Sky Shortwave Radiation", + "HadGEM2-A Surface Downwelling Longwave Radiation", + "HadGEM2-A Surface Downwelling Shortwave Radiation", + "HadGEM2-A Surface Temperature", + "HadGEM2-A Surface Upwelling Clear-Sky Shortwave Radiation", + "HadGEM2-A Surface Upwelling Longwave Radiation", + "HadGEM2-A Surface Upwelling Shortwave Radiation", + "HadGEM2-A TOA Incident Shortwave Radiation", + "HadGEM2-A TOA Outgoing Clear-Sky Longwave Radiation", + "HadGEM2-A TOA Outgoing Clear-Sky Shortwave Radiation", + "HadGEM2-A TOA Outgoing Longwave Radiation", + "HadGEM2-A TOA Outgoing Shortwave Radiation", + "HadGEM2-A Total Cloud Fraction", + "HadGEM2-A Vertical Wind Velocity", + "HadGEM2-ES Air Temperature", + "HadGEM2-ES Cloud Ice Water Content", + "HadGEM2-ES Cloud Liquid Water Content", + "HadGEM2-ES Eastward Near-Surface Wind", + "HadGEM2-ES Leaf Area Index", + "HadGEM2-ES Near-Surface Wind Speed", + "HadGEM2-ES Northward Near-Surface Wind", + "HadGEM2-ES Precipitation Flux", + "HadGEM2-ES Relative Humidity", + "HadGEM2-ES Sea Surface Height", + "HadGEM2-ES Sea Surface Temperature", + "HadGEM2-ES Specific Humidity", + "HadGEM2-ES Surface Downwelling Clear-Sky Longwave Radiation", + "HadGEM2-ES Surface Downwelling Clear-Sky Shortwave Radiation", + "HadGEM2-ES Surface Downwelling Longwave Radiation", + "HadGEM2-ES Surface Downwelling Shortwave Radiation", + "HadGEM2-ES Surface Temperature", + "HadGEM2-ES Surface Upwelling Clear-Sky Shortwave Radiation", + "HadGEM2-ES Surface Upwelling Longwave Radiation", + "HadGEM2-ES Surface Upwelling Shortwave Radiation", + "HadGEM2-ES TOA Incident Shortwave Radiation", + "HadGEM2-ES TOA Outgoing Clear-Sky Longwave Radiation", + "HadGEM2-ES TOA Outgoing Clear-Sky Shortwave Radiation", + "HadGEM2-ES TOA Outgoing Longwave Radiation", + "HadGEM2-ES TOA Outgoing Shortwave Radiation", + "HadGEM2-ES Total Cloud Fraction", + "HadGEM2-ES Vertical Wind Velocity", + "MIROC5 Air Temperature", "MIROC5 Cloud Ice Water Content", + "MIROC5 Cloud Liquid Water Content", + "MIROC5 Eastward Near-Surface Wind", + "MIROC5 Leaf Area Index", "MIROC5 Near-Surface Wind Speed", + "MIROC5 Northward Near-Surface Wind", + "MIROC5 Precipitation Flux", "MIROC5 Relative Humidity", + "MIROC5 Specific Humidity", + "MIROC5 Surface Downwelling Clear-Sky Longwave Radiation", + "MIROC5 Surface Downwelling Clear-Sky Shortwave Radiation", + "MIROC5 Surface Downwelling Longwave Radiation", + "MIROC5 Surface Downwelling Shortwave Radiation", + "MIROC5 Surface Temperature", + "MIROC5 Surface Upwelling Clear-Sky Shortwave Radiation", + "MIROC5 Surface Upwelling Longwave Radiation", + "MIROC5 Surface Upwelling Shortwave Radiation", + "MIROC5 TOA Incident Shortwave Radiation", + "MIROC5 TOA Outgoing Clear-Sky Longwave Radiation", + "MIROC5 TOA Outgoing Clear-Sky Shortwave Radiation", + "MIROC5 TOA Outgoing Longwave Radiation", + "MIROC5 TOA Outgoing Shortwave Radiation", + "MIROC5 Total Cloud Fraction", + "MIROC5 Vertical Wind Velocity", "MK3.6 Air Temperature", + "MK3.6 Cloud Ice Water Content", + "MK3.6 Cloud Liquid Water Content", + "MK3.6 Eastward Near-Surface Wind", + "MK3.6 Near-Surface Wind Speed", + "MK3.6 Northward Near-Surface Wind", + "MK3.6 Precipitation Flux", "MK3.6 Relative Humidity", + "MK3.6 Specific Humidity", + "MK3.6 Surface Downwelling Clear-Sky Longwave Radiation", + "MK3.6 Surface Downwelling Clear-Sky Shortwave Radiation", + "MK3.6 Surface Downwelling Longwave Radiation", + "MK3.6 Surface Downwelling Shortwave Radiation", + "MK3.6 Surface Temperature", + "MK3.6 Surface Upwelling Clear-Sky Shortwave Radiation", + "MK3.6 Surface Upwelling Longwave Radiation", + "MK3.6 Surface Upwelling Shortwave Radiation", + "MK3.6 TOA Incident Shortwave Radiation", + "MK3.6 TOA Outgoing Clear-Sky Longwave Radiation", + "MK3.6 TOA Outgoing Clear-Sky Shortwave Radiation", + "MK3.6 TOA Outgoing Longwave Radiation", + "MK3.6 TOA Outgoing Shortwave Radiation", + "MK3.6 Total Cloud Fraction", + "MK3.6 Vertical Wind Velocity", "MLS Air Temperature", + "MLS Specific Humidity", "MODIS Leaf Area Index", + "MODIS Total Cloud Fraction", + "NODC Ocean Heat Content Anomaly within 2000 m Depth", + "NODC Ocean Heat Content Anomaly within 700 m Depth", + "NORESM Air Temperature", "NORESM Cloud Ice Water Content", + "NORESM Cloud Liquid Water Content", + "NORESM Eastward Near-Surface Wind", + "NORESM Leaf Area Index", + "NORESM Northward Near-Surface Wind", + "NORESM Precipitation Flux", "NORESM Relative Humidity", + "NORESM Sea Surface Height", + "NORESM Sea Surface Temperature", + "NORESM Specific Humidity", + "NORESM Surface Downwelling Clear-Sky Longwave Radiation", + "NORESM Surface Downwelling Clear-Sky Shortwave Radiation", + "NORESM Surface Downwelling Longwave Radiation", + "NORESM Surface Downwelling Shortwave Radiation", + "NORESM Surface Temperature", + "NORESM Surface Upwelling Clear-Sky Shortwave Radiation", + "NORESM Surface Upwelling Longwave Radiation", + "NORESM Surface Upwelling Shortwave Radiation", + "NORESM TOA Incident Shortwave Radiation", + "NORESM TOA Outgoing Clear-Sky Longwave Radiation", + "NORESM TOA Outgoing Clear-Sky Shortwave Radiation", + "NORESM TOA Outgoing Longwave Radiation", + "NORESM TOA Outgoing Shortwave Radiation", + "NORESM Total Cloud Fraction", + "NORESM Vertical Wind Velocity", + "QuikSCAT Eastward Near-Surface Wind", + "QuikSCAT Near-Surface Wind Speed", + "QuikSCAT Northward Near-Surface Wind", + "TRMM Precipitation Flux", + "interim Eastward Near-Surface Wind", + "interim Near-Surface Wind Speed", + "interim Northward Near-Surface Wind", + "interim Relative Humidity", + "interim Sea Surface Temperature", + "interim Total Cloud Fraction", + "interim Vertical Wind Velocity" ]; + + var availableAgency = [ "ARGO", "CCCMA", "CSIRO", "ECMWF", + "Flux,kg", "GFDL", "GFDL", "GISS", "IPSL", "MIROC", "NASA", + "NASA", "NCAR", "NCC", "NOAA", "UKMO", "UKMO" ]; + + var availableInstruments = [ "AIRS", "AMSRE", "ARGO", "AVISO", + "CAM5", "CANAM4", "CERES", "CM3", "CM5A-LR", "E2-H", + "E2-R", "ESM2G", "GPCP", "GRACE", "HadGEM2-A", + "HadGEM2-ES", "MIROC5", "MK3.6", "MLS", "MODIS", "NODC", + "NORESM", "QuikSCAT", "TRMM", "interim" ]; + + var availablePhysicalVariable = [ "Air Temperature", + "Cloud Ice Water Content", "Cloud Liquid Water Content", + "Eastward Near-Surface Wind", + "Equivalent Water Height Over Land", + "Equivalent Water Height Over Ocean", "Leaf Area Index", + "Near-Surface Air Temperature", + "Near-Surface Relative Humidity", + "Near-Surface Wind Speed", "Northward Near-Surface Wind", + "Ocean Heat Content Anomaly within 2000 m Depth", + "Ocean Heat Content Anomaly within 700 m Depth", + "Ocean Salinity", "Ocean Temperature", + "Precipitation Flux", "Precipitation", "Relative Humidity", + "Sea Surface Height", "Sea Surface Temperature", + "Specific Humidity", + "Surface Downwelling Clear-Sky Longwave Radiation", + "Surface Downwelling Clear-Sky Shortwave Radiation", + "Surface Downwelling Longwave Radiation", + "Surface Downwelling Shortwave Radiation", + "Surface Temperature", + "Surface Upwelling Clear-Sky Shortwave Radiation", + "Surface Upwelling Longwave Radiation", + "Surface Upwelling Shortwave Radiation", + "TOA Incident Shortwave Radiation", + "TOA Outgoing Clear-Sky Longwave Radiation", + "TOA Outgoing Clear-Sky Shortwave Radiation", + "TOA Outgoing Longwave Radiation", + "TOA Outgoing Shortwave Radiation", "Total Cloud Fraction", + "Vertical Wind Velocity" ]; + var availableGridDimension = [ "2D", "3D" ]; + $("#dataSetName").autocomplete({ + source : availableDataSetNames + }); + $("#agency").autocomplete({ + source : availableAgency + }); + $("#instrument").autocomplete({ + source : availableInstruments + }); + $("#physicalVariable").autocomplete({ + source : availablePhysicalVariable + }); + $("#gridDimension").autocomplete({ + source : availableGridDimension + }); + }); + + $(document) + .ready( + function() { + $("#preview") + .click( + function() { + var target = document + .getElementById("show"); + if (target.style.display == "none") { + target.style.display = "block"; + $("#preview").text("Hide"); + var dataSetName = $( + "#dataSetName") + .val(); + var agency = $("#agency") + .val(); + var instrument = $( + "#instrument") + .val(); + var physicalVariable = $( + "#physicalVariable") + .val(); + var gridDimension = $( + "#gridDimension") + .val(); + var dataSetStartTime = $( + "#dataSetStartTime") + .val(); + var dataSetEndTime = $( + "#dataSetEndTime") + .val(); + + if (dataSetName != "") { + $("#content") + .append( + " Dataset Name = " + + dataSetName); + } + if (agency != "" + && agency != null) { + $("#content") + .append( + " Agency = " + + agency); + } + if (instrument != "" + && instrument != null) { + $("#content") + .append( + " Instrument = " + + instrument); + } + if (physicalVariable != "" + && physicalVariable != null) { + $("#content") + .append( + " Physical Variable = " + + physicalVariable); + } + if (gridDimension != "" + && gridDimension != null) { + $("#content") + .append( + " Grid Dimension = " + + gridDimension); + } + if (dataSetStartTime != "" + && dataSetStartTime != null) { + $("#content") + .append( + " Dataset Start Time = " + + dataSetStartTime); + } + if (dataSetEndTime != "" + && dataSetEndTime != null) { + $("#content") + .append( + " Dataset End Time = " + + dataSetEndTime); + } + + } else { + $("#content").val(''); + target.style.display = "none"; + $("#preview").text( + "Preview"); + } + }); + }); + </script> +} + +@main("Search Dataset", scripts){ + + @flash_message() + + <h1 style="margin-left:490px">Search Dataset</h1> + @helper.form(routes.DatasetController.getSearchResult()) { + <div class="ui-widget col-sm-offset-3 col-sm-7"> + <div class = "form-group"> + @inputText(dataSetForm("Dataset Name"), 'class -> "form-control", 'id -> "dataSetName", '_label -> Messages("Dataset Name"), 'placeholder -> "ARGO Ocean Temperature", 'size->70) + </div> + <div class = "form-group"> + @inputText(dataSetForm("Agency"), 'class -> "form-control", 'id -> "agency", '_label -> Messages("Agency"), 'placeholder -> "NOAA", 'size->70) + </div> + <div class = "form-group"> + @inputText(dataSetForm("Instrument"), 'class -> "form-control", 'id -> "instrument", '_label -> Messages("Instrument"), 'placeholder -> "ARGO", 'size->70) + </div> + <div class = "form-group"> + @inputText(dataSetForm("Physical Variable"), 'class -> "form-control", 'id -> "physicalVariable", '_label -> Messages("Physical Variable"), 'placeholder -> "Ocean temperature", 'size->70) + </div> + <div class = "form-group"> + @inputText(dataSetForm("Grid Dimension"), 'class -> "form-control", 'id -> "gridDimension", '_label -> Messages("Grids Dimension"), 'placeholder -> "3D", 'size->70) + + </div> + <div class = "form-group"> + @inputText(dataSetForm("Dataset Start Time"), 'class -> "form-control", 'id -> "dataSetStartTime", '_label -> Messages("Dataset Start Time"), 'placeholder -> "YYYYMM", 'size->70) + @inputText(dataSetForm("Dataset End Time"), 'class -> "form-control", 'id -> "dataSetEndTime", '_label -> Messages("Dataset End Time"), 'placeholder -> "YYYYMM", 'size->70) + + <div id="show" style="display: none;"> + <textarea style="width: 640px" rows="4" id="content"></textarea> + </div> + </div> + <div align="center"> + <button id="preview" type="button" class="btn btn-info"> Preview</button> + <input class="btn" type="submit" value="Search"> + </div> + </div> + + } + } \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/37774c92/.target/views/climate/searchGenerateWorkflow.scala.html ---------------------------------------------------------------------- diff --git a/.target/views/climate/searchGenerateWorkflow.scala.html b/.target/views/climate/searchGenerateWorkflow.scala.html new file mode 100644 index 0000000..a11b1ff --- /dev/null +++ b/.target/views/climate/searchGenerateWorkflow.scala.html @@ -0,0 +1,103 @@ +@******************************************************************************* + * Licensed to the Apache Software Foundation (ASF) under one or more * + * contributor license agreements. See the NOTICE file distributed with * + * this work for additional information regarding copyright ownership. * + * The ASF licenses this file to You under the Apache License, Version 2.0 * + * (the "License"); you may not use this file except in compliance with * + * the License. You may obtain a copy of the License at * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, software * + * distributed under the License is distributed on an "AS IS" BASIS, * + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * + * See the License for the specific language governing permissions and * + * limitations under the License. * + *******************************************************************************@ + +@(serviceLogForm: play.data.Form[metadata.ServiceLog]) + +@import helper._ + +@scripts = { + <script src='@routes.Assets.at("javascripts/edit_button.js")'></script> + <link rel="stylesheet" href="//code.jquery.com/ui/1.11.3/themes/smoothness/jquery-ui.css"> + <script src="//code.jquery.com/jquery-1.10.2.js"></script> + <script src="//code.jquery.com/ui/1.11.3/jquery-ui.js"></script> + <script type="text/javascript"> + $(document).ready(function(){ + $( "#preview" ).click(function() { + var target = document.getElementById("show"); + if(target.style.display=="none"){ + target.style.display="block"; + $( "#preview" ).text("Hide"); + var userId = $("#userId").val(); + var startTime = $("#startTime").val(); + var endTime = $("#endTime").val(); + + if(userId!="" && userId!=null){ + $("#content").append(" UserId = "+userId); + } + if(startTime!="" && startTime!=null){ + $("#content").append(" Start Time = "+startTime); + } + if(endTime!="" && endTime!=null){ + $("#content").append(" End Time = "+endTime); + } + + }else { + $("#content").val(''); + target.style.display="none"; + $( "#preview" ).text("Preview"); + } + }); + if(jsonData!=null){ + var jsonString = $('#jsonData').text(); + var obj = JSON.parse(jsonString); + var data = "text/json;charset=utf-8," + encodeURIComponent(JSON.stringify(obj)); + + $('<a href="data:' + data + '" download="data.json">download JSON</a>').appendTo('#download'); + } + /* + $("#workflow-gen").click(){ + alert("0"); + var user = $("#userId").val(); + $("#user2").val(user); + alert(user); + var start = $("#startTime").val(); + $("#startTime2").val(start); + var end = $("#endTime").val(); + $("#endTime2").val(end); + }; */ + + + + }); + + </script> +} + +@main("Search and Generate Workflow", scripts) { + + @flash_message() + <h1 align="center">Search</h1> + + @helper.form(routes.AccountController.getSearchServiceLogForWorkflow()) { + <div class="ui-widget"> + <div class = "col-sm-offset-3 col-sm-10"> + @inputText(serviceLogForm("User Id"), 'id -> "userId", '_label -> Messages("User Id"), 'placeholder -> "CCS student 1", 'size->70) + </div> + <div class = "col-sm-offset-3 col-sm-10"> + @inputText(serviceLogForm("Start Time"), 'id -> "startTime", '_label -> Messages("Start Time"), 'placeholder -> "mm/dd/yyyy hh:mm", 'size->70) + @inputText(serviceLogForm("End Time"), 'id -> "endTime", '_label -> Messages("End Time"), 'placeholder -> "mm/dd/yyyy hh:mm", 'size->70) + <div id="show" style="display: none;"> + <textarea style="width: 640px" rows="4" id="content"></textarea> + </div> + </div> + <div align="center"> + <button id="preview" type="button" class="btn btn-info"> Preview</button> + <input class="btn" type="submit" value="Search" > + </div> + </div> + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/37774c92/.target/views/climate/searchLogResult.scala.html ---------------------------------------------------------------------- diff --git a/.target/views/climate/searchLogResult.scala.html b/.target/views/climate/searchLogResult.scala.html new file mode 100644 index 0000000..3e2a1a6 --- /dev/null +++ b/.target/views/climate/searchLogResult.scala.html @@ -0,0 +1,69 @@ +@******************************************************************************* + * Licensed to the Apache Software Foundation (ASF) under one or more * + * contributor license agreements. See the NOTICE file distributed with * + * this work for additional information regarding copyright ownership. * + * The ASF licenses this file to You under the Apache License, Version 2.0 * + * (the "License"); you may not use this file except in compliance with * + * the License. You may obtain a copy of the License at * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, software * + * distributed under the License is distributed on an "AS IS" BASIS, * + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * + * See the License for the specific language governing permissions and * + * limitations under the License. * + *******************************************************************************@ + +@(serviceLogs: List[metadata.ServiceLog]) + +@import helper._ + +@scripts = { + <script src='@routes.Assets.at("javascripts/edit_button.js")'></script> +} + +@main("Result Service Logs", scripts){ + + @flash_message() + + <h1>@serviceLogs.size() Service Logs Found</h1> + + <table class="table table-striped table-bordered table-condensed tablesorter" id ="myTable3"> + <thead> + <tr> + <th style = "vertical-align: top;" class="col-sm-4">Service Name</td> + <th style = "vertical-align: top;" class="col-sm-2">User Name</td> + <th style = "vertical-align: top;" class="col-sm-2">Purpose</td> + <th style = "vertical-align: top;" class="col-sm-2">Execution Start Time</td> + <th style = "vertical-align: top;" class="col-sm-2">Execution End Time</td> + <th style = "vertical-align: top;" class="col-sm-1">DataSet Start Time</td> + <th style = "vertical-align: top;" class="col-sm-1">DataSet End Time</td> + <th style = "vertical-align: top;" class="col-sm-1">Details</td> + </tr> + </thead> + @for(serviceLog <- serviceLogs) { + <tr> + <td><font size="2">@serviceLog.getServiceName</font></td> + <td><font size="2">@serviceLog.getUserId</font></td> + <td><font size="2">@serviceLog.getPurpose</font></td> + <td><font size="2">@serviceLog.getExecutionStartTime</font></td> + <td><font size="2">@serviceLog.getExecutionEndTime</font></td> + <td><font size="2">@serviceLog.getDataSetStartTime</font></td> + <td><font size="2">@serviceLog.getDataSetEndTime</font></td> + <td> + @form(routes.ClimateServiceController.getConfigurationByConfId()){ + <input + name="serviceId" class="hidden" type="hidden" + value="@serviceLog.getServiceId"> + <input + name="logId" class="hidden" type="hidden" + value="@serviceLog.getServiceConfigurationId"> + <input + type="submit" value="see detail"> + } + </td> + </tr> + } + </table> + } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/37774c92/.target/views/climate/searchLogResultWorkflow.scala.html ---------------------------------------------------------------------- diff --git a/.target/views/climate/searchLogResultWorkflow.scala.html b/.target/views/climate/searchLogResultWorkflow.scala.html new file mode 100644 index 0000000..18ace8e --- /dev/null +++ b/.target/views/climate/searchLogResultWorkflow.scala.html @@ -0,0 +1,98 @@ +@******************************************************************************* + * Licensed to the Apache Software Foundation (ASF) under one or more * + * contributor license agreements. See the NOTICE file distributed with * + * this work for additional information regarding copyright ownership. * + * The ASF licenses this file to You under the Apache License, Version 2.0 * + * (the "License"); you may not use this file except in compliance with * + * the License. You may obtain a copy of the License at * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, software * + * distributed under the License is distributed on an "AS IS" BASIS, * + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * + * See the License for the specific language governing permissions and * + * limitations under the License. * + *******************************************************************************@ + +@(serviceLogs: List[metadata.ServiceLog], userId: String, start: String, end: String, jsonData: String) + +@import helper._ + +@scripts = { + <script src='@routes.Assets.at("javascripts/edit_button.js")'></script> + <link rel="stylesheet" href="//code.jquery.com/ui/1.11.3/themes/smoothness/jquery-ui.css"> + <script src="//code.jquery.com/jquery-1.10.2.js"></script> + <script src="//code.jquery.com/ui/1.11.3/jquery-ui.js"></script> + <script type="text/javascript"> + $(document).ready(function(){ + var user = $('#user').text(); + var start = $('#start').text(); + var end = $('#end').text(); + $("#user2").val(user); + $("#startTime2").val(start); + $("#endTime2").val(end); + + if(jsonData!=null){ + var jsonString = $('#jsonData').text(); + var obj = JSON.parse(jsonString); + var data = "text/json;charset=utf-8," + encodeURIComponent(JSON.stringify(obj)); + + $('<a href="data:' + data + '" download="data.json">download JSON</a>').appendTo('#download'); + } + + }); + + </script> +} + +@main("Result Service Logs", scripts){ + + @flash_message() + <div id="download"></div> + <div id="user" style="display: none">@userId</div> + <div id="start" style="display: none">@start</div> + <div id="end" style="display: none">@end</div> + <div id="jsonData" style="display: none;">@jsonData</div> + @helper.form(routes.AccountController.getJsonData()) { + <div align="right"> + <input type="hidden" id="user2" name="User Id"></input> + <input type="hidden" id="startTime2" name="Start Time"></input> + <input type="hidden" id="endTime2" name="End Time"></input> + <input id="workflow-gen" type="submit" class="btn btn-info text-right" value="Generate Workflow"></input> + </div> + } + <h1>@serviceLogs.size() Service Logs</h1> + + <table class="table table-striped table-bordered table-condensed"> + <tr> + <td>ServiceId</td> + <td>User</td> + <td>Purpose</td> + <td>StartTime</td> + <td>EndTime</td> + <td>ServiceConfigurationId</td> + </tr> + @for(serviceLog <- serviceLogs) { + <tr> + <td>@serviceLog.getServiceId</td> + <td>@serviceLog.getUserId</td> + <td>@serviceLog.getPurpose</td> + <td>@serviceLog.getExecutionStartTime</td> + <td>@serviceLog.getExecutionEndTime</td> + <td> + @form(routes.ClimateServiceController.getConfigurationByConfId()){ + <input + name="serviceId" class="hidden" type="hidden" + value="@serviceLog.getServiceId"> + <input + name="logId" class="hidden" type="hidden" + value="@serviceLog.getServiceConfigurationId"> + <input + type="submit" class="btn btn-link" value="see detail"> + } + </td> + </tr> + } + </table> + } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/37774c92/.target/views/climate/searchServiceLog.scala.html ---------------------------------------------------------------------- diff --git a/.target/views/climate/searchServiceLog.scala.html b/.target/views/climate/searchServiceLog.scala.html new file mode 100644 index 0000000..0e30c47 --- /dev/null +++ b/.target/views/climate/searchServiceLog.scala.html @@ -0,0 +1,212 @@ +@******************************************************************************* + * Licensed to the Apache Software Foundation (ASF) under one or more * + * contributor license agreements. See the NOTICE file distributed with * + * this work for additional information regarding copyright ownership. * + * The ASF licenses this file to You under the Apache License, Version 2.0 * + * (the "License"); you may not use this file except in compliance with * + * the License. You may obtain a copy of the License at * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, software * + * distributed under the License is distributed on an "AS IS" BASIS, * + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * + * See the License for the specific language governing permissions and * + * limitations under the License. * + *******************************************************************************@ + +@(serviceLogForm: play.data.Form[metadata.ServiceLog]) + +@import helper._ + +@scripts = { + <script src='@routes.Assets.at("javascripts/edit_button.js")'></script> + <link rel="stylesheet" href="//code.jquery.com/ui/1.11.3/themes/smoothness/jquery-ui.css"> + <script src="//code.jquery.com/jquery-1.10.2.js"></script> + <script src="//code.jquery.com/ui/1.11.3/jquery-ui.js"></script> + <script type="text/javascript"> + $(function() { + var availableTags = [ + "ARGO/ARGO", + "CCCMA/CANAM4", + "CSIRO/MK3.6", + "ECMWF/interim", + "GFDL/CM3", + "GFDL/ESM2G", + "GISS/E2-H", + "GISS/E2-R", + "IPSL/CM5A-LR", + "MIROC/MIROC5", + "NASA/AIRS", + "NASA/AMSRE", + "NASA/AVISO", + "NASA/CERES", + "NASA/GPCP", + "NASA/GRACE", + "NASA/MLS", + "NASA/MODIS", + "NASA/QuikSCAT", + "NASA/TRMM", + "NCAR/CAM5", + "NCC/NORESM", + "NOAA/NODC", + "UKMO/HadGEM2-A", + "UKMO/HadGEM2-ES" + ]; + var availableTagsVariableName = ["Air Temperature", + "Cloud Ice Water Content", "Cloud Liquid Water Content", + "Eastward Near-Surface Wind", + "Equivalent Water Height Over Land", + "Equivalent Water Height Over Ocean", "Leaf Area Index", + "Near-Surface Air Temperature", + "Near-Surface Relative Humidity", + "Near-Surface Wind Speed", "Northward Near-Surface Wind", + "Ocean Heat Content Anomaly within 2000 m Depth", + "Ocean Heat Content Anomaly within 700 m Depth", + "Ocean Salinity", "Ocean Temperature", + "Precipitation Flux", "Precipitation", "Relative Humidity", + "Sea Surface Height", "Sea Surface Temperature", + "Specific Humidity", + "Surface Downwelling Clear-Sky Longwave Radiation", + "Surface Downwelling Clear-Sky Shortwave Radiation", + "Surface Downwelling Longwave Radiation", + "Surface Downwelling Shortwave Radiation", + "Surface Temperature", + "Surface Upwelling Clear-Sky Shortwave Radiation", + "Surface Upwelling Longwave Radiation", + "Surface Upwelling Shortwave Radiation", + "TOA Incident Shortwave Radiation", + "TOA Outgoing Clear-Sky Longwave Radiation", + "TOA Outgoing Clear-Sky Shortwave Radiation", + "TOA Outgoing Longwave Radiation", + "TOA Outgoing Shortwave Radiation", "Total Cloud Fraction", + "Vertical Wind Velocity" ]; + $("#dataSource").autocomplete({ + source : availableTags + }); + $("#variableName").autocomplete({ + source : availableTagsVariableName + }); + }); + + $(document).ready( + function() { + $("#preview").click( + function() { + var target = document.getElementById("show"); + if (target.style.display == "none") { + target.style.display = "block"; + $("#preview").text("Hide"); + var dataS = $("#dataSource").val(); + var varName = $("#variableName").val(); + var exectionPurpose = $("#exectionPurpose") + .val(); + /* var userId = $("#userId").val(); */ + var executionStartTime = $( + "#executionStartTime").val(); + var executionEndTime = $( + "#executionEndTime").val(); + var dataSetStartTime = $( + "#dataSetStartTime").val(); + var dataSetEndTime = $("#dataSetEndTime") + .val(); + + /* var startLon = $("#startLon").val(); + var endLon = $("#endLon").val(); + var startPre = $("#startPre").val(); + var endPre = $("#endPre").val(); */ + if (dataS != "") { + $("#content").append( + " Data Source = " + dataS); + } + if (varName != "" && varName != null) { + $("#content").append( + " Variable Name = " + varName); + } + if (exectionPurpose != "" + && exectionPurpose != null) { + $("#content").append( + " Exection Purpose = " + + exectionPurpose); + } + /* if(userId!="" && userId!=null){ + $("#content").append(" UserId = "+userId); + } */ + if (executionStartTime != "" + && executionStartTime != null) { + $("#content").append( + " Execution Start Time = " + + executionStartTime); + } + if (executionEndTime != "" + && executionEndTime != null) { + $("#content").append( + "Execution End Time = " + + executionEndTime); + } + if (dataSetStartTime != "" + && dataSetStartTime != null) { + $("#content").append( + " DataSet Start Time = " + + dataSetStartTime); + } + if (dataSetEndTime != "" + && dataSetEndTime != null) { + $("#content").append( + " DataSet End Time = " + + dataSetEndTime); + } + + } else { + $("#content").val(''); + target.style.display = "none"; + $("#preview").text("Preview"); + } + }); + }); + </script> +} + +@main("Search Execution Service Logs", scripts) { + + @flash_message() + + <h1 style="margin-left:360px"> Search Service Execution Log</h1> + + @helper.form(routes.AccountController.getSearchServiceLogOneDimension()) { + <!-- @select(serviceLogForm("Data Source"), options(Seq("NASA/MODIS","NASA/AMSRE","NASA/TRMM","NASA/GPCP","NASA/QuikSCAT","NASA/AVISO","NASA/GRACE","")), '_label -> "Data Source", '_default -> "", 'style->"width: 290px") --> + <div class="ui-widget col-sm-offset-3 col-sm-7"> + <div class = "form-group"> + @inputText(serviceLogForm("Data Source"),'class -> "form-control", 'id -> "dataSource", '_label -> Messages("Data Source"), 'placeholder -> "NASA/MODIS", 'size->70) + </div> + <div class = "form-group"> + @inputText(serviceLogForm("Variable Name"),'class -> "form-control", 'id -> "variableName", '_label -> Messages("Variable Name"), 'placeholder -> "Total Cloud Fraction", 'size->70) + </div> + <div class = "form-group"> + @inputText(serviceLogForm("Execution Purpose"),'class -> "form-control", 'id -> "exectionPurpose", '_label -> Messages("Execution Purpose"), 'placeholder -> "test", 'size->70) + </div> + <!-- <div class = "form-group"> + @inputText(serviceLogForm("User Id"),'class -> "form-control", 'id -> "userId", '_label -> Messages("User Id"), 'placeholder -> "123", 'size->70) + </div> --> + <div class = "form-group"> + @inputText(serviceLogForm("Execution Start Time"),'class -> "form-control", 'id -> "executionStartTime", '_label -> Messages("Execution Start Time"), 'placeholder -> "MM/DD/YYYY hh:mm", 'size->70) + @inputText(serviceLogForm("Execution End Time"),'class -> "form-control", 'id -> "executionEndTime", '_label -> Messages("Execution End Time"), 'placeholder -> "MM/DD/YYYY hh:mm", 'size->70) + <!-- @inputText(serviceLogForm("Start Latitude"),'class -> "form-control",'id -> "startLa", '_label -> Messages("Start Latitude"), 'placeholder -> "-90", 'size->70) + @inputText(serviceLogForm("End Latitude"),'class -> "form-control",'id -> "endLa", '_label -> Messages("End Latitude"), 'placeholder -> "90", 'size->70) --> + + </div> + <div class = "form-group"> + @inputText(serviceLogForm("Dataset Start Time"),'class -> "form-control", 'id -> "dataSetStartTime", '_label -> Messages("Dataset Start Time"), 'placeholder -> "YYYYMM", 'size->70) + @inputText(serviceLogForm("Dataset End Time"),'class -> "form-control", 'id -> "dataSetEndTime", '_label -> Messages("Dataset End Time"), 'placeholder -> "YYYYMM", 'size->70) + + <div id="show" style="display: none;"> + <textarea style="width: 640px" rows="4" id="content"></textarea> + </div> + </div> + <div align="center"> + <button id="preview" type="button" class="btn btn-info"> Preview</button> + <input class="btn" type="submit" value="Search" > + </div> + </div> + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/37774c92/.target/views/climate/serviceLog.scala.html ---------------------------------------------------------------------- diff --git a/.target/views/climate/serviceLog.scala.html b/.target/views/climate/serviceLog.scala.html new file mode 100644 index 0000000..0b02416 --- /dev/null +++ b/.target/views/climate/serviceLog.scala.html @@ -0,0 +1,107 @@ +@******************************************************************************* + * Licensed to the Apache Software Foundation (ASF) under one or more * + * contributor license agreements. See the NOTICE file distributed with * + * this work for additional information regarding copyright ownership. * + * The ASF licenses this file to You under the Apache License, Version 2.0 * + * (the "License"); you may not use this file except in compliance with * + * the License. You may obtain a copy of the License at * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, software * + * distributed under the License is distributed on an "AS IS" BASIS, * + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * + * See the License for the specific language governing permissions and * + * limitations under the License. * + *******************************************************************************@ + +@(serviceLogs: List[metadata.ServiceLog], serviceLogForm: play.data.Form[metadata.ServiceLog]) + +@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> +} + +@main("Service Execution Logs", scripts){ + + @flash_message() + + <h1>@serviceLogs.size() Service Logs Found</h1> + <!-- + @helper.form(routes.AccountController.syncData()) { + <div class = "col-sm-2"> + <input class="btn btn-primary" type="submit" value="Sync data" style="margin-top:18px"> + </div> + } + --> + @helper.form(routes.AccountController.getSearchServiceLog()) { + <div class = "container"> + <div class = "col-sm-offset-2 col-sm-1"> + <!-- @inputText(serviceLogForm("User Id"), 'class -> "form-control", 'id -> "userId", '_label -> Messages("User Id"), 'placeholder -> "123") --> + </div> + <div class = "col-sm-4" > + @inputText(serviceLogForm("Start Time"), 'class -> "form-control", 'id -> "startTime", 'type -> "datetime-local", '_label -> Messages("Execution Start Time")) + </div> + <div class = "col-sm-4"> + @inputText(serviceLogForm("End Time"), 'class -> "form-control", 'id -> "endTime", 'type -> "datetime-local", '_label -> Messages("Execution End Time")) + </div> + <input class="btn btn-success" type="submit" value="Search" style="margin-top:23px"> + </div> + } + + <table class="table table-striped table-bordered table-condensed tablesorter" id ="myTable2"> + <thead> + <tr> + <th style = "vertical-align: top;" class="col-sm-4">Service Name</td> + <th style = "vertical-align: top;" class="col-sm-2">User Name</td> + <th style = "vertical-align: top;" class="col-sm-2">Purpose</td> + <th style = "vertical-align: top;" class="col-sm-2">Execution Start Time</td> + <th style = "vertical-align: top;" class="col-sm-2">Execution End Time</td> + <th style = "vertical-align: top;" class="col-sm-1">DataSet Start Time</td> + <th style = "vertical-align: top;" class="col-sm-1">DataSet End Time</td> + <th style = "vertical-align: top;" class="col-sm-1">Details</td> + <!-- + <td class="col-md-2">Operation</td> + --> + </tr> + </thead> + @for(serviceLog <- serviceLogs) { + <tr> + <td><font size="2">@serviceLog.getServiceName</font></td> + <td><font size="2">@serviceLog.getUserId</font></td> + <td><font size="2">@serviceLog.getPurpose</font></td> + <td><font size="2">@serviceLog.getExecutionStartTime</font></td> + <td><font size="2">@serviceLog.getExecutionEndTime</font></td> + <td><font size="2">@serviceLog.getDataSetStartTime</font></td> + <td><font size="2">@serviceLog.getDataSetEndTime</font></td> + <td> + @form(routes.ClimateServiceController.getConfigurationByConfId()){ + <input + name="logId" class="hidden" type="hidden" + value="@serviceLog.getServiceExecutionLogId"> + <input + type="submit" value="see details"> + } + </td> + <!-- + <td> + @form(routes.ClimateServiceController.deleteServiceLog()){ + <input + name="idHolder" class="hidden" type="hidden" + value="@serviceLog.getServiceExecutionLogId"> + <input + type="submit" class="btn btn-primary delete-btn span2" value="Delete" + onclick="return confirm('Are you sure you want to delete this log?')"> + } + </td> + --> + </tr> + } + </table> + + } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/37774c92/.target/views/climate/threeDVariableAerageVerticalProfile.scala.html ---------------------------------------------------------------------- diff --git a/.target/views/climate/threeDVariableAerageVerticalProfile.scala.html b/.target/views/climate/threeDVariableAerageVerticalProfile.scala.html new file mode 100644 index 0000000..74d3e5a --- /dev/null +++ b/.target/views/climate/threeDVariableAerageVerticalProfile.scala.html @@ -0,0 +1,740 @@ +@******************************************************************************* + * Licensed to the Apache Software Foundation (ASF) under one or more * + * contributor license agreements. See the NOTICE file distributed with * + * this work for additional information regarding copyright ownership. * + * The ASF licenses this file to You under the Apache License, Version 2.0 * + * (the "License"); you may not use this file except in compliance with * + * the License. You may obtain a copy of the License at * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, software * + * distributed under the License is distributed on an "AS IS" BASIS, * + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * + * See the License for the specific language governing permissions and * + * limitations under the License. * + *******************************************************************************@ + +@(parameters: metadata.ThreeDVarAvgVertical4Profile) @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"> + var Response = null; + var variable = ""; + window.onload = function() { + select_all_months(); + getDataSource(); + select_data(); + getVariableName(); + select_var(); + $('#t0').val(@parameters.getStartYearMonth()); + $('#t1').val(@parameters.getEndYearMonth()); + var selectMonths = $('#selectMonths').text(); + $('#months option:contains('+selectMonths+')').prop({selected: true}); + select_months(); + select_monthsByPara(); + $('#lat0').val($('#startLat').text()); + $('#lat1').val($('#endLat').text()); + $('#lon0').val($('#startLon').text()); + $('#lon1').val($('#endLon').text()); + var pressureLvlScale = $('#pressureLevelScale').text(); + if(pressureLvlScale == "0") { + $('#radioLin').prop( "checked", true ); + $('#radioLog').prop( "checked", false ); + } + else { + $('#radioLin').prop( "checked", false ); + $('#radioLog').prop( "checked", true ); + } + var variableScale = $('#variableScale').text(); + if(variableScale == "0") { + $('#radioLin2').prop("checked", true); + $('#radioLog2').prop("checked", false); + } + else { + $('#radioLin2').prop("checked", false); + $('#radioLog2').prop("checked", true); + } + $('#purpose').html($('#executionPurpose').text()); + var imageUrl = $('#image').text(); + $('#Image').html('<img src="'+imageUrl+'" width=680 />'); + $('#data_url').html($('#dataURL').text()); + } + function getDataSource() + { + var dataSource = $('#dataSource').text(); + var x = document.getElementById("data"); + if(dataSource == "NASA_AIRS") { + x.options[0].selected = true; + } + else if(dataSource == "NASA_MLS") { + x.options[1].selected = true; + } + else if(dataSource == "ARGO_ARGO") { + x.options[2].selected = true; + } + else if(dataSource == "CCCMA_CANESM2") { + x.options[3].selected = true; + } + else if(dataSource == "GFDL_ESM2G") { + x.options[4].selected = true; + } + else if(dataSource == "GISS_E2-H") { + x.options[5].selected = true; + } + else if(dataSource == "GISS_E2-R") { + x.options[6].selected = true; + } + else if(dataSource == "NCAR_CAM5") { + x.options[7].selected = true; + } + else if(dataSource == "NCC_NORESM") { + x.options[8].selected = true; + } + else if(dataSource == "UKMO_HadGEM2-ES") { + x.options[9].selected = true; + } + else if(dataSource == "CCCMA_CANAM4") { + x.options[10].selected = true; + } + else if(dataSource == "CSIRO_MK3.6") { + x.options[11].selected = true; + } + else if(dataSource == "GFDL_CM3") { + x.options[12].selected = true; + } + else if(dataSource == "IPSL_CM5A-LR") { + x.options[13].selected = true; + } + else if(dataSource == "MIROC_MIROC5") { + x.options[14].selected = true; + } + else if(dataSource == "UKMO_HadGEM2-A") { + x.options[15].selected = true; + } + else if(dataSource == "ECMWF_interim") { + x.options[16].selected = true; + } + } + function getVariableName() + { + var var_string = $('#variableName').text(); + var x=document.getElementById("var"); + if(var_string == "ta") { + x.options[0].selected = true; + } + else if(var_string == "hus") { + x.options[1].selected = true; + } + else if(var_string == "cli") { + x.options[2].selected = true; + } + else if(var_string == "clw") { + x.options[3].selected = true; + } + else if(var_string == "ot") { + x.options[4].selected = true; + } + else if(var_string == "os") { + x.options[5].selected = true; + } + else if(var_string == "wap") { + x.options[6].selected = true; + } + else if(var_string == "hur") { + x.options[7].selected = true; + } + } + function select_monthsByPara(){ + var monthsByPara = $('#monthsPara').text(); + if(monthsByPara.search("jan")>-1){ + document.getElementById('Jan').checked = true; + } + if(monthsByPara.search("feb")>-1){ + document.getElementById('Feb').checked = true; + } + if(monthsByPara.search("mar")>-1){ + document.getElementById('Mar').checked = true; + } + if(monthsByPara.search("apr")>-1){ + document.getElementById('Apr').checked = true; + } + if(monthsByPara.search("may")>-1){ + document.getElementById('May').checked = true; + } + if(monthsByPara.search("jun")>-1){ + document.getElementById('Jun').checked = true; + } + if(monthsByPara.search("jul")>-1){ + document.getElementById('Jul').checked = true; + } + if(monthsByPara.search("aug")>-1){ + document.getElementById('Aug').checked = true; + } + if(monthsByPara.search("sep")>-1){ + document.getElementById('Sep').checked = true; + } + if(monthsByPara.search("oct")>-1){ + document.getElementById('Oct').checked = true; + } + if(monthsByPara.search("nov")>-1){ + document.getElementById('Nov').checked = true; + } + if(monthsByPara.search("dec")>-1){ + document.getElementById('Dec').checked = true; + } + } + function disable_download_button() + { + var x=document.getElementById("download_data"); + x.disabled=false; + } + function enable_download_button() + { + var x=document.getElementById("download_data"); + x.disabled=false; + } + function select_all_months() + { + document.getElementById('Jan').checked = true; + document.getElementById('Feb').checked = true; + document.getElementById('Mar').checked = true; + document.getElementById('Apr').checked = true; + document.getElementById('May').checked = true; + document.getElementById('Jun').checked = true; + document.getElementById('Jul').checked = true; + document.getElementById('Aug').checked = true; + document.getElementById('Sep').checked = true; + document.getElementById('Oct').checked = true; + document.getElementById('Nov').checked = true; + document.getElementById('Dec').checked = true; + } + function no_month_check() + { + if (document.getElementById('Jan').checked == false && + document.getElementById('Feb').checked == false && + document.getElementById('Mar').checked == false && + document.getElementById('Apr').checked == false && + document.getElementById('May').checked == false && + document.getElementById('Jun').checked == false && + document.getElementById('Jul').checked == false && + document.getElementById('Aug').checked == false && + document.getElementById('Sep').checked == false && + document.getElementById('Oct').checked == false && + document.getElementById('Nov').checked == false && + document.getElementById('Dec').checked == false) { + return true; + } + else + return false; + } + function reset_months() + { + document.getElementById('Jan').checked = false; + document.getElementById('Feb').checked = false; + document.getElementById('Mar').checked = false; + document.getElementById('Apr').checked = false; + document.getElementById('May').checked = false; + document.getElementById('Jun').checked = false; + document.getElementById('Jul').checked = false; + document.getElementById('Aug').checked = false; + document.getElementById('Sep').checked = false; + document.getElementById('Oct').checked = false; + document.getElementById('Nov').checked = false; + document.getElementById('Dec').checked = false; + } + function reset_vars() + { + var x=document.getElementById("var"); + x.options[0].disabled=false; + x.options[1].disabled=false; + x.options[2].disabled=false; + x.options[3].disabled=false; + x.options[4].disabled=false; + x.options[5].disabled=false; + x.options[6].disabled=false; + x.options[7].disabled=false; + } + function select_var() + { + var var_string = $("#var").val(); + disable_download_button(); + if (var_string == "Air Temperature") + variable = "ta"; + else if (var_string == "Specific Humidity") + variable = "hus"; + else if (var_string == "Cloud Ice Water Content") + variable = "cli"; + else if (var_string == "Cloud Liquid Water Content") + variable = "clw"; + else if (var_string == "Ocean Temperature") + variable = "ot"; + else if (var_string == "Ocean Salinity") + variable = "os"; + else if (var_string == "Vertical Wind Velocity") + variable = "wap"; + else if (var_string == "Relative Humidity") + variable = "hur"; + } + function select_data() + { + var data_string = $("#data").val(); + var x=document.getElementById("var"); + disable_download_button(); + reset_vars(); + if (data_string == "NASA/AIRS") { + x.options[0].selected=true; + x.options[2].disabled=true; + x.options[3].disabled=true; + x.options[4].disabled=true; + x.options[5].disabled=true; + x.options[6].disabled=true; + x.options[7].disabled=true; + } + else if (data_string == "NASA/MLS") { + x.options[0].selected=true; + x.options[2].disabled=true; + x.options[3].disabled=true; + x.options[4].disabled=true; + x.options[5].disabled=true; + x.options[6].disabled=true; + x.options[7].disabled=true; + } + else if (data_string == "ARGO/ARGO") { + x.options[0].disabled=true; + x.options[1].disabled=true; + x.options[2].disabled=true; + x.options[3].disabled=true; + x.options[4].selected=true; + x.options[6].disabled=true; + x.options[7].disabled=true; + } + else if (data_string == "ECMWF/interim") { + x.options[0].disabled=true; + x.options[1].disabled=true; + x.options[2].disabled=true; + x.options[3].disabled=true; + x.options[4].disabled=true; + x.options[5].disabled=true; + x.options[6].selected=true; + } + else { + x.options[0].selected=true; + x.options[4].disabled=true; + x.options[5].disabled=true; + } + select_var(); + } + function select_months() + { + var s1=document.getElementById("months"); + disable_download_button(); + if (s1.selectedIndex == 1) { + reset_months(); + } + if (s1.selectedIndex == 0) { + select_all_months(); + } + if (s1.selectedIndex == 2) { + reset_months(); + document.getElementById('Jun').checked = true; + document.getElementById('Jul').checked = true; + document.getElementById('Aug').checked = true; + } + if (s1.selectedIndex == 3) { + reset_months(); + document.getElementById('Sep').checked = true; + document.getElementById('Oct').checked = true; + document.getElementById('Nov').checked = true; + } + if (s1.selectedIndex == 4) { + reset_months(); + document.getElementById('Dec').checked = true; + document.getElementById('Jan').checked = true; + document.getElementById('Feb').checked = true; + } + if (s1.selectedIndex == 5) { + reset_months(); + document.getElementById('Mar').checked = true; + document.getElementById('Apr').checked = true; + document.getElementById('May').checked = true; + } + } + $(document).ready(function(){ + $("#download_data").click(function(event) { + var durl = $("#data_url").val(); + window.location.assign(durl); + }); + $("#threedvertical").click(function(event) { + Response = null; + disable_download_button(); + if (no_month_check()) { + $("#Response").html("Error: please check at least one month."); + $("#Image").html(""); + return; + } + $("#Response").html("Calculating ..."); + $("#data_url").html("Calculating ..."); + $("#Image").html(""); + var url = "http://" + window.location.hostname + ":9002/svc/threeDimVerticalProfile?"; + var d1 = $("#data").val(); + var model1 = d1.replace("/", "_"); + var arglist = ""; + arglist = arglist.concat("model="); + arglist = arglist.concat(model1); + var v1 = $("#var").val(); + arglist = arglist.concat("&var="); + arglist = arglist.concat(variable); + 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); + var s1 = document.getElementById('months'); + var month_str = ""; + var mm = document.getElementById('Jan'); + if (mm.checked == true) + month_str = month_str.concat(",1"); + var mm = document.getElementById('Feb'); + if (mm.checked == true) + month_str = month_str.concat(",2"); + var mm = document.getElementById('Mar'); + if (mm.checked == true) + month_str = month_str.concat(",3"); + var mm = document.getElementById('Apr'); + if (mm.checked == true) + month_str = month_str.concat(",4"); + var mm = document.getElementById('May'); + if (mm.checked == true) + month_str = month_str.concat(",5"); + var mm = document.getElementById('Jun'); + if (mm.checked == true) + month_str = month_str.concat(",6"); + var mm = document.getElementById('Jul'); + if (mm.checked == true) + month_str = month_str.concat(",7"); + var mm = document.getElementById('Aug'); + if (mm.checked == true) + month_str = month_str.concat(",8"); + var mm = document.getElementById('Sep'); + if (mm.checked == true) + month_str = month_str.concat(",9"); + var mm = document.getElementById('Oct'); + if (mm.checked == true) + month_str = month_str.concat(",10"); + var mm = document.getElementById('Nov'); + if (mm.checked == true) + month_str = month_str.concat(",11"); + var mm = document.getElementById('Dec'); + if (mm.checked == true) + month_str = month_str.concat(",12"); + month_str = month_str.substr(1); + arglist = arglist.concat("&months="); + arglist = arglist.concat(month_str); + arglist = arglist.concat("&scale="); + var y = document.getElementById("radioLin").checked; + var yval; + var x = document.getElementById("radioLin2").checked; + var xval; + if (y == true) + yval = 0; + else + yval = 2; + if (x == true) + xval = 0; + else + xval = 1; + var scale1 = yval + xval; + var scale1_str = scale1.toString(); + arglist = arglist.concat(scale1_str); + var purpose = $("#purpose").val(); + arglist = arglist.concat("&purpose="); + arglist = arglist.concat(purpose); + url = url + encodeURI(arglist); + var urlTimeBounds = "http://" + window.location.hostname + ":9002/svc/time_bounds?"; + var arglistTB = ""; + arglistTB = arglistTB.concat("serviceType="); + arglistTB = arglistTB.concat("1"); + arglistTB = arglistTB.concat("&source="); + arglistTB = arglistTB.concat(d1); + arglistTB = arglistTB.concat("&var="); + arglistTB = arglistTB.concat(variable); + urlTimeBounds = urlTimeBounds + encodeURI(arglistTB); + $.ajax({ + type: "GET", + url: urlTimeBounds, + dataType: "json", + data: null, + success: function(data, textStatus, xhr) { + Response = data; + if (data.success == false) { + Response = null; + var text = JSON.stringify(data, null, 4); + text = "Error in backend: <br>" + text; + $("#Response").html(text); + $("#data_url").html(text); + return; + } + var text = JSON.stringify(data, null, 4); + var tb = data.time_bounds; + var bds = String(tb).split(","); + var lowerT = parseInt(bds[0]); + var upperT = parseInt(bds[1]); + var t0I = parseInt(t0); + var t1I = parseInt(t1); + 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."); + } + }, + error: function(xhr, textStatus, errorThrown) { + $("#Response").html("error!"); + $("#data_url").html("error!"); + }, + complete: function(xhr, textStatus) { + } + }); + $.ajax({ + type: "GET", + url: url, + dataType: "json", + data: null, + success: function(data, textStatus, xhr) { + Response = data; + if (data.success == false) { + Response = null; + var text = JSON.stringify(data, null, 4); + text = "Error in backend: <br>" + text; + $("#Response").html(text); + $("#data_url").html(text); + return; + } + var text = JSON.stringify(data, null, 4); + $("#Response").html(text); + var html1 = "<img src='"+data.url+"' width='680'/>"; + $("#Image").html(html1); + $("#data_url").html(data.dataUrl); + enable_download_button(); + }, + error: function(xhr, textStatus, errorThrown) { + $("#Response").html("error!"); + $("#data_url").html("error!"); + }, + complete: function(xhr, textStatus) { + } + }); + }); + }); + </script> +} @main("Parameters of ConfId", scripts){ @flash_message() +<p> +<div id="dataSource" style="display: none">@parameters.getDataSource()</div> +<div id="variableName" style="display: none">@parameters.getVariableName()</div> +<div id="startYearMonth" style="display: none">@parameters.getStartYearMonth()</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> +<div id="startLon" style="display: none">@parameters.getStartLon()</div> +<div id="endLon" style="display: none">@parameters.getEndLon()</div> +<div id="pressureLevelScale" style="display: none">@parameters.getPressureLevelScale()</div> +<div id="variableScale" style="display: none">@parameters.getVariableScale()</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" align="center"> + <tr> + <td colspan="4"> + <center> + <b>Service: 3-D Variable Average Vertical Profile</b> <br> + <br> This service generates the average of a three-dimensional + variable over a specified region and time and display the average as + a function of pressure level as an X-Y plot. <br> + <br> + </center> + </td> + </tr> + <tr> + <td>data source:</td> + <td><select name="data" , id="data" onchange="select_data()"> + <optgroup label="Observation"> + <option>NASA/AIRS</option> + <option>NASA/MLS</option> + <option>ARGO/ARGO</option> + </optgroup> + <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="Reanalysis"> + <option>ECMWF/interim</option> + </optgroup> + </select></td> + <td>variable name:</td> + <td><select name="var" , id="var" onchange="select_var()"> + <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>start year-month:</td> + <td><input id="t0" value="2004-01" alt="start" /></td> + <td>end year-month:</td> + <td><input id="t1" value="2004-12" alt="end" /></td> + </tr> + <tr> + <td>select months:</td> + <td><select name="months" id="months" onchange="select_months()"> + <option id="all">select all</option> + <option id="none" selected="selected">select none</option> + <option id="summer">Summer:Jun-Jul-Aug</option> + <option id="autum">Autumn:Sep-Oct-Nov</option> + <option id="winter">Winter:Dec-Jan-Feb</option> + <option id="spring">Spring:Mar-Apr-May</option> + </select></td> + <td></td> + <td></td> + </tr> + <tr> + <td><label><input type="checkbox" name="option1" id="Jan" + value="Jan" /> Jan<br></label> <label><input type="checkbox" + name="option1" id="Feb" value="Feb" /> Feb<br></label> <label><input + type="checkbox" name="option1" id="Mar" value="Mar" /> Mar<br></label> + </td> + <td><label><input type="checkbox" name="option1" id="Apr" + value="Apr" /> Apr<br></label> <label><input type="checkbox" + name="option1" id="May" value="May" /> May<br></label> <label><input + type="checkbox" name="option1" id="Jun" value="Jun" /> Jun<br></label> + </td> + <td><label><input type="checkbox" name="option1" id="Jul" + value="Jul" /> Jul<br></label> <label><input type="checkbox" + name="option1" id="Aug" value="Aug" /> Aug<br></label> <label><input + type="checkbox" name="option1" id="Sep" value="Sep" /> Sep<br></label> + </td> + <td><label><input type="checkbox" name="option1" id="Oct" + value="Oct" /> Oct<br></label> <label><input type="checkbox" + name="option1" id="Nov" value="Nov" /> Nov<br></label> <label><input + type="checkbox" name="option1" id="Dec" value="Dec" /> Dec<br></label> + </td> + </tr> + <tr> + <td>start lat (deg):</td> + <td><input id="lat0" value="-90" /></td> + <td>end lat (deg):</td> + <td><input id="lat1" value="90" /></td> + </tr> + <tr> + <td>start lon (deg):</td> + <td><input id="lon0" value="0" /></td> + <td>end lon (deg):</td> + <td><input id="lon1" value="360" /></td> + </tr> + <tr> + <td colspan="1">pressure level scale:</td> + <td colspan="1"><form> + <input type="radio" name="scale1" value="linear" id="radioLin">linear + <input type="radio" name="scale1" value="logarithmic" id="radioLog">logarithmic + </form></td> + <td colspan="1">variable scale:</td> + <td colspan="1"> + <form> + <input type="radio" name="scale2" value="linear" id="radioLin2">linear + <input type="radio" name="scale2" value="logarithmic" id="radioLog2">logarithmic + </form> + </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="threedvertical" + 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 readonly id="Response" + cols="89" rows="6">Service Response Text Here</textarea></td> + </tr> + </p> +</table> +}