You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@climate.apache.org by jo...@apache.org on 2014/07/01 16:49:41 UTC

[17/56] [partial] gh-pages clean up

http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/app/js/services/EvaluationSettings.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend/app/js/services/EvaluationSettings.js b/ocw-ui/frontend/app/js/services/EvaluationSettings.js
deleted file mode 100755
index 02b4a63..0000000
--- a/ocw-ui/frontend/app/js/services/EvaluationSettings.js
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * 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.
-**/
-
-// EvaluationSettings gives controllers access to the user's selected evaluation settings.
-App.Services.service('evaluationSettings', function($rootScope, $http) {
-    $http.get($rootScope.baseURL + '/processing/metrics/').then(function(data) {
-        metrics_data = data['data']['metrics'];
-        metrics = [];
-
-        for (var i = 0; i < metrics_data.length; ++i) {
-            metrics.push({'name': metrics_data[i], 'select': false});
-        }
-
-        settings['metrics'] = metrics;
-    });
-
-	var settings = {
-        'metrics': [],
-		'temporal': {
-			'options': ['daily', 'monthly', 'yearly'],
-			'selected': 'yearly',
-		},
-		'spatialSelect': null,
-	};
-
-	return {
-		getSettings: function() {
-			return settings;
-		}
-	};
-});		

http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/app/js/services/RegionSelectParams.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend/app/js/services/RegionSelectParams.js b/ocw-ui/frontend/app/js/services/RegionSelectParams.js
deleted file mode 100644
index 4f36be6..0000000
--- a/ocw-ui/frontend/app/js/services/RegionSelectParams.js
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * 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.
-**/
-
-// RegionSelectParams gives controllers access to the user selected evaluation region. 
-App.Services.service('regionSelectParams', function() {
-	var parameters = {
-		"areValid" : true,
-		"latMin"   : "",
-		"latMax"   : "",
-		"lonMin"   : "",
-		"lonMax"   : "",
-		"start"    : "",
-		"end"      : "",
-	};
-
-	return {
-		getParameters: function() {
-			return parameters;
-		},
-	};
-});

http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/app/js/services/SelectedDatasetInformation.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend/app/js/services/SelectedDatasetInformation.js b/ocw-ui/frontend/app/js/services/SelectedDatasetInformation.js
deleted file mode 100644
index 8378212..0000000
--- a/ocw-ui/frontend/app/js/services/SelectedDatasetInformation.js
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * 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.
-**/
-
-// Service for giving controllers access to the information on datasets that 
-// the user has selected for evaluation.
-App.Services.service('selectedDatasetInformation', function() {
-	var datasets = [];
-
-	return {
-		getDatasets: function() {
-			return datasets;
-		},
-		getDatasetCount: function() {
-			return datasets.length;
-		},
-		// TODO: Define the structure of the objects that are added with addDataset.
-		addDataset: function(dataset) {
-			// All datasets need a shouldDisplay attribute that is used when rendering
-			// the overlays on the map!
-			dataset.shouldDisplay = false;
-			// The regrid attribute indicates which dataset should be used for spatial regridding
-			dataset.regrid = false;
-
-			datasets.push(dataset);
-		},
-		removeDataset: function(index) {
-			datasets.splice(index, 1);
-		},
-		clearDatasets: function() {
-			datasets.length = 0;
-		},
-	};
-});

