"use strict"; /** * Retrieve the datastream ID that corresponds to a particular building * @param {Number | String} buildingNumber Integer representing the building ID * @param {String} phenomenon String representing the phenomenon of interest * @param {String} samplingRate String representing the sampling rate of the observations * @returns {Number} Datastream corresponding to the input building */ export const getDatastreamIdFromBuildingNumber = function ( buildingNumber, phenomenon, samplingRate ) { const buildingToDatastreamMapping = { 101: { vl: { "15min": "69", "60min": "75" }, rl: { "15min": "81", "60min": "87" }, // These Datastreams do not yet have Observations // flow: { "15min": "93", "60min": "99" }, // power: { "15min": "105", "60min": "111" }, // energy: { "15min": "117", "60min": "123" }, // energy_verb: { "15min": "129", "60min": "135" }, }, 102: { vl: { "15min": "70", "60min": "76" }, rl: { "15min": "82", "60min": "88" }, // These Datastreams do not yet have Observations // flow: { "15min": "94", "60min": "100" }, // power: { "15min": "106", "60min": "112" }, // energy: { "15min": "118", "60min": "124" }, // energy_verb: { "15min": "130", "60min": "136" }, }, 107: { vl: { "15min": "71", "60min": "77" }, rl: { "15min": "83", "60min": "89" }, // These Datastreams do not yet have Observations // flow: { "15min": "95", "60min": "101" }, // power: { "15min": "107", "60min": "113" }, // energy: { "15min": "119", "60min": "125" }, // energy_verb: { "15min": "131", "60min": "137" }, }, "112, 118": { vl: { "15min": "72", "60min": "78" }, rl: { "15min": "84", "60min": "90" }, // These Datastreams do not yet have Observations // flow: { "15min": "96", "60min": "102" }, // power: { "15min": "108", "60min": "114" }, // energy: { "15min": "120", "60min": "126" }, // energy_verb: { "15min": "132", "60min": "138" }, }, 125: { vl: { "15min": "73", "60min": "79" }, rl: { "15min": "85", "60min": "91" }, // These Datastreams do not yet have Observations // flow: { "15min": "97", "60min": "103" }, // power: { "15min": "109", "60min": "115" }, // energy: { "15min": "121", "60min": "127" }, // energy_verb: { "15min": "133", "60min": "139" }, }, 225: { vl: { "15min": "74", "60min": "80" }, rl: { "15min": "86", "60min": "92" }, flow: { "15min": "98", "60min": "104" }, power: { "15min": "110", "60min": "116" }, energy: { "15min": "122", "60min": "128" }, energy_verb: { "15min": "134", "60min": "140" }, }, weather_station_521: { outside_temp: { "15min": "141", "60min": "142" }, }, }; if ( buildingToDatastreamMapping?.[buildingNumber]?.[phenomenon]?.[ samplingRate ] === undefined ) return; return Number( buildingToDatastreamMapping[buildingNumber][phenomenon][samplingRate] ); };