{"version":3,"sources":["../../../../../src/app/js/stores/queries/rain.js"],"names":[],"mappings":"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","file":"rain.js","sourcesContent":["import Query from 'esri/tasks/query';\nimport QueryTask from 'esri/tasks/QueryTask';\nimport Point from 'esri/geometry/Point';\nimport SpatialReference from 'esri/SpatialReference';\nimport esriRequest from 'esri/request';\n\nimport { Promise as bbPromise } from 'promise';\n\nimport { criteriaStore } from 'stores/CriteriaStore';\nimport { reportStore } from 'stores/ReportStore';\n\nimport { standardsConversionInchesMMs } from 'utils/Utilities';\n\nconst queryRain = (location, load) => {\n let criteriaData = criteriaStore.getState();\n let measurement = criteriaData.measurement;\n\n return new bbPromise((resolve, reject) => {\n try {\n let geo = new Point(location.long, location.lat, new SpatialReference({ wkid: 4269 }));\n\n let layerUrl = 'https://hdsc.nws.noaa.gov/cgi-bin/hdsc/new/cgi_readH5.py';\n let layersRequest = esriRequest({\n url: layerUrl,\n content: {\n lat: criteriaData.latitude,\n lon: criteriaData.longitude,\n type: 'pf',\n data: 'intensity',\n units: 'english',\n series: 'ams',\n },\n handleAs: 'text',\n useProxy: true,\n });\n\n const roundTwoDecimals = (stringValue) => {\n stringValue = stringValue.replace(/'/g, '');\n return Math.round(standardsConversionInchesMMs(Number(stringValue), 'imperial', measurement) * 100) / 100;\n };\n\n layersRequest.then(\n (response) => {\n // Rain data documentation: https://www.weather.gov/media/owp/oh/hdsc/docs/NA14_Sec5_PFDS.pdf\n load.showInReport = true;\n let groups = response.match(/\\[\\[(.*)\\]\\]/g);\n if (groups !== null && groups.length >= 3) {\n let quantiles = groups[0].replace('[[', '').replace(']]', '').split('], [');\n let upper = groups[1].replace('[[', '').replace(']]', '').split('], [');\n let lower = groups[2].replace('[[', '').replace(']]', '').split('], [');\n\n const RESULT_DATA_15_MIN_INDEX = 2;\n const RESULT_DATA_60_MIN_INDEX = 4;\n\n const { riskLevel } = criteriaData;\n\n const RESULT_DATA_100_MRI_INDEX = 5;\n // Display 200 MRI for Risk Category III\n const RESULT_DATA_200_MRI_INDEX = 6;\n // Display 500 MRI for Risk Category IV\n const RESULT_DATA_500_MRI_INDEX = 7;\n\n let RESULT_DATA_SELECTED_MRI_INDEX = RESULT_DATA_100_MRI_INDEX;\n let mriYears = 100;\n\n if (riskLevel === 3) {\n RESULT_DATA_SELECTED_MRI_INDEX = RESULT_DATA_200_MRI_INDEX;\n mriYears = 200;\n } else if (riskLevel === 4) {\n RESULT_DATA_SELECTED_MRI_INDEX = RESULT_DATA_500_MRI_INDEX;\n mriYears = 500;\n }\n\n let fifteenMin = {\n quantile: roundTwoDecimals(\n quantiles[RESULT_DATA_15_MIN_INDEX].split(', ')[RESULT_DATA_SELECTED_MRI_INDEX]\n ),\n upper: roundTwoDecimals(upper[RESULT_DATA_15_MIN_INDEX].split(', ')[RESULT_DATA_SELECTED_MRI_INDEX]),\n lower: roundTwoDecimals(lower[RESULT_DATA_15_MIN_INDEX].split(', ')[RESULT_DATA_SELECTED_MRI_INDEX]),\n };\n let sixtyMin = {\n quantile: roundTwoDecimals(\n quantiles[RESULT_DATA_60_MIN_INDEX].split(', ')[RESULT_DATA_SELECTED_MRI_INDEX]\n ),\n upper: roundTwoDecimals(upper[RESULT_DATA_60_MIN_INDEX].split(', ')[RESULT_DATA_SELECTED_MRI_INDEX]),\n lower: roundTwoDecimals(lower[RESULT_DATA_60_MIN_INDEX].split(', ')[RESULT_DATA_SELECTED_MRI_INDEX]),\n };\n\n load.sampleData.value = [\n '15 min: ' + fifteenMin.quantile + (measurement === 'si' ? ' mm/h' : ' in./h'),\n '60 min: ' + sixtyMin.quantile + (measurement === 'si' ? ' mm/h' : ' in./h'),\n ];\n load.details = [\n {\n type: 'singleLine',\n label: '15-Minute Rainfall Intensity',\n value: fifteenMin.quantile + (measurement === 'si' ? ' mm/h' : ' in./h'),\n },\n {\n type: 'singleLine',\n label: '60-Minute Rainfall Intensity',\n value: sixtyMin.quantile + (measurement === 'si' ? ' mm/h' : ' in./h'),\n },\n ];\n\n load.details.push({\n type: 'note',\n note: `Values provided are median 15-min duration/${mriYears}-year mean recurrence interval and median 60-min duration/${mriYears}-year mean recurrence interval.`,\n });\n\n load.details.push({\n type: 'dataSource',\n dataSource: {\n hyperlinkUrl: 'http://hdsc.nws.noaa.gov/hdsc/pfds/index.html',\n hyperlinkText: 'NOAA National Weather Service, Precipitation Frequency Data Server, Atlas 14 ',\n },\n });\n } else {\n load.details = [\n {\n type: 'singleLine',\n label: 'Load',\n value: 'No Data',\n },\n ];\n load.sampleData.value[0] = 'No Data';\n load.sampleData.value.push('Please see note in details.');\n\n let queryTask = new QueryTask(load.stateQueryURL);\n let query = new Query();\n query.outFields = ['STATE'];\n query.returnGeometry = false;\n query.geometry = geo;\n queryTask.execute(query).then(\n (results) => {\n if (results.features === 0) {\n let note = {\n startingText: \"Please refer to NOAA's National Weather Service, \",\n hyperlinkText: ' Hydrometerorological Design Studies Center',\n hyperlinkUrl: 'http://hdsc.nws.noaa.gov/hdsc/pfds/index.html',\n endingText: ' for guidance',\n };\n load.details.push({\n type: 'stateNote',\n label: 'Note',\n note: note,\n });\n } else {\n let note = {\n startingText:\n 'For rainfall-event data in this area, see NOAA Hydrometeorological Design Studies Center, ',\n hyperlinkText: 'Current Precipitation Frequency Information and Documents for ',\n hyperlinkUrl: 'http://hdsc.nws.noaa.gov/hdsc/pfds/index.html',\n endingText: '',\n };\n\n switch (results.features[0].attributes.STATE) {\n case 'ID':\n note.hyperlinkText += 'Idaho.';\n note.hyperlinkUrl += 'id_pfds.html';\n break;\n case 'MT':\n note.hyperlinkText += 'Montana.';\n note.hyperlinkUrl += 'mt_pfds.html';\n break;\n case 'OR':\n note.hyperlinkText += 'Oregon.';\n note.hyperlinkUrl += 'or_pfds.html';\n break;\n case 'TX':\n note.hyperlinkText += 'Texas.';\n note.hyperlinkUrl += 'tx_pfds.html';\n break;\n case 'WA':\n note.hyperlinkText += 'Washington.';\n note.hyperlinkUrl += 'wa_pfds.html';\n break;\n case 'WY':\n note.hyperlinkText += 'Wyoming.';\n note.hyperlinkUrl += 'wy_pfds.html';\n break;\n default:\n note = {\n startingText: '',\n hyperlinkText: '',\n hyperlinkUrl: '',\n endingText: '',\n };\n break;\n }\n\n load.details.push({\n type: 'stateNote',\n label: 'Note',\n note: note,\n });\n }\n\n load.details.push({\n type: 'note',\n note: 'Values provided are median 15-min duration/100-year mean recurrence interval and median 60-min duration/100-year mean recurrence interval',\n });\n\n load.details.push({\n type: 'dataSource',\n dataSource: {\n hyperlinkUrl: 'http://hdsc.nws.noaa.gov/hdsc/pfds/index.html',\n hyperlinkText: 'NOAA National Weather Service, Precipitation Frequency Data Server, Atlas 14 ',\n },\n });\n },\n (error) => {\n console.log('Error: ', error.message);\n reject({ load: load.label, error: error.message });\n }\n );\n }\n reportStore.emitChange();\n resolve({ load: load.label });\n },\n (error) => {\n console.log('Error: ', error.message);\n reject({ load: load.label, error: error.message });\n }\n );\n } catch (error) {\n reject({ load: load.label, error });\n }\n });\n};\n\nexport default queryRain;\n"]}