You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cmda.apache.org by xi...@apache.org on 2015/09/09 00:49:54 UTC

[45/51] [partial] incubator-cmda git commit: Add frontend and backend

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>
+}