http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/app/partials/main.html
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend/app/partials/main.html b/ocw-ui/frontend/app/partials/main.html
deleted file mode 100644
index 83152d3..0000000
--- a/ocw-ui/frontend/app/partials/main.html
+++ /dev/null
@@ -1,243 +0,0 @@
-
-<!-- Modal for evaluation settings -->
-  <bootstrap-modal modal-id="evaluationSettings">
-  <div class="modal-header">
-    <button class="close">&times;</button>
-    <h3>Settings</h3>
-  </div>
-  <div class="modal-body" ng-controller="SettingsCtrl">
-    <h4>Select the metrics you would like to run.</h4>
-    <div ng-repeat="metric in settings.metrics">
-      <label><input type="checkbox" ng-model="metric.select"> {{metric.name}}</label>
-    </div>
-    <hr />
-    <h4>Select how you would like to temporally re-grid the datasets.</h4>
-    <select ng-model="settings.temporal.selected" ng-options="opt for opt in settings.temporal.options"></select>
-    <hr />
-    <h4>Select which dataset to use as the reference.</h4>
-    <select ng-model="settings.spatialSelect" ng-options="dataset as dataset.name for dataset in datasets"></select>
-    <hr />
-    <!-- Temporarily hidden for work on CLIMATE-365.-->
-    <div ng-hide=true>
-    <h4>Select a file which will define the bounds of subregions.</h4>
-    <form class="form-inline" autocomplete="off">
-      <input id="subregionFileInput" predictive-file-browser-input ng-model="settings.subregionFile" type="text" class="input-xlarge" autocomplete="off" />
-    </form>
-    </div>
-    <!--End hidden section for CLIMATE-365-->
-  </div>
-  <div class="modal-footer">
-    <a href="#" class="btn btn-warning close">Close</a>
-  </div>
-  </bootstrap-modal>
-<!-- END - Modal for evaluation settings -->
-
-  <div class="row-fluid">
-    <div class="span12">
-      <div class="row-fluid">
-        <div class="span6">
-          <!--Dataset Select Controls-->
-          <div ng-controller="DatasetSelectCtrl">
-            <div class="row-fluid">
-	            <div class="span1 offset10">
-	              <button class="btn btn-link no-color-link" ng-click="clearDatasets()" ng-disabled="shouldDisableClearButton()">
-	                <span tooltip-placement="left" tooltip-popup-delay="700" tooltip="Clear Datasets">
-	                  <i class="icon-trash icon-2x"></i>
-	                </span>
-	              </button>
-	            </div>
-	            <div class="span1">
-	              <button class="btn btn-link no-color-link" ng-click="open()">
-	                <span tooltip-placement="left" tooltip-popup-delay="700" tooltip="Add Dataset">
-	                  <i class="icon-plus icon-2x"></i>
-	                </span>
-	              </button>
-	            </div>
-            </div>
-            <!-- Modal for dataset selection -->
-            <div modal="datasetSelect" close="close()" options="opts">
-              <div class="modal-header">
-                <h3>Dataset Select</h3>
-              </div>
-              <div class="modal-body">
-                <tabset>
-                  <tab ng-repeat="tab in templates" heading="{{tab.title}}" active="tab.active" disabled="tab.disabled">
-                    <div ng-include src="tab.url"></div>
-                  </tab>
-                  <li class="pull-right">Queued Datasets: {{datasetCount.length}}</li>
-                </tabset>
-              </div>
-              <div class="modal-footer">
-                <button class="btn btn-warning cancel" ng-click="close()">Close</button>
-              </div>
-            </div>
-            <!-- END - Modal for dataset selection -->
-            <div class="row-fluid">
-              <div class="span12">
-              <hr />
-              </div>
-            </div>
-          </div>
-          <!--Dataset display-->
-          <div ng-controller="DatasetDisplayCtrl" id="datasetDiv">
-              <div ng-repeat="dataset in datasets">
-                <div class="row-fluid">
-                  <!--Data section-->
-                  <div class="span8 offset1 muted">
-                    {{dataset.name}}
-                  </div>
-                  <div class="span1 offset2">
-                    <span tooltip-placement="left" tooltip-popup-delay="700" tooltip="Remove Dataset">  
-                      <a class="no-color-link" href="#" ng-click="removeDataset($index)">
-                        <i class="icon-remove"></i>
-                      </a>
-                    </span>
-                  </div>
-                </div>
-                <!--Time Values!-->
-                <div class="row-fluid">
-                  <!--Dataset Info Section-->
-                  <div class="span9">
-                    <div class="row-fluid">
-                      <div class="span2 offset1 text-center">Start:</div>
-                      <div class="span2">
-                        <div class="span2 text-center">{{dataset.timeVals.start | ISODateToMiddleEndian}}</div>
-                      </div>
-                      <div class="span2 text-center">End:</div>
-                      <div class="span2">
-                        <div class="span2 text-center">{{dataset.timeVals.end | ISODateToMiddleEndian}}</div>
-                      </div>
-                    </div>
-                    <!--Lat/Long Values!-->
-                    <div class="row-fluid">
-                      <div class="span2 offset1 text-center">North:</div>
-                      <div class="span2 text-center">
-                        {{dataset.latlonVals.latMax | number:2}}
-                      </div>
-                      <div class="span2 text-center">West:</div>
-                      <div class="span2 text-center">
-                        {{dataset.latlonVals.lonMin | number:2}}
-                      </div>
-                    </div>
-                    <div class="row-fluid">
-                      <div class="span2 offset1 text-center">South:</div>
-                      <div class="span2 text-center">
-                        {{dataset.latlonVals.latMin | number:2}}
-                      </div>
-                      <div class="span2 text-center">East:</div>
-                      <div class="span2 text-center">
-                        {{dataset.latlonVals.lonMax | number:2}}
-                      </div>
-                    </div>
-                  </div>
-                  <!--Preview Map Section-->
-                  <div class="span3">
-                    <!--If the dataset is global we show a picture of a globe instead of the actual map-->
-                    <div ng-hide="dataset.latlonVals.lonMin == -180 && dataset.latlonVals.lonMax == 180 && 
-                                  dataset.latlonVals.latMin == -90 && dataset.latlonVals.latMax == 90" 
-                                  preview-map="dataset" index="$index"></div>
-                    <div ng-show="dataset.latlonVals.lonMin == -180 && dataset.latlonVals.lonMax == 180 &&
-                                  dataset.latlonVals.latMin == -90 && dataset.latlonVals.latMax == 90">
-                      <img src="img/globe.png" class="preview-map">
-                    </div>
-                  </div>
-                </div>
-                <div class="row-fluid">
-                  <div class="span6 offset3"><hr /></div>
-                </div>
-              </div>
-            </div>
-        </div>
-        <div class="span6">
-          <!--Map-->
-          <div class="row-fluid"  ng-controller="WorldMapCtrl">
-            <div class="span12">
-              <leaflet-map id="map"></leaflet-map>
-            </div>
-          </div>
-          
-          <!--Timeline-->
-          <div class="row-fluid">
-            <div class="span12" ng-controller="TimelineCtrl">
-              <div class="timeline"></div>
-            </div>
-          </div>
-          
-          <div class="row-fluid">
-            <div class="span12" ng-controller="ParameterSelectCtrl">
-              <div class="row-fluid">
-                <div class="span2 text-center">Start Date:</div>
-                <div class="span4">
-                  <form>
-                    <!--This styling HAD to be done inline. Using a class wouldn't work and for some -->
-                    <!--reason the input boxes refused to be 100% wide when their span size was set.-->
-                    <input ng-disabled="shouldDisableControls()" on-blur="checkParameters();" ng-model="displayParams.start" ui-date="datepickerSettings" ui-date-format="yy-mm-dd" type="text" class="text-center span4" style="width:100%" />
-                  </form>
-                </div>
-                <div class="span2 text-center">End Date:</div>
-                <div class="span4">
-                  <form>
-                    <!--This styling HAD to be done inline. Using a class wouldn't work and for some -->
-                    <!--reason the input boxes refused to be 100% wide when their span size was set.-->
-                    <input ng-disabled="shouldDisableControls()" on-blur="checkParameters();" ng-model="displayParams.end" ui-date="datepickerSettings" ui-date-format="yy-mm-dd" type="text" class="text-center span4" style="width:100%"/>
-                  </form>
-                </div>
-              </div>
-              <div class="row-fluid">
-                <div class="span2 text-center">North:</div>
-                <div class="span4">
-                  <form action="">
-                    <input ng-disabled="shouldDisableControls()" ng-model="displayParams.latMax"  on-blur="checkParameters();" type="text" class="span4 text-center" style="width:100%"/>
-                  </form>
-                </div>
-                <div class="span2 text-center">South:</div>
-                <div class="span4">
-                  <form action="">
-                    <!--This styling HAD to be done inline. Using a class wouldn't work and for some -->
-                    <!--reason the input boxes refused to be 100% wide when their span size was set.-->
-                    <input ng-disabled="shouldDisableControls()" ng-model="displayParams.latMin" on-blur="checkParameters();" type="text" class="span4 text-center" style="width:100%"/>
-                  </form>
-                </div>
-              </div>
-              <div class="row-fluid">
-                <div class="span2 text-center">East:</div>
-                <div class="span4">
-                  <form>
-                    <!--This styling HAD to be done inline. Using a class wouldn't work and for some -->
-                    <!--reason the input boxes refused to be 100% wide when their span size was set.-->
-                    <input ng-disabled="shouldDisableControls()" ng-model="displayParams.lonMax" on-blur="checkParameters();" type="text" class="span4 text-center" style="width:100%"/>
-                  </form>
-                </div>
-                <div class="span2 text-center">West:</div>
-                <div class="span4">
-                  <form>
-                    <!--This styling HAD to be done inline. Using a class wouldn't work and for some -->
-                    <!--reason the input boxes refused to be 100% wide when their span size was set.-->
-                    <input ng-disabled="shouldDisableControls()" ng-model="displayParams.lonMin" on-blur="checkParameters();"; type="text" class="span4 text-center" style="width:100%"/>
-                  </form>
-                </div>
-              </div>
-              <div class="row-fluid">
-                <div class="span2 offset6">
-                  <button class="btn btn-link no-color-link pull-right" bootstrap-modal-open="evaluationSettings">
-                    <span tooltip-placement="left" tooltip-popup-delay="700" tooltip="Settings">
-                      <span class="icon-stack">
-                        <i class="icon-check-empty icon-stack-base"></i>
-                        <i class="icon-cogs"></i>
-                      </span>
-                    </span>
-                  </button>
-                </div>
-                <div class="span4">
-                  <button ng-click="runEvaluation()" ng-disabled="shouldDisableEvaluateButton()" class="btn btn-block btn-primary">
-                    <div ng-hide="runningEval">Evaluate</div>
-                    <div ng-show="runningEval"><i class="icon-spinner icon-spin"></i></div>
-                  </button>
-                </div>
-              </div>
-            </div>
-          </div>
-        </div>
-        </div>
-    </div>
-  </div>

