var matlab_javascript_epoch = 719529.0; function matlab_to_date(days) { days = days - matlab_javascript_epoch; return new Date(days*3600*24*1000) } function date_to_matlab(date) { return date.getTime()/(3600.*24.*1000.) + matlab_javascript_epoch;} //var lookup_table = [ // ["ADCP02_NW_Dep5_DA_023.mat", true, false, false, true, 735793.72222, 735794.0625], // ["ADCP02_NW_Dep5_DA_024.mat", true, true, false, false, 735794.72222, 735795.0625], // ["ADCP02_NW_Dep5_DA_025.mat", true, false, false, true, 735795.72222, 735796.0625], // ["ADCP02_NW_Dep5_DA_026.mat", false, true, false, false, 735796.72222, 735797.0625], // ]; function instrument(filename) { var inst = filename.substr(0,3); if (inst == "ADC") { return "ADCP";}; if (inst == "SBD") { return "SBD";}; if (inst == "CON") { return "CONT";}; if (inst == "AWA") { return "AWAC";}; return ""; }; function file_name(inst, file_number, product_type, format) { var filename = inst + "_" + product_type + "_" + file_number + format; return filename }; function file_url(inst_type, inst, file_number, product_type, format) { if (format == ".mat") {format_dir = "matlab_format"}; if (format == ".nc") {format_dir = "netcdf_format"}; //filename = "http://data.ukedc.rl.ac.uk/browse/edc/renewables/marine/redapt/matlab_format/QC/ADCP/ADCP01_NW_Dep0/ADCP01_NW_Dep0_QC_001.mat"; filename = "http://data.ukedc.rl.ac.uk/browse/edc/renewables/marine/redapt/data/"; filename += format_dir + "/" + product_type + "/" + inst_type + "/" + inst + "/"; filename += file_name(inst, file_number, product_type, format); return filename }; function report_error(message) { var errors_div = $( "#errors" ); errors_div.empty(); errors_div.html(message); }; function search(){ report_error(""); var results_div = $( "#results" ); results_div.empty(); // get info from input fields // dates // flags var startdate = $( "#startdate" ).val(); var enddate = $( "#enddate" ).val(); if (startdate) {startdate = date_to_matlab(new Date(startdate))}; if (enddate) {enddate = date_to_matlab(new Date(enddate))}; if (startdate && enddate && startdate > enddate) {report_error("Start date must be before end date"); return}; var adcp = $( "#adcp" ).is(':checked'); var sbd = $( "#sbd" ).is(':checked'); var awac = $( "#awac" ).is(':checked'); var cont = $( "#cont" ).is(':checked'); var flood = $( "#flood" ).is(':checked'); var ebb = $( "#ebb" ).is(':checked'); var facing_flood = $( "#facing_flood" ).is(':checked'); var facing_ebb = $( "#facing_ebb" ).is(':checked'); var turbine_on = $( "#turbine_on" ).is(':checked'); var turbine_off = $( "#turbine_off" ).is(':checked'); if ($( "#matlab" ).is(':checked')) {var format = ".mat"} else {var format = ".nc"}; if ($( "#RAW" ).is(':checked')) {var product_type = "RAW"} else if ($( "#DA" ).is(':checked')) {var product_type = "DA"} else {var product_type = "QC"}; // examine each line in the table to see if it matches // print result var result = []; for (var i = 0; i < lookup_table.length; i++) { // console.log(startdate, lookup_table[i][6]); //console.log(enddate, lookup_table[i][5]) if (startdate && startdate > lookup_table[i][10]) { continue }; //skip if start date greater than rec end date if (enddate && enddate < lookup_table[i][9]) { continue }; //skip if end date less than rec start date if (flood && !lookup_table[i][3]) { continue }; //skip flood records if (ebb && !lookup_table[i][4]) { continue }; //skip ebb records if (facing_flood && !lookup_table[i][5]) { continue }; //skip facing flood records if (facing_ebb && !lookup_table[i][6]) { continue }; //skip facing ebb records if (turbine_on && !lookup_table[i][7]) { continue }; //skip turbine on records if (turbine_off && !lookup_table[i][8]) { continue }; //skip turbine off records if (!adcp && lookup_table[i][0] == "ADCP") {continue }; //skip if ADCP and box not ticked if (!cont && lookup_table[i][0] == "CONT") {continue }; //skip if CONT and box not ticked if (!sbd && lookup_table[i][0] == "SBD") {continue }; //skip if SBD and box not ticked if (!awac && lookup_table[i][0] == "AWAC") {continue }; //skip if AWAC and box not ticked result.push(lookup_table[i]) }; var text = "Search results: "+ result.length +" files." text += ' '; text += ''; for (i = 0; i < result.length; i++) { var filename = file_name(result[i][1], result[i][2], product_type, format); var url = file_url(result[i][0], result[i][1], result[i][2], product_type, format) text += ""; text += '"; text += ""; text += ""; text += ""; text += ""; text += ""; text += ""; text += ""; text += ""; text += ""; }; text += "
FileFlood tideEbb tideTurbine facing floodTurbine facing ebbTrubine onTrubine offStart timeEnd time
' + filename + "" + result[i][3] + "" + result[i][4] + "" + result[i][5] + "" + result[i][6] + "" + result[i][7] + "" + result[i][8] + "" + matlab_to_date(result[i][9]).toISOString() + "" + matlab_to_date(result[i][10]).toISOString() + "
" console.log("Update search"); results_div.html(text); }; $(document).ready(search);