Adding Query UI code

refs: #2622

Change-Id: I8d7ac373b52696af82e404fa6a1e5464a4986c06
diff --git a/client/query/README.md b/client/query/README.md
new file mode 100644
index 0000000..0e0f1fb
--- /dev/null
+++ b/client/query/README.md
@@ -0,0 +1,7 @@
+The query UI helps with testing the system for queries.
+
+Things to note:
+   + It is written with the assumption that it is being run dynamically.
+     As such, it's recommended to be used with a server or a dynamic environment
+     (like http://brackets.io), because it otherwise just shows the autocomplete bar.
+   + To send Interests and get Data, it'll need to integrate the NDN-JS codebase.
diff --git a/client/query/query.css b/client/query/query.css
new file mode 100644
index 0000000..4708490
--- /dev/null
+++ b/client/query/query.css
@@ -0,0 +1,242 @@
+body {
+    font-family: "Helvetica Neue", "HelveticaNeue-Light", Helvetica, Verdana, Arial, "Lucida Grande", sans-serif;
+}
+
+header {
+    width: 100%;
+}
+
+h1 {
+    text-align: center;
+    font-weight: 600;
+    color: #0F582A;
+    text-shadow: #0A3D1B;
+}
+
+.textbox {
+    width: 70%;
+}
+
+.cssmenu,
+.cssmenu ul,
+.cssmenu li,
+.cssmenu a,
+.cssmenu span {
+    width: 160px;
+    margin: 0;
+    padding: 0;
+    border: none;
+    outline: none;
+    text-transform: capitalize;
+}
+
+.cssmenu li {
+    list-style: none;
+}
+
+.cssmenu li > a {
+    display: block;
+    position: relative;
+    min-width: 110px;
+    padding-left: 3px;
+    padding-top: 3px;
+    padding-bottom: 3px;
+    color: #fdfdfd;
+    /*font: bold 12px/32px Arial, sans-serif;*/
+    float: left;
+    text-decoration: none;
+    text-shadow: 0px 1px 0px rgba(0, 0, 0, .35);
+    background: #6c6e74;
+    -webkit-box-shadow: inset 0px 1px 0px 0px rgba(255, 255, 255, .1), 0px 1px 0px 0px rgba(0, 0, 0, .1);
+    -moz-box-shadow: inset 0px 1px 0px 0px rgba(255, 255, 255, .1), 0px 1px 0px 0px rgba(0, 0, 0, .1);
+    box-shadow: inset 0px 1px 0px 0px rgba(255, 255, 255, .1), 0px 1px 0px 0px rgba(0, 0, 0, .1);
+}
+
+.cssmenu li > a span {
+    display: block;
+    position: absolute;
+    top: 7px;
+    right: 0;
+    padding: 0 10px;
+    margin-right: 10px;
+    font: normal bold 12px/18px Arial, sans-serif;
+    background: #404247;
+    -webkit-border-radius: 15px;
+    -moz-border-radius: 15px;
+    border-radius: 15px;
+    -webkit-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, .2), 1px 1px 1px rgba(255, 255, 255, .1);
+    -moz-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, .2), 1px 1px 1px rgba(255, 255, 255, .1);
+    box-shadow: inset 1px 1px 1px rgba(0, 0, 0, .2), 1px 1px 1px rgba(255, 255, 255, .1);
+}
+
+.sub-menu li a {
+    color: #797979;
+    text-shadow: 1px 1px 0px rgba(255, 255, 255, .2);
+    background: #e5e5e5;
+    border-bottom: 1px solid #c9c9c9;
+    -webkit-box-shadow: inset 0px 1px 0px 0px rgba(255, 255, 255, .1), 0px 1px 0px 0px rgba(0, 0, 0, .1);
+    -moz-box-shadow: inset 0px 1px 0px 0px rgba(255, 255, 255, .1), 0px 1px 0px 0px rgba(0, 0, 0, .1);
+    box-shadow: inset 0px 1px 0px 0px rgba(255, 255, 255, .1), 0px 1px 0px 0px rgba(0, 0, 0, .1);
+}
+
+.sub-menu li:last-child a {
+    border: none;
+}
+
+.sub-menu li > a span {
+    color: #964D25;
+    text-shadow: 1px 1px 0px rgba(255, 255, 255, .2);
+    background: transparent;
+    border: 1px solid #c9c9c9;
+    -webkit-box-shadow: none;
+    -moz-box-shadow: none;
+    box-shadow: none;
+}
+
+.cssmenu > li:hover > a,
+.cssmenu > li:target > a {
+    color: #964D25;
+    text-shadow: 1px 1px 1px rgba(255, 255, 255, .2);
+    background: #F9C83A;
+}
+
+.cssmenu > li:hover > a span,
+.cssmenu > li:target > a span {
+    color: #964D25;
+    text-shadow: 0px 1px 0px rgba(0, 0, 0, .35);
+    background: #964D25;
+}
+
+.sub-menu li:hover a {
+    background: #FFEF36;
+}
+
+.autocomplete {
+    width: 80%;
+    /*padding-left: 100px;
+    margin: 0px;*/
+    display: block;
+    /*position: relative;*/
+}
+
+.textbox {
+    width: 70%;
+    padding-left: px;
+    margin: 0px;
+}
+
+.page {
+    padding-top: 10px;
+    padding-left: 10px;
+    width: 80%;
+}
+
+.resultTable {
+    margin: 0px;
+    padding: 0px;
+    width: 80%;
+    border: 1px solid #000000;
+    -moz-border-radius-bottomleft: 0px;
+    -webkit-border-bottom-left-radius: 0px;
+    border-bottom-left-radius: 0px;
+    -moz-border-radius-bottomright: 0px;
+    -webkit-border-bottom-right-radius: 0px;
+    border-bottom-right-radius: 0px;
+    -moz-border-radius-topright: 0px;
+    -webkit-border-top-right-radius: 0px;
+    border-top-right-radius: 0px;
+    -moz-border-radius-topleft: 0px;
+    -webkit-border-top-left-radius: 0px;
+    border-top-left-radius: 0px;
+    padding-left: 10px;
+}
+
+.resultTable table {
+    border-collapse: collapse;
+    border-spacing: 0;
+    width: 100%;
+    height: 100%;
+    margin: 0px;
+    padding: 0px;
+}
+
+.resultTable tr:last-child td:last-child {
+    -moz-border-radius-bottomright: 0px;
+    -webkit-border-bottom-right-radius: 0px;
+    border-bottom-right-radius: 0px;
+}
+
+.resultTable table tr:first-child td:first-child {
+    -moz-border-radius-topleft: 0px;
+    -webkit-border-top-left-radius: 0px;
+    border-top-left-radius: 0px;
+}
+
+.resultTable table tr:first-child td:last-child {
+    -moz-border-radius-topright: 0px;
+    -webkit-border-top-right-radius: 0px;
+    border-top-right-radius: 0px;
+}
+
+.resultTable tr:last-child td:first-child {
+    -moz-border-radius-bottomleft: 0px;
+    -webkit-border-bottom-left-radius: 0px;
+    border-bottom-left-radius: 0px;
+}
+
+.resultTable tr:hover td {}
+
+.resultTable tr:nth-child(odd) {
+    background-color: #86bd4a;
+}
+
+.resultTable tr:nth-child(even) {
+    background-color: #fdfdfd;
+}
+
+.resultTable td {
+    vertical-align: middle;
+    border: 1px solid #000000;
+    border-width: 0px 1px 1px 0px;
+    text-align: left;
+    padding: 7px;
+    font-size: 10px;
+    font-family: Arial;
+    font-weight: normal;
+    color: #000000;
+}
+
+.resultTable tr:last-child td {
+    border-width: 0px 1px 0px 0px;
+}
+
+.resultTable tr td:last-child {
+    border-width: 0px 0px 1px 0px;
+}
+
+.resultTable tr:last-child td:last-child {
+    border-width: 0px 0px 0px 0px;
+}
+
+.resultTable tr:first-child td {
+    background-color: #6c726b;
+    border: 0px solid #000000;
+    text-align: center;
+    border-width: 0px 0px 1px 1px;
+    font-size: 14px;
+    font-family: Arial;
+    font-weight: bold;
+    color: #ffffff;
+}
+
+.resultTable tr:first-child:hover td {
+    background-color: #6c726b;
+}
+
+.resultTable tr:first-child td:first-child {
+    border-width: 0px 0px 1px 0px;
+}
+
+.resultTable tr:first-child td:last-child {
+    border-width: 0px 0px 1px 1px;
+}
\ No newline at end of file
diff --git a/client/query/query.html b/client/query/query.html
new file mode 100644
index 0000000..b8f0e61
--- /dev/null
+++ b/client/query/query.html
@@ -0,0 +1,202 @@
+<!DOCTYPE html>
+<html lang="en-US">
+
+<head>
+    <title>Atmospheric Query and Retrieval Tool</title>
+    <meta charset="UTF-8" />
+
+
+    <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
+    <script src="http://code.jquery.com/ui/1.10.1/jquery-ui.js"></script>
+
+
+
+    <link rel="stylesheet" href="query.css">
+
+    <script>
+        var searchMenuOptions = {};
+        var results = {};
+        var resultCount = 0;
+        var page = 1;
+        var totalPages = 1;
+
+        $(document).ready(function () {
+            var searchMenu = $(".cssmenu");
+            var currentPage = $(".page");
+            var resultTable = $(".resultTable");
+            var data = $.getJSON("sample.json", function () {
+            })
+            .done(function( data ) {
+                $.each(data, function (pageSection, contents) {
+                    if (pageSection == "SearchCatagories") {
+
+                        $.each(contents, function (search, searchOptions) {
+                            search = search.replace(/\_/g, " ");
+
+                            searchMenu.append('<li id="' + search + '" onclick="getDropDown(this.id)"><a href="#">' + search + '</a></li>');
+                            searchMenuOptions[search] = searchOptions;
+                        });
+                    } else if (pageSection == "QueryResults") {
+                        results = {};
+                        resultCount = 0;
+                        var view = [0, 0];
+                        $.each(contents, function (queryResult, field) {
+                            if (queryResult == "Length") {
+                                resultCount = field;
+                            } else if (queryResult == "View") {
+                                view = field;
+                            } else if (queryResult == "Results") {
+                                resultTable.empty();
+                                resultTable.append('<tr><td>Results</td></tr>');
+
+                                $.each(field, function (entryCount, fullResult) {
+
+                                    $.each(fullResult, function (name, metadata) {
+                                        resultTable.append('<tr><td onclick="getDetails(this.id)" id="' + name + '">' + name + '</td></tr>');
+                                        results[name] = metadata;
+                                    });
+
+                                });
+                            } else {
+                                console.error("Unknown field " + queryResult);
+                            }
+                        });
+
+                        // Calculating the current page and the view
+                        var diff = view[1] - view[0] + 1;
+                        if (diff > 0) {
+                            totalPages = Math.ceil(resultCount / diff);
+                            page = Math.ceil(view[0] / diff) + 1;
+                        } else {
+                            totalPages = 1;
+                            page = 1;
+                        }
+
+                        if (page != 1) {
+                            console.log(view[0]);
+                            currentPage.append('<span id="' + (view[0] - 1) + '" onclick="getPage(this.id)"><a href="#"><</a>');
+                        }
+
+                        // This section of code creates the paging for the results.
+                        // To prevent it from having a 1000+ pages, it will only show the 5 pages before/after
+                        // the current page and the total pages (expect users not to really jump around a lot).
+                        for (var i = 0; i < totalPages; ++i) {
+                            if (i + 1 == 1 || i + 1 == page || i + 1 == totalPages || (i + 1 < page && i + 4 > page) || (i + 1 > page && i - 4 < page)) { // in our current page range
+                                currentPage.append(' ');
+                                currentPage.append('<span id="' + (i + 1) + '" onclick="getPage(this.id)">');
+                                if (i + 1 != page) {
+                                    currentPage.append('<a href="#">' + (i + 1) + '</a>')
+                                } else {
+                                    currentPage.append(i + 1);
+                                }
+                                currentPage.append('</span>');
+                            } else { // Need to skip ahead
+                                currentPage.append(' ...');
+                                if (i == page + 5) {
+                                    i = totalPages - 2;
+                                } else if (i < page - 7) {
+                                    i = page - 6;
+                                }
+                            }
+                        }
+                        if (page != totalPages) {
+                            currentPage.append(' <span id="' + (page + diff) + '" onclick="getPage(this.id)"><a href="#">></a>');
+                        }
+                    }
+                });
+            })();
+        });
+
+        var state = "";
+
+        function getDropDown(str) {
+            var searchMenu = $(".cssmenu");
+            if (str == state) {
+                state = "";
+                searchMenu.find("#" + str).find("#options_" + str).empty();
+            } else {
+                state = str;
+
+                $.each(searchMenuOptions, function (search, fields) {
+                    if (search === str) {
+                        searchMenu.find("#" + search).append('<ul id="options_' + search + '" class="sub-menu">');
+                        for (var i = 0; i < fields.length; ++i) {
+                            searchMenu.find("#options_" + search).append('<li><a href="#">' + fields[i] + '</a></li>');
+                        }
+                        searchMenu.append('</ul>');
+                    } else {
+                        var ul = $("options_" + search);
+                        ul.empty();
+                        searchMenu.find("#" + search).find("#options_" + search).empty();
+                    }
+                });
+            }
+        }
+
+        function getPage(str) {
+            // @todo
+        }
+
+        function getDetails(str) {
+            // @todo: Identify the correct way to integrate the download backend so that we know who
+            // we should be pointing at.
+
+            var details = "<h2>" + str + "<h2>";
+
+            details += '<form action="getDownload()"><input type="submit" value="Download"></form>';
+            details += "<table>";
+            $.each(results[str], function (fieldName, field) {
+                console.log(fieldName);
+
+                details += "<tr>"
+                details += "<td>" + fieldName + "</td>";
+                if (typeof field === 'object') {
+                    details += "<td><table>";
+                    $.each(field, function (name, fields) {
+                        details += '<tr><td>' + name + '</td><td>' + fields + '<td></tr>';
+                    });
+                    details += "</table></td>";
+                } else {
+                    details += "<td>" + field + "</td>"
+                }
+                details += "</tr>"
+
+            });
+            details += "</table>";
+            details += '<form action="getDownload()"><input type="submit" value="Download"></form>';
+
+            var detailsWindow = window.open("", str, "width=400, height=600, toolbar=no, menubar=no");
+            detailsWindow.document.write(details);
+            detailsWindow.onload = function () { // of course you can use other onload-techniques
+                jQuery(detailsWindow.document.head).append('<script>function getDownload() {alert("Yay";)}</' + "script>"); // or any other dom manipulation
+            }
+
+            //window.open("details.html", "_blank", "toolbar=no, scrollbars=yes, resizable=yes, top=500, left=500, width=400, height=400");*/
+        }
+    </script>
+</head>
+
+<body id="body">
+    <header>
+        <h1>Atmospheric Query and Retrieval Tool</h1>
+    </header>
+
+    <ul class='cssmenu'>
+
+    </ul>
+
+    <div class="autocomplete">
+        <form action="submit()">
+            <input type="text" name="autocomplete" class="textbox" id="autocomplete" placeholder="cmap" width="800px">
+            <input type="submit" value="Search">
+        </form>
+    </div>
+    <table class="resultTable">
+
+
+    </table>
+    <div class="page"></div>
+
+</body>
+
+</html>
diff --git a/client/query/sample.json b/client/query/sample.json
new file mode 100644
index 0000000..249817b
--- /dev/null
+++ b/client/query/sample.json
@@ -0,0 +1,727 @@
+{
+    "QueryRestrictions": [],
+    "SearchCatagories": {
+        "institute": ["BCC", "BNU", "CCCMA", "CMCC", "CNRM-CERFACS", "COLA-CFS", "CSIRO-BOM", "CSIRO-QCCCE", "FIO", "ICHEC", "INM", "INPE", "IPSL", "LASG-CESS", "LASG-IAP", "MIROC", "MOHC", "MPI-M", "MRI", "NASA-GISS", "NASA-GMAO", "NCAR", "NCC", "NCEP", "NICAM", "NIMR-KMA", "NOAA-GFDL", "NSF-DOE-NCAR", "SMHI", "UNSW"],
+        "model": ["ACCESS1.0", "ACCESS1.3", "BCC - CSM1.1", "BCC - CSM1.1(m)", "BNU - ESM", "CCSM4", "CESM1(BGC)", "CESM1(CAM5)", "CESM1(CAM5.1, FV2)", "CESM1(FASTCHEM)", "CESM1(WACCM)", "CFSv2 - 2011", "CMCC - CESM", "CMCC - CM", "CMCC - CMS", " CNRM - CM5", "CNRM - CM5 - 2", "CSIRO - Mk3.6.0", "CSIRO - Mk3L - 1 - 2", "CanAM4", "CanCM4", "CanESM2", "EC - EARTH", "FGOALS - g2", "FGOALS - gl", "FGOALS - s2", "FIO - ESM", "GEOS - 5", "GFDL - CM2.1", "GFDL - CM3", "GFDL - ESM2G", "GFDL - ESM2M", "GFDL - HIRAM - C180", "GFDL - HIRAM - C360", "GISS - E2 - H", "GISS - E2 - H - CC", "GISS - E2 - R", "GISS - E2 - R - CC", "HadCM3", "HadGEM2 - A", "HadGEM2 - AO", "HadGEM2 - CC ", "HadGEM2 - ES", "INM - CM4", "IPSL - CM5A - LR", "IPSL - CM5A - MR", "IPSL - CM5B - LR", "MIROC - ESM", "MIROC - ESM - CHEM", "MIROC4h", "MIROC5", "MPI - ESM - LR", "MPI - ESM - MR", "MPI - ESM - P", "MRI - AGCM3.2H", "MRI - AGCM3.2S", "MRI - CGCM3", "MRI - ESM1", "NICAM - 09", "NorESM1 - M", "NorESM1 - ME"],
+        "submodel": [],
+        "instrument": [],
+        "experiment_family": ["All", "Atmos - only", "Control", "Decadal", "ESM", "Historical", "Idealized", "Paleo", "RCP"],
+        "experiment": ["abrupt4xCO2", "amip", "amip4K", "amip4xCO2", "amipFuture", "aqua4K", "aqua4xCO2", "aquaControl", "decadal1959", "decadal1960", "decadal1961", "decadal1962", "decadal1963", "decadal1964", "decadal1965", "decadal1966", "decadal1967", "decadal1968", "decadal1969", "decadal1970", "decadal1971", "decadal1972", "decadal1973", "decadal1974", "decadal1975", "decadal1976", "decadal1977", "decadal1978", "decadal1979", "decadal1980", "decadal1981", "decadal1982", "decadal1983", "decadal1984", "decadal1985", "decadal1986", "decadal1987", "decadal1988", "decadal1989", "decadal1990", "decadal1991", "decadal1992", "decadal1993", "decadal1994", "decadal1995", "decadal1996", "decadal1997", "decadal1998", "decadal1999", "decadal2000", "decadal2001", "decadal2002", "decadal2003", "decadal2004", "decadal2005", "decadal2006", "decadal2007", "decadal2008", "decadal2009", "decadal2010", " decadal2011", "decadal2012", "esmControl", "esmFdbk1", "esmFdbk2", "esmFixClim1", "esmFixClim2", "esmHistorical", "esmrcp85", "historical", "historicalExt", "historicalGHG", "historicalMisc", "historicalNat", "lgm", "midHolocene", "noVolc1960", "noVolc1965", "noVolc1970", "noVolc1975", "noVolc1980", "noVolc1985", "noVolc1990", "noVolc1995", "noVolc2000", "noVolc2005", "past1000", "piControl", "rcp26", "rcp45", "rcp60", "rcp85", "sst2030", "sst2090", "sst2090rcp45", "sstClim", "sstClim4xCO2", "sstClimAerosol", "sstClimSulfate", "volcIn2010"],
+        "subexperiment": [],
+        "frequency": ["3hr", "6hr", "day", "fx", "mon", "monClim", "subhr", "yr"],
+        "product": ["output1", "output2", "restricted", "unsolicited"],
+        "realm": ["aerosol", "atmos", "land", "landIce", "ocean", "ocnBgchem", "seaIce"],
+        "variable": ["agessc", "albisccp", "areacella", "areacello", "bmelt", "burntArea", "cCwd", "cLeaf", "cLitter", "cMisc", "cProduct", "cRoot", "cSoil", "cSoilFast", "cSoilMedium", "cSoilSlow", "cVeg", "cWood", "ccb", "cct", "cfc11", "ch4", "chl", "chlcalc", "chldiat", "chldiaz", "chlpico", "ci", "cl", "clcalipso", "clhcalipso", "cli", "clic", "clis", "clisccp", "clivi", "cllcalipso", "clmcalipso", "clt", "cltcalipso", "cltisccp", "clw", "clwc", "clws", "clwvi", "co2", "co3", "co3satarag", "co3satcalc", "deptho", "dfe", "dissic", "dissoc", "divice", "dpco2", "epc100", "epcalc100", "epfe100", "epsi100", "evap", "evspsbl", "evspsblsoi", "evspsblveg", "expc", "expcalc", "expcfe", "expsi", "fFire", "fLitterSoil", "fLuc", "fVegLitter", "fbddtalk", "fbddtdic", "fbddtdife", "fbddtdin", "fbddtdip", "fbddtdisi", "fddtalk", "fddtdic", "fddtdife", "fddtdin", "fddtdip", "fddtdisi", "fgco2", "fgo2", "frn", "gpp", "grCongel", "grFrazil", "h2o", "hfds", "hfdsn", "hfls", "hflssi", "hfss", "hfssi", "hur", "hurs", "hus", "huss", "intdic", "intpbsi", "intpcalc", "intpcalcite", "intpdiat", "intpdiaz", "intpn2", "intpnitrate", "intpp", "intppico", "lai", "lwsnl", "masso", "mc", "mrfso", "mrlsl", "mrro", "mrros", "mrso", "mrsofc", "mrsos", "msftbarot", "msftmyz", "msftmyzba", "n2o", "nbp", "nh4", "no3", "npp", "nppLeaf", "nppRoot", "nppWood", "o2", "o2min", "od550aer", "omlmax", "orog", "parasolRefl", "pctisccp", "ph", "phyc", "phycalc", "phydiat", "phydiaz", "phyfe", "phyn", "phyp", "phypico", "physi", "po4", "pr", "prc", "prsn", "prveg", "prw", "ps", "psl", "rGrowth", "rMaint", "ra", "reffclic", "reffclis", "reffclwc", "reffclws", "reffrains", "reffsnows", "rh", "rhopoto", "rhs", "rlds", "rldscs", "rldssi", "rlus", "rlussi", "rlut", "rlutcs", "rsds", "rsdscs", "rsdssi", "rsdt", "rsntds", "rsus", "rsuscs", "rsut", "rsutcs", "rtmt", "sci", "sfcWind", "sftgif", "sftlf", "sftof", "si", "sic", "sit", "snc", "snd", "snm", "snoToIce", "snomelt", "snw", "so", "soga", "sootsn", "sos", "spco2", "strairx", "strairy", "streng", "strocnx", "strocny", "ta", "ta700", "talk", "tas", "tasmax", "tasmin", "tauu", "tauuo", "tauv", "tauvo", "thetao", "thetaoga", "thkcello", "tmelt", "tnhus", "tnhusa", "tnhusc", "tnhusd", "tnhusmp", "tnhusscpbl", "tnt", "tntc", "tntmp", "tntr", "tntscpbl", "tos", "tossq", "tran", "tro3", "ts", "tsice", "tsl", "ua", "umo", "uo", "usi", "va", "vmo", "vo", "volcello", "vsi", "wap", "wmo", "wmosq", "zg", "zo2min", "zooc", "zos", "zosga", "zossga", "zossq", "zostoga", "zsatarag", "zsatcalc"],
+        "variable_long_name": [],
+        "cmip_table": ["3hr", "3hrExtras", "6hrLev", "6hrPlev", "Aclim", "Amon", "AmonExtras", "LIclim", "LImon", "Lclim", "Lmon", "LmonExtras", "OImon", "Oclim", "Omon", "OmonExtras", "Oyr", "OyrExtras", "aero", "cf3hr", "cfDay", "cfMon", "cfOff", "cfSites", "day", "dayExtras", "fx"],
+        "cf_standardname": [],
+        "ensemble": ["r0i0p0", "r10i1p1", "r10i2p1", "r1i1p1", "r1i1p10", "r1i1p11", "r1i1p12", "r1i1p13", "r1i1p14", "r1i1p15", "r1i1p16", "r1i1p17", "r1i1p2", "r1i1p3", "r1i2p1", "r1i2p2", "r2i1p1", "r2i1p10", "r2i1p11", "r2i1p12", "r2i1p13", "r2i1p14", "r2i1p16", "r2i1p17", "r2i2p1", "r3i1p1", "r3i1p10", "r3i1p11", "r3i1p13", "r3i1p14", "r3i1p16", "r3i1p17", "r3i2p1", "r4i1p1", "r4i1p10", "r4i1p11", "r4i1p12", "r4i1p14", "r4i1p15", "r4i1p16", "r4i1p17", "r4i2p1", "r5i1p1", "r5i2p1", "r6i1p1", "r6i1p10", "r6i1p11", "r6i1p12", "r6i1p13", "r6i1p14", "r6i1p15", "r6i1p16", "r6i1p17", "r6i2p1", "r7i1p1", "r7i2p1", "r8i1p1", "r8i2p1", "r9i1p1", "r9i2p1"],
+        "data_node": ["adm07.cmcc.it", "bcccsm.cma.gov.cn", "bmbf-ipcc-ar5.dkrz.de", "cmip-dn1.badc.rl.ac.uk", "cmip5.fio.org.cn", "dapp2p.cccma.ec.gc.ca", "dias-esg-nd.tkl.iis.u-tokyo.ac.jp", "esg-dn1.nsc.liu.se", "esg.bnu.edu.cn", "esg.cnrm-game-meteo.fr", "esg.lasg.ac.cn", "esg01.nersc.gov", "esg2.e-inis.ie", "esgdata.gfdl.noaa.gov", "esgdata1.nccs.nasa.gov", "esgf.extra.cea.fr", "esgnode2.nci.org.au", "noresg.norstore.uio.no", "pcmdi7.llnl.gov", "pcmdi9.llnl.gov", "tds.ucar.edu", "vesg.ipsl.fr"]
+    },
+    "QueryResults": {
+        "Length": 876342,
+        "View": [10, 19],
+        "Results": [
+            {
+                "psl_6hrPlev_CMCC-CM_rcp85_r1i1p1_2006050100-2006051609": {
+                    "time": "UNLIMITED",
+                    "latitude": 240,
+                    "longitude": 480,
+                    "bounds": 2,
+                    "variables": {
+                        "time:units": "days since 2006-5-1",
+                        "time:calendar": "standard",
+                        "time:axis": "T",
+                        "time:long_name": "time",
+                        "time:standard_name": "time",
+                        "lat:bounds": "lat_bnds",
+                        "lat:units": "degrees_north",
+                        "lat:axis": "Y",
+                        "lat:long_name": "latitude",
+                        "lat:standard_name": "latitude",
+                        "lon:bounds": "lon_bnds",
+                        "lon:units": "degrees_east",
+                        "lon:axis": "X",
+                        "lon:long_name": "longitude",
+                        "lon:standard_name": "longitude",
+                        "psl:standard_name": "air_pressure_at_sea_level",
+                        "psl:long_name": "Sea Level Pressure",
+                        "psl:units": "Pa",
+                        "psl:original_name": "slp",
+                        "psl:cell_measures": "area: areacella",
+                        "psl:associated_files": "baseURL: http://cmip-pcmdi.llnl.gov/CMIP5/dataLocation gridspecFile: gridspec_atmos_fx_CMCC-CM_rcp85_r0i0p0.nc areacella: areacella_fx_CMCC-CM_rcp85_r0i0p0.nc",
+                        "psl:history": "2012-02-10T14:49:14Z altered by CMOR: Inverted axis: lat."
+                    },
+                    "institution": "CMCC - Centro Euro-Mediterraneo per i Cambiamenti",
+                    "institute_id": "CMCC",
+                    "experiment_id": "rcp85",
+                    "source": "CMCC-CM",
+                    "model_id": "CMCC-CM",
+                    "forcing": "Nat,GHG,SA,TO,Sl",
+                    "parent_experiment_id": "N/A",
+                    "parent_experiment_rip": "N/A",
+                    "branch_time": 0,
+                    "contact": "Silvio Gualdi (gualdi@bo.ingv.it)",
+                    "history": "Model output postprocessed with CDO 2012-02-10T14:49:14Z CMOR rewrote data to comply with CF standards and CMIP5 requirements.",
+                    "comment": "Equilibrium reached after more than 600-year spin-up at pre-industrial GHG concentrations after which data were output with nominal date of January 1550",
+                    "references": "model described in the documentation at http://www.cmcc.it/data-models/models",
+                    "initialization_method": 1,
+                    "physics_version": 1,
+                    "tracking_id": "37b43d78-ab42-4b44-bf1f-3e2eda008183",
+                    "product": "output",
+                    "experiment": "RCP8.5",
+                    "frequency": "6hr",
+                    "creation_date": "2012-02-10T14:49:14Z",
+                    "Conventions": "CF-1.4",
+                    "project_id": "CMIP5",
+                    "table_id": "Table 6hrPlev (27 April 2011) 00b465eee32d6d11a7e57f5cc8e067f8",
+                    "title": "CMCC-CM model output prepared for CMIP5 RCP8.5",
+                    "parent_experiment": "N/A",
+                    "modeling_realm": "atmos",
+                    "realization": 1,
+                    "cmor_version": "2.7.1"
+                }
+                    },
+            {
+                "ua_6hrLev_bcc-csm1-1-m_rcp85_r1i1p1_201710200000-201712311800": {
+                    "time": "UNLIMITED",
+                    "lev": "26",
+                    "latitude": "160",
+                    "longitude": "320",
+                    "bnds": 2,
+                    "variables": {
+                        "time:bounds": "time_bnds",
+                        "time:units": "days since 2017-01-01 00:00:00",
+                        "time:calendar": "noleap",
+                        "time:axis": "T",
+                        "time:long_name": "time",
+                        "time:standard_name": "time",
+                        "lev:bounds": "lev_bnds",
+                        "lev:units": "1",
+                        "lev:axis": "Z",
+                        "lev:positive": "down",
+                        "lev:long_name": "hybrid sigma pressure coordinate",
+                        "lev:standard_name": "atmosphere_hybrid_sigma_pressure_coordinate",
+                        "lev:formula": "p = a*p0 + b*ps",
+                        "lev:formula_terms": "p0: p0 a: a b: b ps: ps",
+                        "lev_bnds:formula": "p = a*p0 + b*ps",
+                        "lev_bnds:standard_name": "atmosphere_hybrid_sigma_pressure_coordinate",
+                        "lev_bnds:units": "1",
+                        "lev_bnds:formula_terms": "p0: p0 a: a_bnds b: b_bnds ps: ps",
+                        "p0:long_name": "vertical coordinate formula term: reference pressure",
+                        "p0:units": "Pa",
+                        "a:long_name": "vertical coordinate formula term: a(k)",
+                        "b:long_name": "vertical coordinate formula term: b(k)",
+                        "ps:standard_name": "surface_air_pressure",
+                        "ps:long_name": "Surface Air Pressure",
+                        "ps:comment": "surface pressure, not mean sea level pressure",
+                        "ps:units": "Pa",
+                        "ps:cell_measures": "area: areacella",
+                        "a_bnds:long_name": "vertical coordinate formula term: a(k+1/2)",
+                        "b_bnds:long_name": "vertical coordinate formula term: b(k+1/2)",
+                        "lat:bounds": "lat_bnds",
+                        "lat:units": "degrees_north",
+                        "lat:axis": "Y",
+                        "lat:long_name": "latitude",
+                        "lat:standard_name": "latitude",
+                        "lon:bounds": "lon_bnds",
+                        "lon:units": "degrees_east",
+                        "lon:axis": "X",
+                        "lon:long_name": "longitude",
+                        "lon:standard_name": "longitude",
+                        "ua:standard_name": "eastward_wind",
+                        "ua:long_name": "Eastward Wind",
+                        "ua:units": "m s-1",
+                        "ua:original_name": "U",
+                        "ua:associated_files": "baseURL: http://cmip-pcmdi.llnl.gov/CMIP5/dataLocation gridspecFile: gridspec_atmos_fx_bcc-csm1-1-m_rcp85_r0i0p0.nc",
+                        "ua:history": "2012-07-12T07:31:30Z altered by CMOR: Inverted axis: lev."
+                    },
+                    "institution": "Beijing Climate Center(BCC),China Meteorological Administration,China",
+                    "institute_id": "BCC",
+                    "experiment_id": "rcp85",
+                    "source": "bcc-csm1-1-m:atmosphere:  BCC_AGCM2.2 (T106L26), land: BCC_AVIM1.1,ocean: MOM4_L40v2 (tripolar, 1 lon x (1-1/3) lat, L40),sea ice: SIS (tripolar,1 lon x (1-1/3) lat)",
+                    "model_id": "bcc-csm1-1-m",
+                    "forcing": "Nat Ant GHG SD Oz Sl SS Ds BC OC",
+                    "parent_experiment_id": "historical",
+                    "parent_experiment_rip": "r1i1p1",
+                    "branch_time": 2006,
+                    "contact": "Dr. Tongwen Wu (twwu@cma.gov.cn)",
+                    "history": "Output from monthly mean data 2012-07-12T07:31:30Z CMOR rewrote data to comply with CF standards and CMIP5 requirements.",
+                    "comment": "The main difference between BCC-CSM1-1-M and BCC-CSM1-1 is their horizontal resolutions of the atmospheric component and the corresponding mask of sea-land. Continuation of historical from 2006 to 2099. Future projection (2006-2099) forced with prescribed concentration scenario of RCP8.5. The carbon cycle in land and ocean component model is considered, but the time-evolution of CO2 concentration in atmospheric component is prescribed.",
+                    "initialization_method": 1,
+                    "physics_version": 1,
+                    "tracking_id": "2412b77c-55e2-4796-96a7-8625112fc4f2",
+                    "product": "output",
+                    "experiment": "RCP8.5",
+                    "frequency": "6hr",
+                    "creation_date": "2012-07-12T07:31:30Z",
+                    "Conventions": "CF-1.4",
+                    "project_id": "CMIP5",
+                    "table_id": "Table 6hrLev (11 April 2011) 583cb2bb254a9bc7ec5a7bb9cf07ce44",
+                    "title": "bcc-csm1-1-m model output prepared for CMIP5 RCP8.5",
+                    "parent_experiment": "historical",
+                    "modeling_realm": "atmos",
+                    "realization": 1,
+                    "cmor_version": "2.5.6"
+                }
+            },
+            {
+                "va_6hrPlev_MPI-ESM-LR_rcp85_r1i1p1_2015010100-2015123118": {
+                    "time": "UNLIMITED",
+                    "plev": 3,
+                    "latitude": 96,
+                    "longitude": 192,
+                    "bnds": 2,
+                    "variables": {
+                        "time:units": "days since 1850-1-1 00:00:00",
+                        "time:calendar": "proleptic_gregorian",
+                        "time:axis": "T",
+                        "time:long_name": "time",
+                        "time:standard_name": "time",
+                        "plev:units": "Pa",
+                        "plev:axis": "Z",
+                        "plev:positive": "down",
+                        "plev:long_name": "pressure",
+                        "plev:standard_name": "air_pressure",
+                        "lat:bounds": "lat_bnds",
+                        "lat:units": "degrees_north",
+                        "lat:axis": "Y",
+                        "lat:long_name": "latitude",
+                        "lat:standard_name": "latitude",
+                        "lon:bounds": "lon_bnds",
+                        "lon:units": "degrees_east",
+                        "lon:axis": "X",
+                        "lon:long_name": "longitude",
+                        "lon:standard_name": "longitude",
+                        "va:standard_name": "northward_wind",
+                        "va:long_name": "Northward Wind",
+                        "va:units": "m s-1",
+                        "va:associated_files": "baseURL: http://cmip-pcmdi.llnl.gov/CMIP5/dataLocation gridspecFile: gridspec_atmos_fx_MPI-ESM-LR_rcp85_r0i0p0.nc"
+                    },
+                    "institution": "Max Planck Institute for Meteorology",
+                    "institute_id": "MPI-M",
+                    "experiment_id": "rcp85",
+                    "source": "MPI-ESM-LR 2011, URL: http://svn.zmaw.de/svn/cosmos/branches/releases/mpi-esm-cmip5/src/mod, atmosphere: ECHAM6 (REV: 4619), T63L47, land: JSBACH (REV: 4619), ocean: MPIOM (REV: 4619), GR15L40, sea ice: 4619, marine bgc: HAMOCC (REV: 4619),",
+                    "model_id": "MPI-ESM-LR",
+                    "forcing": "GHG Oz SD Sl Vl LU",
+                    "parent_experiment_id": "historical",
+                    "parent_experiment_rip": "r1i1p1",
+                    "branch_time": 56978,
+                    "contact": "cmip5-mpi-esm@dkrz.de",
+                    "history": "Model raw output postprocessing with modelling environment (IMDI) at DKRZ: URL: http://svn-mad.zmaw.de/svn/mad/Model/IMDI/trunk, REV: 3433 2011-07-14T17:26:52Z CMOR rewrote data to comply with CF standards and CMIP5 requirements.",
+                    "references": "ECHAM6: n/a, JSBACH: Raddatz et al., 2007. Will the tropical land biosphere dominate the climate-carbon cycle feedback during the twenty first century? Climate Dynamics, 29, 565-574, doi 10.1007/s00382-007-0247-8,  MPIOM: Marsland et al., 2003. The Max-Planck-Institute global ocean/sea ice model with orthogonal curvilinear coordinates. Ocean Modelling, 5, 91-127,  HAMOCC: http://www.mpimet.mpg.de/fileadmin/models/MPIOM/HAMOCC5.1_TECHNICAL_REPORT.pdf,",
+                    "initialization_method": 1,
+                    "physics_version": 1,
+                    "tracking_id": "d183f80c-e376-4721-9b3c-374e08df18e7",
+                    "product": "output",
+                    "experiment": "RCP8.5",
+                    "frequency": "6hr",
+                    "creation_date": "2011-07-14T17:28:04Z",
+                    "Conventions": "CF-1.4",
+                    "project_id": "CMIP5",
+                    "table_id": "Table 6hrPlev (27 April 2011) 00b465eee32d6d11a7e57f5cc8e067f8",
+                    "title": "MPI-ESM-LR model output prepared for CMIP5 RCP8.5",
+                    "parent_experiment": "historical",
+                    "modeling_realm": "atmos",
+                    "realization": 1,
+                    "cmor_version": "2.5.9"
+                }
+            },
+            {
+                "psl_6hrPlev_HadGEM2-ES_rcp85_r2i1p1_2093122106-2094122100": {
+                    "time": "UNLIMITED",
+                    "latitude": 145,
+                    "longitude": 192,
+                    "bnds": 2,
+                    "variables": {
+                        "time:units": "days since 1859-12-01",
+                        "time:calendar": "360_day",
+                        "time:axis": "T",
+                        "time:long_name": "time",
+                        "time:standard_name": "time",
+                        "lat:bounds": "lat_bnds",
+                        "lat:units": "degrees_north",
+                        "lat:axis": "Y",
+                        "lat:long_name": "latitude",
+                        "lat:standard_name": "latitude",
+                        "lon:bounds": "lon_bnds",
+                        "lon:units": "degrees_east",
+                        "lon:axis": "X",
+                        "lon:long_name": "longitude",
+                        "lon:standard_name": "longitude",
+                        "psl:standard_name": "air_pressure_at_sea_level",
+                        "psl:long_name": "Sea Level Pressure",
+                        "psl:units": "Pa",
+                        "psl:original_name": "mo: m01s16i222",
+                        "psl:cell_measures": "area: areacella",
+                        "psl:history": "2012-07-09T12:16:27Z altered by CMOR: replaced missing value flag (-1.07374e+09) with standard missing value (1e+20).",
+                        "psl:associated_files": "baseURL: http://cmip-pcmdi.llnl.gov/CMIP5/dataLocation gridspecFile: gridspec_atmos_fx_HadGEM2-ES_rcp85_r0i0p0.nc areacella: areacella_fx_HadGEM2-ES_rcp85_r0i0p0.nc"
+                    },
+                    "institution": "Met Office Hadley Centre, Fitzroy Road, Exeter, Devon, EX1 3PB, UK, (http://www.metoffice.gov.uk)",
+                    "institute_id": "MOHC",
+                    "experiment_id": "rcp85",
+                    "source": "HadGEM2-ES (2009) atmosphere: HadGAM2 (N96L38), ocean: HadGOM2 (lat: 1.0-0.3 lon: 1.0 L40), land-surface/vegetation: MOSES2 and TRIFFID, tropospheric chemistry: UKCA, ocean biogeochemistry: diat-HadOCC",
+                    "model_id": "HadGEM2-ES",
+                    "forcing": "GHG, Oz, SA, LU, Sl, Vl, BC, OC, (GHG = CO2, N2O, CH4, CFCs)",
+                    "parent_experiment_id": "historical",
+                    "parent_experiment_rip": "r2i1p1",
+                    "branch_time": 52560,
+                    "contact": "chris.d.jones@metoffice.gov.uk, ron.kahana@metoffice.gov.uk",
+                    "history": "MOHC pp to CMOR/NetCDF convertor (version 1.10.4) 2012-07-09T12:16:17Z CMOR rewrote data to comply with CF standards and CMIP5 requirements.",
+                    "references": "Bellouin N. et al, (2007) Improved representation of aerosols for HadGEM2. Meteorological Office Hadley Centre, Technical Note 73, March 2007, Collins W.J.  et al, (2008) Evaluation of the HadGEM2 model. Meteorological Office Hadley Centre, Technical Note 74,, McLaren A.J. et al, (2006) Evaluation of the sea ice simulation in a new coupled atmosphere-ocean climate model. Journal of Geophysical Research - Oceans, American Geophysical Union, Vol. 111, C12014, doi:10.1029/2005JC003033., Stott P.A. et al, (2006) Transient climate simulations with the HadGEM1 climate model: Causes of past warming and future climate change. Journal of Climate, American Meteorological Society, Vol. 19, No. 12, pages 2763-2782., Ringer M.A. et al, (2006) The physical properties of the atmosphere in the new Hadley Centre Global Environmental Model, HadGEM1 - Part 2: Aspects of variability and regional climate. Journal of Climate, American Meteorological Society, Vol. 19, No. 7, pages 1302-1326.",
+                    "initialization_method": 1,
+                    "physics_version": 1,
+                    "tracking_id": "3f0dfaa6-125b-4dc0-8ce1-9cb054a9ed31",
+                    "mo_runid": "kaadf",
+                    "product": "output",
+                    "experiment": "RCP8.5",
+                    "frequency": "6hr",
+                    "creation_date": "2012-07-09T14:34:39Z",
+                    "Conventions": "CF-1.4",
+                    "project_id": "CMIP5",
+                    "table_id": "Table 6hrPlev (26 July 2011) cce5a250b13747b7af5d1cddcc61873d",
+                    "title": "HadGEM2-ES model output prepared for CMIP5 RCP8.5",
+                    "parent_experiment": "historical",
+                    "modeling_realm": "atmos",
+                    "realization": 2,
+                    "cmor_version": "2.7.1"
+                }
+            },
+            {
+                "ua_6hrLev_CanESM2_rcp85_r1i1p1_209301010000-209312311800": {
+                    "lev": 35,
+                    "bnds": 2,
+                    "time": "UNLIMITED",
+                    "latitude": 64,
+                    "longitude": 128,
+                    "variables": {
+                        "ap:long_name": "vertical coordinate formula term: ap(k)",
+                        "ap:units": "Pa",
+                        "ap_bnds:long_name": "vertical coordinate formula term: ap(k+1/2)",
+                        "ap_bnds:units": "Pa",
+                        "time:bounds": "time_bnds",
+                        "time:units": "days since 1850-1-1",
+                        "time:calendar": "365_day",
+                        "time:axis": "T",
+                        "time:long_name": "time",
+                        "time:standard_name": "time",
+                        "lev:bounds": "lev_bnds",
+                        "lev:units": "1",
+                        "lev:axis": "Z",
+                        "lev:positive": "down",
+                        "lev:long_name": "hybrid sigma pressure coordinate",
+                        "lev:standard_name": "atmosphere_hybrid_sigma_pressure_coordinate",
+                        "lev:formula": "p = ap + b*ps",
+                        "lev:formula_terms": "ap: ap b: b ps: ps",
+                        "lev_bnds:formula": "p = ap + b*ps",
+                        "lev_bnds:standard_name": "atmosphere_hybrid_sigma_pressure_coordinate",
+                        "lev_bnds:units": "1",
+                        "lev_bnds:formula_terms": "ap: ap_bnds b: b_bnds ps: ps",
+                        "b:long_name": "vertical coordinate formula term: b(k)",
+                        "b:original_units": "1",
+                        "b:history": "2011-04-02T05:52:58Z altered by CMOR: Converted units from '1' to ''.",
+                        "ps:standard_name": "surface_air_pressure",
+                        "ps:long_name": "Surface Air Pressure",
+                        "ps:comment": "surface pressure, not mean sea level pressure",
+                        "ps:units": "Pa",
+                        "ps:cell_measures": "area: areacella",
+                        "b_bnds:long_name": "vertical coordinate formula term: b(k+1/2)",
+                        "b_bnds:original_units": "1",
+                        "b_bnds:history": "2011-04-02T05:52:58Z altered by CMOR: Converted units from '1' to ''.",
+                        "lat:bounds": "lat_bnds",
+                        "lat:units": "degrees_north",
+                        "lat:axis": "Y",
+                        "lat:long_name": "latitude",
+                        "lat:standard_name": "latitude",
+                        "lon:bounds": "lon_bnds",
+                        "lon:units": "degrees_east",
+                        "lon:axis": "X",
+                        "lon:long_name": "longitude",
+                        "lon:standard_name": "longitude",
+                        "ua:standard_name": "eastward_wind",
+                        "ua:long_name": "Eastward Wind",
+                        "ua:units": "m s-1",
+                        "ua:original_name": "U",
+                        "ua:history": "2011-04-02T05:52:58Z altered by CMOR: replaced missing value flag (1e+38) with standard missing value (1e+20). 2011-04-02T05:52:58Z altered by CMOR: Inverted axis: lev.",
+                        "ua:associated_files": "baseURL: http://cmip-pcmdi.llnl.gov/CMIP5/dataLocation gridspecFile: gridspec_atmos_fx_CanESM2_rcp85_r0i0p0.nc"
+                    },
+                    "institution": "CCCma (Canadian Centre for Climate Modelling and Analysis, Victoria, BC, Canada)",
+                    "institute_id": "CCCma",
+                    "experiment_id": "rcp85",
+                    "source": "CanESM2 2010 atmosphere: CanAM4 (AGCM15i, T63L35) ocean: CanOM4 (OGCM4.0, 256x192L40) and CMOC1.2 sea ice: CanSIM1 (Cavitating Fluid, T63 Gaussian Grid) land: CLASS2.7 and CTEM1",
+                    "model_id": "CanESM2",
+                    "forcing": "GHG,Oz,SA,BC,OC,LU,Sl (GHG includes CO2,CH4,N2O,CFC11,effective CFC12. Sl is the repeat of the 23rd solar cycle, years 1997-2008, after year 2008.)",
+                    "parent_experiment_id": "historical",
+                    "parent_experiment_rip": "r1i1p1",
+                    "branch_time": 56940,
+                    "contact": "cccma_info@ec.gc.ca",
+                    "references": "http://www.cccma.ec.gc.ca/models",
+                    "initialization_method": 1,
+                    "physics_version": 1,
+                    "tracking_id": "48df1522-3fda-4146-abd8-3fc1901dcc19",
+                    "branch_time_YMDH": "2006:01:01:00",
+                    "CCCma_runid": "IDR",
+                    "CCCma_parent_runid": "IGM",
+                    "CCCma_data_licence": "1) GRANT OF LICENCE - The Government of Canada (Environment Canada) is the owner of all intellectual property rights (including copyright) that may exist in this Data product. You (as The Licensee) are hereby granted a non-exclusive, non-assignable, non-transferable unrestricted licence to use this data product for any purpose including the right to share these data with others and to make value-added and derivative products from it. This licence is not a sale of any or all of the owner's rights. 2) NO WARRANTY - This Data product is provided as-is, it has not been designed or prepared to meet the Licensee's particular requirements. Environment Canada makes no warranty, either express or implied, including but not limited to, warranties of merchantability and fitness for a particular purpose. In no event will Environment Canada be liable for any indirect, special, consequential or other damages attributed to the Licensee's use of the Data product.",
+                    "product": "output",
+                    "experiment": "RCP8.5",
+                    "frequency": "6hr",
+                    "creation_date": "2011-04-02T05:52:58Z",
+                    "history": "Fri Oct  7 19:57:13 2011: ncap2 -c -O -S div_ap_100 orig_ua_6hrLev_CanESM2_rcp85_r1i1p1_209301010000-209312311800.nc ua_6hrLev_CanESM2_rcp85_r1i1p1_209301010000-209312311800.nc 2011-04-02T05:52:58Z CMOR rewrote data to comply with CF standards and CMIP5 requirements.",
+                    "Conventions": "CF-1.4",
+                    "project_id": "CMIP5",
+                    "table_id": "Table 6hrLev (28 March 2011) 581a244c03c6226a7b266fdcf0d501b7",
+                    "title": "CanESM2 model output prepared for CMIP5 RCP8.5",
+                    "parent_experiment": "historical",
+                    "modeling_realm": "atmos",
+                    "realization": 1,
+                    "cmor_version": "2.5.4",
+                    "nco_openmp_thread_number": 1
+                }
+            },
+            {
+                "va_6hrPlev_IPSL-CM5A-MR_rcp85_r1i1p1_2056010103-2065123121": {
+                    "time": "UNLIMITED",
+                    "plev": 3,
+                    "latitude": 143,
+                    "longitude": 144,
+                    "bnds": 2,
+                    "variables": {
+                        "time:units": "days since 2006-01-01 00:00:00",
+                        "time:calendar": "noleap",
+                        "time:axis": "T",
+                        "time:long_name": "time",
+                        "time:standard_name": "time",
+                        "plev:units": "Pa",
+                        "plev:axis": "Z",
+                        "plev:positive": "down",
+                        "plev:long_name": "pressure",
+                        "plev:standard_name": "air_pressure",
+                        "lat:bounds": "lat_bnds",
+                        "lat:units": "degrees_north",
+                        "lat:axis": "Y",
+                        "lat:long_name": "latitude",
+                        "lat:standard_name": "latitude",
+                        "lon:bounds": "lon_bnds",
+                        "lon:units": "degrees_east",
+                        "lon:axis": "X",
+                        "lon:long_name": "longitude",
+                        "lon:standard_name": "longitude",
+                        "va:standard_name": "northward_wind",
+                        "va:long_name": "Northward Wind",
+                        "va:units": "m s-1",
+                        "va:original_name": "va",
+                        "va:history": "2011-11-05T14:03:28Z altered by CMOR: replaced missing value flag (9.96921e+36) with standard missing value (1e+20). 2011-11-05T14:03:57Z altered by CMOR: Inverted axis: lat.",
+                        "va:associated_files": "baseURL: http://cmip-pcmdi.llnl.gov/CMIP5/dataLocation gridspecFile: gridspec_atmos_fx_IPSL-CM5A-MR_rcp85_r0i0p0.nc"
+                    },
+                    "institution": "IPSL (Institut Pierre Simon Laplace, Paris, France)",
+                    "institute_id": "IPSL",
+                    "experiment_id": "rcp85",
+                    "source": "IPSL-CM5A-MR (2010) : atmos : LMDZ4 (LMDZ4_v5, 144x143x39), ocean : ORCA2 (NEMOV2_3, 2x2L31), seaIce : LIM2 (NEMOV2_3), ocnBgchem : PISCES (NEMOV2_3), land : ORCHIDEE (orchidee_1_9_4_AR5)",
+                    "model_id": "IPSL-CM5A-MR",
+                    "forcing": "Nat,Ant,GHG,SA,Oz,LU,SS,Ds,BC,MD,OC,AA",
+                    "parent_experiment_id": "historical",
+                    "parent_experiment_rip": "r1i1p1",
+                    "branch_time": 2005,
+                    "contact": "ipsl-cmip5 _at_ ipsl.jussieu.fr Data manager : Sebastien Denvil",
+                    "comment": "This 21th century simulation has been forced by prescribed concentration following the rcp 8.5 scenario.",
+                    "references": "Model documentation and further reference available here : http://icmc.ipsl.fr",
+                    "initialization_method": 1,
+                    "physics_version": 1,
+                    "tracking_id": "24d0885e-46e6-44d3-8296-2e2a72d1fd59",
+                    "product": "output",
+                    "experiment": "RCP8.5",
+                    "frequency": "6hr",
+                    "creation_date": "2011-11-05T14:03:57Z",
+                    "history": "2011-11-05T14:03:57Z CMOR rewrote data to comply with CF standards and CMIP5 requirements.",
+                    "Conventions": "CF-1.4",
+                    "project_id": "CMIP5",
+                    "table_id": "Table 6hrPlev (31 January 2011) 2486865d573b5e4add809e0c04e17345",
+                    "title": "IPSL-CM5A-MR model output prepared for CMIP5 RCP8.5",
+                    "parent_experiment": "historical",
+                    "modeling_realm": "atmos",
+                    "realization": 1,
+                    "cmor_version": "2.7.1"
+                }
+            },
+            {
+                "ps_6hrLev_GISS-E2-R_rcp85_r2i1p3_206601010600-207101010000": {
+                    "time": "UNLIMITED",
+                    "latitude": 90,
+                    "longitude": 144,
+                    "bnds": 2,
+                    "variables": {
+                        "time:bounds": "time_bnds",
+                        "time:units": "days since 2066-1-1",
+                        "time:calendar": "365_day",
+                        "time:axis": "T",
+                        "time:long_name": "time",
+                        "time:standard_name": "time",
+                        "lat:bounds": "lat_bnds",
+                        "lat:units": "degrees_north",
+                        "lat:axis": "Y",
+                        "lat:long_name": "latitude",
+                        "lat:standard_name": "latitude",
+                        "lon:bounds": "lon_bnds",
+                        "lon:units": "degrees_east",
+                        "lon:axis": "X",
+                        "lon:long_name": "longitude",
+                        "lon:standard_name": "longitude",
+                        "ps:standard_name": "surface_air_pressure",
+                        "ps:long_name": "Surface Air Pressure",
+                        "ps:comment": "surface pressure, not mean sea level pressure",
+                        "ps:units": "Pa",
+                        "ps:original_name": "dummy",
+                        "ps:cell_measures": "area: areacella",
+                        "ps:history": "2014-01-02T15:46:04Z altered by CMOR: replaced missing value flag (-1e+30) with standard missing value (1e+20).",
+                        "ps:associated_files": "baseURL: http://cmip-pcmdi.llnl.gov/CMIP5/dataLocation gridspecFile: gridspec_atmos_fx_GISS-E2-R_rcp85_r0i0p0.nc areacella: areacella_fx_GISS-E2-R_rcp85_r0i0p0.nc"
+                    },
+                    "institution": "NASA/GISS (Goddard Institute for Space Studies) New York, NY",
+                    "institute_id": "NASA-GISS",
+                    "experiment_id": "rcp85",
+                    "source": "GISS-E2-R-E134TcadiRCP85bF40oQ32 Atmosphere: GISS-E2, Ocean: R",
+                    "model_id": "GISS-E2-R",
+                    "forcing": "GHG, LU, Sl, BC, OC, SA, Oz (also includes BC on snow - Nitrate aerosols - interactive CH4)",
+                    "parent_experiment_id": "historical",
+                    "parent_experiment_rip": "r2i1p3",
+                    "branch_time": 2006,
+                    "contact": "Kenneth Lo (cdkkl@giss.nasa.gov)",
+                    "references": "http://data.giss.nasa.gov/modelE/ar5",
+                    "initialization_method": 1,
+                    "physics_version": 3,
+                    "tracking_id": "894e03dd-fba8-4826-b3fb-c1898b071984",
+                    "product": "output",
+                    "experiment": "RCP8.5",
+                    "frequency": "6hr",
+                    "creation_date": "2014-01-02T15:46:04Z",
+                    "history": "2014-01-02T15:46:04Z CMOR rewrote data to comply with CF standards and CMIP5 requirements.",
+                    "Conventions": "CF-1.4",
+                    "project_id": "CMIP5",
+                    "table_id": "Table 6hrLev (27 April 2011) cf08abb8c40d2c5d1c95297b569db0e6",
+                    "title": "GISS-E2-R model output prepared for CMIP5 RCP8.5",
+                    "parent_experiment": "historical",
+                    "modeling_realm": "atmos",
+                    "realization": 2,
+                    "cmor_version": "2.5.7"
+                }
+            },
+            {
+                "ua_6hrPlev_CSIRO-Mk3-6-0_rcp85_r9i1p1_210001010600-210101010000": {
+                    "time": "UNLIMITED",
+                    "plev": 3,
+                    "latitude": 96,
+                    "longitude": 192,
+                    "bnds": 2,
+                    "variables": {
+                        "time:units": "days since 1850-01-01 00:00:00",
+                        "time:calendar": "noleap",
+                        "time:axis": "T",
+                        "time:long_name": "time",
+                        "time:standard_name": "time",
+                        "plev:units": "Pa",
+                        "plev:axis": "Z",
+                        "plev:positive": "down",
+                        "plev:long_name": "pressure",
+                        "plev:standard_name": "air_pressure",
+                        "lat:bounds": "lat_bnds",
+                        "lat:units": "degrees_north",
+                        "lat:axis": "Y",
+                        "lat:long_name": "latitude",
+                        "lat:standard_name": "latitude",
+                        "lon:bounds": "lon_bnds",
+                        "lon:units": "degrees_east",
+                        "lon:axis": "X",
+                        "lon:long_name": "longitude",
+                        "lon:standard_name": "longitude",
+                        "ua:standard_name": "eastward_wind",
+                        "ua:long_name": "Eastward Wind",
+                        "ua:units": "m s-1",
+                        "ua:original_name": "u01_u18",
+                        "ua:history": "2012-06-06T07:03:10Z altered by CMOR: replaced missing value flag (-7.77778e+06) with standard missing value (1e+20).",
+                        "ua:associated_files": "baseURL: http://cmip-pcmdi.llnl.gov/CMIP5/dataLocation gridspecFile: gridspec_atmos_fx_CSIRO-Mk3-6-0_rcp85_r0i0p0.nc"
+                    },
+                    "institution": "Australian Commonwealth Scientific and Industrial Research Organization (CSIRO) Marine and Atmospheric Research (Melbourne, Australia) in collaboration with the Queensland Climate Change Centre of Excellence (QCCCE) (Brisbane, Australia)",
+                    "institute_id": "CSIRO-QCCCE",
+                    "experiment_id": "rcp85",
+                    "source": "CSIRO-Mk3-6-0 2010 atmosphere: AGCM v7.3.8 (T63 spectral, 1.875 degrees EW x approx. 1.875 degrees NS, 18 levels), ocean: GFDL MOM2.2 (1.875 degrees EW x approx. 0.9375 degrees NS, 31 levels)",
+                    "model_id": "CSIRO-Mk3-6-0",
+                    "forcing": "Ant,Nat (RCP 8.5)",
+                    "parent_experiment_id": "historical",
+                    "parent_experiment_rip": "r9i1p1",
+                    "branch_time": 56940,
+                    "contact": "Project leaders: Stephen Jeffrey (Stephen.Jeffrey@qld.gov.au) & Leon Rotstayn (Leon.Rotstayn@csiro.au). Project team: Mark Collier (Mark.Collier@csiro.au: diagnostics & post-processing), Stacey Dravitzki (Stacey.Dravitzki@csiro.au: post-processing), Carlo Hamalainen (Carlo.Hamalainen@qld.gov.au: post-processing), Steve Jeffrey (Stephen.Jeffrey@qld.gov.au: modeling & post-processing), Chris Moeseneder (Chris.Moeseneder@csiro.au: post-processing), Leon Rotstayn (Leon.Rotstayn@csiro.au: modeling & atmos. physics), Jozef Syktus (Jozef.Syktus@qld.gov.au: model evaluation), Kenneth Wong (Kenneth.Wong@qld.gov.au: data management), Contributors: Martin Dix (Martin.Dix@csiro.au: tech. support), Hal Gordon (Hal.Gordon@csiro.au: atmos. dynamics), Eva Kowalczyk (Eva.Kowalczyk@csiro.au: land-surface), Siobhan O'Farrell (Siobhan.OFarrell@csiro.au: ocean & sea-ice)",
+                    "history": "Forcing datasets for the relevant month/year are used where available. Exceptions are: ozone data from 2099 are used for the period 2100-2300, aerosol emissions (and their impact on snow albedo) from 2100 are used for the period 2101-2300.Model level data was vertically interpolated to prescribed pressure levels using linear interpolation. The missing value was assigned to locations where the pressure surface is underground. 2012-06-06T07:03:10Z CMOR rewrote data to comply with CF standards and CMIP5 requirements.",
+                    "comment": "Model output post-processed by the CSIRO-QCCCE CMIP5 Data post-processor for the IPCC Fifth Assessment.",
+                    "references": "a) Rotstayn, L., Collier, M., Dix, M., Feng, Y., Gordon, H., O'Farrell, S., Smith, I. and Syktus, J. 2010. Improved simulation of Australian climate and ENSO-related climate variability in a GCM with an interactive aerosol treatment. Int. J. Climatology, vol 30(7), pp1067-1088, DOI 10.1002/joc.1952 b) Please refer to online documentation at: http://cmip-pcmdi.llnl.gov/cmip5/",
+                    "initialization_method": 1,
+                    "physics_version": 1,
+                    "tracking_id": "730ac35f-ac55-45c7-9abf-940f22928165",
+                    "version_number": "v20120323",
+                    "product": "output",
+                    "experiment": "RCP8.5",
+                    "frequency": "6hr",
+                    "creation_date": "2012-06-06T07:03:10Z",
+                    "Conventions": "CF-1.4",
+                    "project_id": "CMIP5",
+                    "table_id": "Table 6hrPlev (27 April 2011) 34ae2c93d41ed0ba4f8eeae8ccf1eaa4",
+                    "title": "CSIRO-Mk3-6-0 model output prepared for CMIP5 RCP8.5",
+                    "parent_experiment": "historical",
+                    "modeling_realm": "atmos",
+                    "realization": 9,
+                    "cmor_version": "2.6.0"
+                }
+            },
+            {
+                "psl_6hrPlev_NorESM1-M_rcp85_r1i1p1_2006010100-2015123118": {
+                    "time": "UNLIMITED",
+                    "latitude": 96,
+                    "longitude": 144,
+                    "bnds": 2,
+                    "variables": {
+                        "time:units": "days since 2006-01-01 00:00:00",
+                        "time:calendar": "noleap",
+                        "time:axis": "T",
+                        "time:long_name": "time",
+                        "time:standard_name": "time",
+                        "lat:bounds": "lat_bnds",
+                        "lat:units": "degrees_north",
+                        "lat:axis": "Y",
+                        "lat:long_name": "latitude",
+                        "lat:standard_name": "latitude",
+                        "lon:bounds": "lon_bnds",
+                        "lon:units": "degrees_east",
+                        "lon:axis": "X",
+                        "lon:long_name": "longitude",
+                        "lon:standard_name": "longitude",
+                        "psl:standard_name": "air_pressure_at_sea_level",
+                        "psl:long_name": "Sea Level Pressure",
+                        "psl:units": "Pa",
+                        "psl:original_name": "PSL",
+                        "psl:cell_measures": "area: areacella",
+                        "psl:history": "2011-06-14T14:02:06Z altered by CMOR: replaced missing value flag (1e+20) with standard missing value (1e+20). 2011-06-14T14:02:07Z altered by CMOR: Converted type from 'd' to 'f'.",
+                        "psl:associated_files": "baseURL: http://cmip-pcmdi.llnl.gov/CMIP5/dataLocation gridspecFile: gridspec_atmos_fx_NorESM1-M_rcp85_r0i0p0.nc areacella: areacella_fx_NorESM1-M_rcp85_r0i0p0.nc"
+                    },
+                    "institution": "Norwegian Climate Centre",
+                    "institute_id": "NCC",
+                    "experiment_id": "rcp85",
+                    "source": "NorESM1-M 2011  atmosphere: CAM-Oslo (CAM4-Oslo-noresm-ver1_cmip5-r112, f19L26),  ocean: MICOM (MICOM-noresm-ver1_cmip5-r112, gx1v6L53),  sea ice: CICE (CICE4-noresm-ver1_cmip5-r112),  land: CLM (CLM4-noresm-ver1_cmip5-r112)",
+                    "model_id": "NorESM1-M",
+                    "forcing": "GHG, SA, Oz, Sl, BC, OC",
+                    "parent_experiment_id": "historical",
+                    "parent_experiment_rip": "r1i1p1",
+                    "branch_time": 56940,
+                    "contact": "Please send any requests or bug reports to noresm-ncc@met.no.",
+                    "initialization_method": 1,
+                    "physics_version": 1,
+                    "tracking_id": "ce2a6266-481f-412d-958e-c8b0d3cde60a",
+                    "product": "output",
+                    "experiment": "RCP8.5",
+                    "frequency": "6hr",
+                    "creation_date": "2011-06-14T14:02:07Z",
+                    "history": "2011-06-14T14:02:07Z CMOR rewrote data to comply with CF standards and CMIP5 requirements.",
+                    "Conventions": "CF-1.4",
+                    "project_id": "CMIP5",
+                    "table_id": "Table 6hrPlev (27 April 2011) 00b465eee32d6d11a7e57f5cc8e067f8",
+                    "title": "NorESM1-M model output prepared for CMIP5 RCP8.5",
+                    "parent_experiment": "historical",
+                    "modeling_realm": "atmos",
+                    "realization": 1,
+                    "cmor_version": "2.6.0"
+                }
+            },
+            {
+                "va_6hrLev_CCSM4_rcp85_r6i1p1_2009040100-2009063018": {
+                    "time": "UNLIMITED",
+                    "lev": 26,
+                    "latitude": 192,
+                    "longitude": 288,
+                    "bnds": 2,
+                    "variables": {
+                        "time:units": "days since 2005-01-01 00:00:00",
+                        "time:calendar": "noleap",
+                        "time:axis": "T",
+                        "time:long_name": "time",
+                        "time:standard_name": "time",
+                        "lev:bounds": "lev_bnds",
+                        "lev:units": "1",
+                        "lev:axis": "Z",
+                        "lev:positive": "down",
+                        "lev:long_name": "hybrid sigma pressure coordinate",
+                        "lev:standard_name": "atmosphere_hybrid_sigma_pressure_coordinate",
+                        "lev:formula": "p = a*p0 + b*ps",
+                        "lev:formula_terms": "p0: p0 a: a b: b ps: ps",
+                        "lev_bnds:formula": "p = a*p0 + b*ps",
+                        "lev_bnds:standard_name": "atmosphere_hybrid_sigma_pressure_coordinate",
+                        "lev_bnds:units": "1",
+                        "lev_bnds:formula_terms": "p0: p0 a: a_bnds b: b_bnds ps: ps",
+                        "p0:long_name": "vertical coordinate formula term: reference pressure",
+                        "p0:units": "Pa",
+                        "a:long_name": "vertical coordinate formula term: a(k)",
+                        "b:long_name": "vertical coordinate formula term: b(k)",
+                        "ps:standard_name": "surface_air_pressure",
+                        "ps:long_name": "Surface Air Pressure",
+                        "ps:comment": "surface pressure, not mean sea level pressure",
+                        "ps:units": "Pa",
+                        "ps:cell_measures": "area: areacella",
+                        "a_bnds:long_name": "vertical coordinate formula term: a(k+1/2)",
+                        "b_bnds:long_name": "vertical coordinate formula term: b(k+1/2)",
+                        "lat:bounds": "lat_bnds",
+                        "lat:units": "degrees_north",
+                        "lat:axis": "Y",
+                        "lat:long_name": "latitude",
+                        "lat:standard_name": "latitude",
+                        "lon:bounds": "lon_bnds",
+                        "lon:units": "degrees_east",
+                        "lon:axis": "X",
+                        "lon:long_name": "longitude",
+                        "lon:standard_name": "longitude",
+                        "va:standard_name": "northward_wind",
+                        "va:long_name": "Northward Wind",
+                        "va:units": "m s-1",
+                        "va:original_name": "V,PS",
+                        "va:comment": "V no change",
+                        "va:original_units": "m/s",
+                        "va:history": "2012-05-08T23:56:28Z altered by CMOR: Converted units from 'ms' to 'm s-1'. 2012-05-08T23:56:28Z altered by CMOR: replaced missing value flag (-1e+32) with standard missing value (1e+20). 2012-05-08T23:57:40Z altered by CMOR: Inverted axis: lev. 2012-05-09T00:01:05Z altered by CMOR: Inverted axis: lev. 2012-05-09T00:04:17Z altered by CMOR: Inverted axis: lev. 2012-05-09T00:07:32Z altered by CMOR: Inverted axis: lev. 2012-05-09T00:12:00Z altered by CMOR: Inverted axis: lev. 2012-05-09T00:15:10Z altered by CMOR: Inverted axis: lev. 2012-05-09T00:18:30Z altered by CMOR: Inverted axis: lev. 2012-05-09T00:21:43Z altered by CMOR: Inverted axis: lev. 2012-05-09T00:26:04Z altered by CMOR: Inverted axis: lev. 2012-05-09T00:29:15Z altered by CMOR: Inverted axis: lev. 2012-05-09T00:32:19Z altered by CMOR: Inverted axis: lev. 2012-05-09T00:35:19Z altered by CMOR: Inverted axis: lev. 2012-05-09T00:40:07Z altered by CMOR: Inverted axis: lev. 2012-05-09T00:43:50Z altered by CMOR: Inverted axis: lev.",
+                        "va:associated_files": "baseURL: http://cmip-pcmdi.llnl.gov/CMIP5/dataLocation gridspecFile: gridspec_atmos_fx_CCSM4_rcp85_r0i0p0.nc"
+                    },
+                    "institution": "NCAR (National Center for Atmospheric Research) Boulder, CO, USA",
+                    "institute_id": "NCAR",
+                    "experiment_id": "rcp85",
+                    "source": "CCSM4",
+                    "model_id": "CCSM4",
+                    "forcing": "Sl GHG SS Ds SA BC MD OC Oz AA",
+                    "parent_experiment_id": "historical",
+                    "parent_experiment_rip": "r6i1p1",
+                    "branch_time": 20,
+                    "contact": "cesm_data@ucar.edu",
+                    "comment": "CESM home page: http://www.cesm.ucar.edu",
+                    "references": "Gent P. R., et.al. 2011: The Community Climate System Model version 4. J. Climate, doi: 10.1175/2011JCLI4083.1",
+                    "initialization_method": 1,
+                    "physics_version": 1,
+                    "tracking_id": "c8d8cde8-0e31-4a17-8501-51393743d5c1",
+                    "acknowledgements": "The CESM project is supported by the National Science Foundation and the Office of Science (BER) of the U.S. Department of Energy. NCAR is sponsored by the National Science Foundation. Computing resources were provided by the Climate Simulation Laboratory at the NCAR Computational and Information Systems Laboratory (CISL), sponsored by the National Science Foundation and other agencies.",
+                    "cesm_casename": "b40.rcp8_5.1deg.007",
+                    "cesm_repotag": "ccsm4_0_beta53",
+                    "cesm_compset": "BRCP85CN",
+                    "resolution": "f09_g16 (0.9x1.25_gx1v6)",
+                    "forcing_note": "Additional information on the external forcings used in this experiment can be found at http://www.cesm.ucar.edu/CMIP5/forcing_information",
+                    "processed_by": "strandwg on mirage2 at 20120508  -175628.897",
+                    "processing_code_information": "Last Changed Rev: 748 Last Changed Date: 2012-05-08 15:52:41 -0600 (Tue, 08 May 2012) Repository UUID: d2181dbe-5796-6825-dc7f-cbd98591f93d",
+                    "product": "output",
+                    "experiment": "RCP8.5",
+                    "frequency": "6hr",
+                    "creation_date": "2012-05-09T00:43:50Z",
+                    "history": "2012-05-08T23:57:40Z CMOR rewrote data to comply with CF standards and CMIP5 requirements.",
+                    "Conventions": "CF-1.4",
+                    "project_id": "CMIP5",
+                    "table_id": "Table 6hrLev (12 January 2012) 3c5c744334546e0d80549512c0c61cfe",
+                    "title": "CCSM4 model output prepared for CMIP5 RCP8.5",
+                    "parent_experiment": "historical",
+                    "modeling_realm": "atmos",
+                    "realization": 6,
+                    "cmor_version": "2.8.1"
+                }
+            }
+        ]
+    }
+}
\ No newline at end of file