http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/app/partials/modelSelect.html
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend/app/partials/modelSelect.html b/ocw-ui/frontend/app/partials/modelSelect.html
deleted file mode 100644
index 6ac653b..0000000
--- a/ocw-ui/frontend/app/partials/modelSelect.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!--
- ~ 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.
--->
-
-<div class="container">
-  <div class="row">
-    <div class="span10 offset1 columns">
-      <div class="row">
-        <div class="span10">
-          <center>
-            <form id="modelSelectorForm">
-              <input type="file" name="modelSelector">
-            </form>
-          </center>
-        </div>
-      </div>
-      <div class="row">
-        <div class="span10 offset2">
-          <form class="form-horizontal" id="parameterSelectorForm">
-            <div class="control-group">
-              <label class="control-label" for="paramSelect">Parameter Value</label>
-              <div class="controls">
-                <select id="paramSelect">
-                  <option ng-repeat="param in modelParameters">
-                    {{param.text}}
-                  </option>
-                </select>
-              </div>
-            </div>
-            <div class="control-group">
-              <label class="control-label" for="latSelect">Latitude Variable</label>
-              <div class="controls">
-                <select id="latSelect">
-                  <option ng-repeat="lat in latVariables">
-                    {{lat.text}}
-                  </option>
-                </select>
-              </div>
-            </div>
-            <div class="control-group">
-              <label class="control-label" for="lonSelect">Longitude Variable</label>
-              <div class"controls">
-                <select id="lonSelect">
-                  <option ng-repeat="lon in lonVariables">
-                    {{lon.text}}
-                  </option>
-                </select>
-              </div>
-            </div>
-            <div class="control-group">
-              <label class="control-label" for="dateTimeSelect">Date/Time Variable</label>
-              <div class="controls">
-                <select id="dateTimeSelect">
-                  <option ng-repeat="dateTime in dateTimeVariables">
-                    {{dateTime.text}}
-                  </option>
-                </select>
-              </div>
-            </div>
-            <div class="control-group">
-              <div class="controls">
-                <button type="submit" class="btn btn-warn">Cancel</button>
-                <button type="submit" class="btn">Add Model</button>
-              </div>
-            </div>
-          </form>
-        </div>
-      </div>
-    </div>
-  </div>
-</div>

http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/app/partials/results.detail.html
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend/app/partials/results.detail.html b/ocw-ui/frontend/app/partials/results.detail.html
deleted file mode 100644
index f2aab55..0000000
--- a/ocw-ui/frontend/app/partials/results.detail.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<div>
-  <h2>{{result}}</h2>
-  <div class="row-fluid text-center">
-    <div class="{{alertClass}}">{{alertMessage}}</div>
-    <ul>
-      <li ng-repeat="figure in figures">
-        <img class="result-figures" ng-src="{{baseURL}}/static/eval_results/{{figure}}" alt="" />
-      </li>
-    </ul>
-  </div>
-</div>

http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/app/partials/results.html
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend/app/partials/results.html b/ocw-ui/frontend/app/partials/results.html
deleted file mode 100644
index a8f58af..0000000
--- a/ocw-ui/frontend/app/partials/results.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<div class="row">
-  <div class="span3">
-    <div id="results-sidebar" class="pa-sidebar well well-small">
-      <ul class="nav nav-list">
-        <li id="results-sidebar-header" class="nav-header">Latest Run Results</li>
-        <li ng-repeat="result in results"
-            ng-class="{ active: $state.includes('results.detail') && $stateParams.resultId == result }">
-          <a href="#/results/{{result.replace('/', '')}}" >{{result}}</a>
-        </li>
-      </ul>
-      <div ui-view="menu"></div>
-    </div>
-  </div>
-  <div class="span9" ui-view ng-animate="{enter:'fade-enter'}"></div>
-</div>

http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/app/partials/results.list.html
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend/app/partials/results.list.html b/ocw-ui/frontend/app/partials/results.list.html
deleted file mode 100644
index ddc4ce2..0000000
--- a/ocw-ui/frontend/app/partials/results.list.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<h4>Select one of your previous runs. If none are displayed, please return
-  to the main page and start one!</h4>
-

http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/app/partials/selectObservation.html
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend/app/partials/selectObservation.html b/ocw-ui/frontend/app/partials/selectObservation.html
deleted file mode 100644
index 68c4a40..0000000
--- a/ocw-ui/frontend/app/partials/selectObservation.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<!--
- ~ 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.
--->
-
-<div ng-controller="ObservationSelectCtrl">
-  <form class="form-inline" autocomplete="off">
-    <input id="observationFileInput" predictive-file-browser-input ng-model="filePathInput" type="text" class="input-xlarge" autocomplete="off" />
-    <button class="btn" ng-click="uploadLocalFile()" ng-disabled="shouldDisableLoadButton()">
-      <div ng-hide="loadingFile">Parse File</div>
-      <div ng-show="loadingFile"><i class="icon-spinner icon-spin"></i></div>
-    </button>
-  </form>
-
-  <div class="row">
-    <div class="span2 text-center">
-      Evaluation Variable
-    </div>
-    <div class="span3">
-      <select ng-model="paramSelect" ng-options="param for param in params"></select>
-    </div>
-    <div class="span2 text-center">
-      Latitude Variable
-    </div>
-    <div class="span3">
-      <select ng-model="latsSelect" ng-options="lat for lat in lats"></select>
-    </div>
-    <div class="span2 text-center">
-      Longitude Variable
-    </div>
-    <div class="span3">
-      <select ng-model="lonsSelect" ng-options="lon for lon in lons"></select>
-    </div>
-    <div class="span2 text-center">
-      Date/Time Variable
-    </div>
-    <div class="span3">
-      <select ng-model="timeSelect" ng-options="time for time in times"></select>
-    </div>
-  </div>
-
-  <button class="btn btn-primary pull-left" ng-click="addDataSet()">Add Dataset</button>
-  <div class="pull-left small-alert" ng-show="fileAdded">Successfully added dataset...</div>
-</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/app/partials/selectRcmed.html
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend/app/partials/selectRcmed.html b/ocw-ui/frontend/app/partials/selectRcmed.html
deleted file mode 100644
index e9c5fcf..0000000
--- a/ocw-ui/frontend/app/partials/selectRcmed.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!--
- ~ 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.
--->
-
-<div ng-controller="RcmedSelectionCtrl">
-  <div class="row">
-    <div class="span5">
-    Select the RCMED dataset that you would like use.
-    </div>
-  </div>
-  <div class="row">
-    <div class="span4">
-      <select ng-change="dataSelectUpdated()" class="span5" ng-model="datasetSelection" ng-options="obs as obs.longname for obs in availableObs"></select>
-    </div>
-  </div>
-  <div class="row">
-    <div class="span5">
-    Select the dataset parameter that you would like to test.
-    </div>
-  </div>
-  <div class="row">
-    <div class="span4">
-      <select class="span3" ng-model="parameterSelection" ng-options="param as param.shortname for param in retrievedObsParams"></select>
-    </div>
-  </div>
-
-  <button class="btn btn-primary pull-left" ng-click="addObservation()">Add Observation</button>
-  <div class="pull-left small-alert" ng-show="fileAdded">Successfully added dataset...</div>
-</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/config/karma-e2e.conf.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend/config/karma-e2e.conf.js b/ocw-ui/frontend/config/karma-e2e.conf.js
deleted file mode 100755
index 746879e..0000000
--- a/ocw-ui/frontend/config/karma-e2e.conf.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * 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.
-**/
-basePath = '../';
-
-files = [
-  ANGULAR_SCENARIO,
-  ANGULAR_SCENARIO_ADAPTER,
-  'test/e2e/**/*.js'
-];
-
-autoWatch = false;
-
-browsers = ['Chrome'];
-
-singleRun = true;
-
-proxies = {
-  '/': 'http://localhost:8000/'
-};
-
-junitReporter = {
-  outputFile: 'test_out/e2e.xml',
-  suite: 'e2e'
-};

http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/config/karma.conf.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend/config/karma.conf.js b/ocw-ui/frontend/config/karma.conf.js
deleted file mode 100755
index 65b5013..0000000
--- a/ocw-ui/frontend/config/karma.conf.js
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * 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.
-**/
-basePath = '../';
-
-files = [
-  JASMINE,
-  JASMINE_ADAPTER,
-  'app/js/lib/jquery/jquery-1.10.1.js',
-  'app/js/lib/jquery/jquery-ui/jquery-ui-1.10.3.min.js',
-  'app/js/lib/bootstrap/bootstrap.js',
-  'app/js/lib/angular/angular.js',
-  'app/js/lib/angular/angular-*.js',
-  'app/js/lib/angular-ui/*.js',
-  'test/lib/angular/angular-mocks.js',
-  'app/js/lib/jquery/jquery-ui/datepicker-wrapper/date.js',
-  'app/js/lib/leaflet/leaflet-0.5.js',
-  'app/js/app.js',
-  'app/js/controllers/*.js',
-  'app/js/directives/*.js',
-  'app/js/services/*.js',
-  'app/js/filters/*.js',
-  'test/unit/**/*.js'
-];
-
-autoWatch = true;
-
-browsers = ['Chrome'];
-
-junitReporter = {
-  outputFile: 'test_out/unit.xml',
-  suite: 'unit'
-};

http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/scripts/e2e-test.sh
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend/scripts/e2e-test.sh b/ocw-ui/frontend/scripts/e2e-test.sh
deleted file mode 100755
index dfca333..0000000
--- a/ocw-ui/frontend/scripts/e2e-test.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash
-#
-# 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.
-#
-
-BASE_DIR=`dirname $0`
-
-echo ""
-echo "Starting Karma Server"
-echo "-------------------------------------------------------------------"
-
-karma start $BASE_DIR/../config/karma-e2e.conf.js $*

http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/scripts/test.sh
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend/scripts/test.sh b/ocw-ui/frontend/scripts/test.sh
deleted file mode 100755
index 7094550..0000000
--- a/ocw-ui/frontend/scripts/test.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash
-#
-# 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.
-#
-
-BASE_DIR=`dirname $0`
-
-echo ""
-echo "Starting Karma Server"
-echo "-------------------------------------------------------------------"
-
-karma start $BASE_DIR/../config/karma.conf.js $*

http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/scripts/web-server.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend/scripts/web-server.js b/ocw-ui/frontend/scripts/web-server.js
deleted file mode 100755
index e137ad2..0000000
--- a/ocw-ui/frontend/scripts/web-server.js
+++ /dev/null
@@ -1,313 +0,0 @@
-#!/usr/bin/env node
-/*
- * 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.
-**/
-
-var util = require('util'),
-    http = require('http'),
-    fs = require('fs'),
-    url = require('url'),
-    events = require('events');
-
-var DEFAULT_PORT = 8000;
-
-function main(argv) {
-  new HttpServer({
-    'GET': createServlet(StaticServlet),
-    'HEAD': createServlet(StaticServlet)
-  }).start(Number(argv[2]) || DEFAULT_PORT);
-}
-
-function escapeHtml(value) {
-  return value.toString().
-    replace('<', '&lt;').
-    replace('>', '&gt;').
-    replace('"', '&quot;');
-}
-
-function createServlet(Class) {
-  var servlet = new Class();
-  return servlet.handleRequest.bind(servlet);
-}
-
-/**
- * An Http server implementation that uses a map of methods to decide
- * action routing.
- *
- * @param {Object} Map of method => Handler function
- */
-function HttpServer(handlers) {
-  this.handlers = handlers;
-  this.server = http.createServer(this.handleRequest_.bind(this));
-}
-
-HttpServer.prototype.start = function(port) {
-  this.port = port;
-  this.server.listen(port);
-  util.puts('Http Server running at http://localhost:' + port + '/');
-};
-
-HttpServer.prototype.parseUrl_ = function(urlString) {
-  var parsed = url.parse(urlString);
-  parsed.pathname = url.resolve('/', parsed.pathname);
-  return url.parse(url.format(parsed), true);
-};
-
-HttpServer.prototype.handleRequest_ = function(req, res) {
-  var logEntry = req.method + ' ' + req.url;
-  if (req.headers['user-agent']) {
-    logEntry += ' ' + req.headers['user-agent'];
-  }
-  util.puts(logEntry);
-  req.url = this.parseUrl_(req.url);
-  var handler = this.handlers[req.method];
-  if (!handler) {
-    res.writeHead(501);
-    res.end();
-  } else {
-    handler.call(this, req, res);
-  }
-};
-
-/**
- * Handles static content.
- */
-function StaticServlet() {}
-
-StaticServlet.MimeMap = {
-  'txt': 'text/plain',
-  'html': 'text/html',
-  'css': 'text/css',
-  'xml': 'application/xml',
-  'json': 'application/json',
-  'js': 'application/javascript',
-  'jpg': 'image/jpeg',
-  'jpeg': 'image/jpeg',
-  'gif': 'image/gif',
-  'png': 'image/png',
-  'svg': 'image/svg+xml'
-};
-
-StaticServlet.prototype.handleRequest = function(req, res) {
-  var self = this;
-  var path = ('./' + req.url.pathname).replace('//','/').replace(/%(..)/g, function(match, hex){
-    return String.fromCharCode(parseInt(hex, 16));
-  });
-  var parts = path.split('/');
-  if (parts[parts.length-1].charAt(0) === '.')
-    return self.sendForbidden_(req, res, path);
-  if (~path.indexOf("dirlist"))
-    return self.getDirList_(req, res, path);
-  fs.stat(path, function(err, stat) {
-    if (err)
-      return self.sendMissing_(req, res, path);
-    if (stat.isDirectory())
-      return self.sendDirectory_(req, res, path);
-    return self.sendFile_(req, res, path);
-  });
-}
-
-StaticServlet.prototype.sendError_ = function(req, res, error) {
-  res.writeHead(500, {
-      'Content-Type': 'text/html'
-  });
-  res.write('<!doctype html>\n');
-  res.write('<title>Internal Server Error</title>\n');
-  res.write('<h1>Internal Server Error</h1>');
-  res.write('<pre>' + escapeHtml(util.inspect(error)) + '</pre>');
-  util.puts('500 Internal Server Error');
-  util.puts(util.inspect(error));
-};
-
-StaticServlet.prototype.sendMissing_ = function(req, res, path) {
-  path = path.substring(1);
-  res.writeHead(404, {
-      'Content-Type': 'text/html'
-  });
-  res.write('<!doctype html>\n');
-  res.write('<title>404 Not Found</title>\n');
-  res.write('<h1>Not Found</h1>');
-  res.write(
-    '<p>The requested URL ' +
-    escapeHtml(path) +
-    ' was not found on this server.</p>'
-  );
-  res.end();
-  util.puts('404 Not Found: ' + path);
-};
-
-StaticServlet.prototype.sendForbidden_ = function(req, res, path) {
-  path = path.substring(1);
-  res.writeHead(403, {
-      'Content-Type': 'text/html'
-  });
-  res.write('<!doctype html>\n');
-  res.write('<title>403 Forbidden</title>\n');
-  res.write('<h1>Forbidden</h1>');
-  res.write(
-    '<p>You do not have permission to access ' +
-    escapeHtml(path) + ' on this server.</p>'
-  );
-  res.end();
-  util.puts('403 Forbidden: ' + path);
-};
-
-StaticServlet.prototype.sendRedirect_ = function(req, res, redirectUrl) {
-  res.writeHead(301, {
-      'Content-Type': 'text/html',
-      'Location': redirectUrl
-  });
-  res.write('<!doctype html>\n');
-  res.write('<title>301 Moved Permanently</title>\n');
-  res.write('<h1>Moved Permanently</h1>');
-  res.write(
-    '<p>The document has moved <a href="' +
-    redirectUrl +
-    '">here</a>.</p>'
-  );
-  res.end();
-  util.puts('301 Moved Permanently: ' + redirectUrl);
-};
-
-StaticServlet.prototype.getDirList_ = function(req, res, path) {
-  res.writeHead(200, {
-	'Content-Type': 'json'
-  });
-
-  // Grab the passed path value
-  var pathQuery = url.parse(req.url, true).query.path
-  // Using the supplied path, grab directory information
-  var dirList = fs.readdirSync(pathQuery);
-
-  // Filter out any hidden files or current/previous directory references
-  dirList = dirList.filter(function(item, index, array) {
-	return (item[0] !== ".");
-  });
-  
-  // Generate the full path names for all the items found when 'ls'-ing 
-  // the passed directory.
-  dirList = dirList.map(function(item, index, array) {
-    var temp = item; 
-
-	// Make sure the path is joined properly. Sometimes there will be a trailing
-	// '/' in the path and sometimes there won't. Don't want to end up with '//'.
-    if (pathQuery[pathQuery.length - 1] === "/") {
-      temp = pathQuery + item;
-    } else {
-  	  temp = pathQuery + "/" + item;
-    }
-  
-	// We want the directories that are found to have a trailing '/'. Let's make sure
-	// that we do that!
-    var ret = temp;
-    if (fs.existsSync(temp + "/")) {
-     ret = temp + "/";
-    }  
-
-    return ret;
-  });
-  
-  // Sort all the results alphabetically ignoring case.
-  dirList = dirList.sort(function(a, b) {
-    if (a.toLowerCase() < b.toLowerCase()) return -1;
-    if (a.toLowerCase() > b.toLowerCase()) return 1;
-    return 0;
-  });
-
-  res.write(JSON.stringify(dirList));
-  res.end();
-}
-
-StaticServlet.prototype.sendFile_ = function(req, res, path) {
-  var self = this;
-  var file = fs.createReadStream(path);
-  res.writeHead(200, {
-    'Content-Type': StaticServlet.
-      MimeMap[path.split('.').pop()] || 'text/plain'
-  });
-  if (req.method === 'HEAD') {
-    res.end();
-  } else {
-    file.on('data', res.write.bind(res));
-    file.on('close', function() {
-      res.end();
-    });
-    file.on('error', function(error) {
-      self.sendError_(req, res, error);
-    });
-  }
-};
-
-StaticServlet.prototype.sendDirectory_ = function(req, res, path) {
-  var self = this;
-  if (path.match(/[^\/]$/)) {
-    req.url.pathname += '/';
-    var redirectUrl = url.format(url.parse(url.format(req.url)));
-    return self.sendRedirect_(req, res, redirectUrl);
-  }
-  fs.readdir(path, function(err, files) {
-    if (err)
-      return self.sendError_(req, res, error);
-
-    if (!files.length)
-      return self.writeDirectoryIndex_(req, res, path, []);
-
-    var remaining = files.length;
-    files.forEach(function(fileName, index) {
-      fs.stat(path + '/' + fileName, function(err, stat) {
-        if (err)
-          return self.sendError_(req, res, err);
-        if (stat.isDirectory()) {
-          files[index] = fileName + '/';
-        }
-        if (!(--remaining))
-          return self.writeDirectoryIndex_(req, res, path, files);
-      });
-    });
-  });
-};
-
-StaticServlet.prototype.writeDirectoryIndex_ = function(req, res, path, files) {
-  path = path.substring(1);
-  res.writeHead(200, {
-    'Content-Type': 'text/html'
-  });
-  if (req.method === 'HEAD') {
-    res.end();
-    return;
-  }
-  res.write('<!doctype html>\n');
-  res.write('<title>' + escapeHtml(path) + '</title>\n');
-  res.write('<style>\n');
-  res.write('  ol { list-style-type: none; font-size: 1.2em; }\n');
-  res.write('</style>\n');
-  res.write('<h1>Directory: ' + escapeHtml(path) + '</h1>');
-  res.write('<ol>');
-  files.forEach(function(fileName) {
-    if (fileName.charAt(0) !== '.') {
-      res.write('<li><a href="' +
-        escapeHtml(fileName) + '">' +
-        escapeHtml(fileName) + '</a></li>');
-    }
-  });
-  res.write('</ol>');
-  res.end();
-};
-
-// Must be last,
-main(process.argv);

http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/test/e2e/runner.html
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend/test/e2e/runner.html b/ocw-ui/frontend/test/e2e/runner.html
deleted file mode 100755
index 73c7733..0000000
--- a/ocw-ui/frontend/test/e2e/runner.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!--
- ~ 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.
- -->
-<!doctype html>
-<html lang="en">
-  <head>
-    <title>End2end Test Runner</title>
-    <script src="../lib/angular/angular-scenario.js" ng-autotest></script>
-    <script src="scenarios.js"></script>
-  </head>
-  <body>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/test/e2e/scenarios.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend/test/e2e/scenarios.js b/ocw-ui/frontend/test/e2e/scenarios.js
deleted file mode 100755
index c7c0e6c..0000000
--- a/ocw-ui/frontend/test/e2e/scenarios.js
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * 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.
-**/
-'use strict';
-
-/* http://docs.angularjs.org/guide/dev_guide.e2e-testing */
-
-describe('my app', function() {
-
-  beforeEach(function() {
-    browser().navigateTo('../../app/index.html');
-  });
-
-
-  it('should automatically redirect to /view1 when location hash/fragment is empty', function() {
-    expect(browser().location().url()).toBe("/view1");
-  });
-
-
-  describe('view1', function() {
-
-    beforeEach(function() {
-      browser().navigateTo('#/view1');
-    });
-
-
-    it('should render view1 when user navigates to /view1', function() {
-      expect(element('[ng-view] p:first').text()).
-        toMatch(/partial for view 1/);
-    });
-
-  });
-
-
-  describe('view2', function() {
-
-    beforeEach(function() {
-      browser().navigateTo('#/view2');
-    });
-
-
-    it('should render view2 when user navigates to /view2', function() {
-      expect(element('[ng-view] p:first').text()).
-        toMatch(/partial for view 2/);
-    });
-
-  });
-});