{"version":3,"sources":["pages/Charts.tsx","state/State.tsx","pages/DashboardLayout.tsx","components/NoAssets.tsx","pages/Dashboard.tsx","assets/hd_logo.png","pages/LandingLayout.tsx","pages/External.tsx","assets/vi_1.gif","assets/spec_1.png","assets/robot.svg","assets/spec_3.png","assets/ser_img_6.png","assets/iner_team.png","pages/Welcome.tsx","pages/WelcomeGr.tsx","pages/Terms.tsx","pages/Reports.tsx","assets/wind-turbine.svg","assets/solar-panel.svg","Utils.ts","pages/AssetData.tsx","pages/Assets.tsx","assets/wind-gauge.png","pages/Asset.tsx","data/ForecastFields.ts","pages/Users.tsx","App.tsx","reportWebVitals.ts","index.tsx"],"names":["observations","forecasts","dateFrom","dateTo","initialState","loggedIn","userInfo","dashboardMenuActiveOption","AppContext","React","state","dispatch","reducer","action","type","payload","option","AppContextProvider","props","value","Provider","children","Header","Layout","Content","Footer","Sider","DashboardLayout","context","useContext","useState","menuCollapsed","setMenuCollapsed","loc","useLocation","useEffect","pathname","document","title","className","span","to","theme","style","display","justifyContent","mode","Item","href","target","rel","collapsible","collapsed","onCollapse","x","height","selectedKeys","icon","AimOutlined","BuildOutlined","faChartLine","faFileExcel","grafanaUrl","faChartBar","admin","faUser","faBlog","faBug","Date","getFullYear","NoAssets","description","Dashboard","loading","setLoading","hasError","setHasError","assetsCapacity","assetCount","production","forecastUpdate","info","setInfo","history","useHistory","fetchInfo","a","fetch","method","headers","response","status","json","tmpInfo","moment","toDate","organization","subTitle","paddingTop","gutter","extra","onClick","xs","lg","format","prefix","faCloudSunRain","push","Math","round","suffix","faBolt","LandingLayout","url","rootElement","getElementById","text","id","align","sm","offset","xl","alt","src","whiteLogo","maxWidth","marginBottom","PhoneOutlined","MailOutlined","PushpinOutlined","External","window","location","Welcome","gif1","textAlign","hoverable","nwp","ml","wt","power","RocketOutlined","team","paddingBottom","size","WelcomeGr","Terms","Reports","reportList","setReportList","fetchList","list","map","i","default","dayAhead","crida1","crida2","crida3","index","columns","dataIndex","render","length","rowKey","dataSource","excelDateToJSDate","serial","utc_days","floor","date_info","fractional_day","total_seconds","hours","minutes","d","getMonth","getDate","getTime","fiveMinutes","Step","Steps","Option","Select","confirm","Modal","AssetData","currentStep","setCurrentStep","workBook","setWorkBook","mapping","setMapping","active","progress","processed","uploading","setUploading","presets","setPresets","visible","presetSaveForm","setPresetSaveForm","useForm","mappingsForm","loadPresets","presetsResp","onSavePresetClick","values","body","JSON","stringify","name","content","clearUpload","getPowerScaleFactor","assetMappings","productionUnits","dateSheet","Sheets","dateColumn","dateRange","XLSX","decode_range","excelDate1","encode_cell","c","parseInt","r","s","v","date1","dateOffsetUtcMinutes","excelDate2","diffMinutes","factor","scale","getHeaderRow","sheet","C","range","R","e","cell","hdr","t","format_cell","label","getWorkBookAsCascader","SheetNames","sheetName","uploadObservations","powerScaleFactor","totalRecords","data","excelDateValue","excelDate","date","records","am","ai","asset","assets","find","assetId","productionCell","productionColumn","record","windSpeedColumn","windSpeedCell","windSpeed","windDirectionColumn","windDirectionCell","windDirection","irradianceColumn","irradianceCell","irradiance","undefined","uploadPartResponse","notification","message","error","min","askSavePreset","presetId","ExclamationCircleOutlined","onOk","onCancel","preset","resetFields","fileProps","accept","onChange","fileList","reader","FileReader","rABS","readAsBinaryString","onload","bstr","result","wb","onerror","console","log","file","readAsArrayBuffer","beforeUpload","multiple","maxCount","steps","FileExcelOutlined","labelCol","wrapperCol","layout","autoComplete","form","allowClear","setFieldsValue","parse","rules","required","options","placeholder","help","controls","List","fields","add","remove","key","restField","Fragment","showSearch","optionFilterProp","autoClearSearchValue","danger","block","MinusCircleOutlined","PlusCircleOutlined","bordered","row","dateUtc","forEach","Object","assign","toFixed","getUploadDataPreview","getUploadColumns","next","validateFields","then","catch","percent","current","item","StepBackwardOutlined","marginRight","StepForwardOutlined","renderPage","confirmLoading","destroyOnClose","footer","initialValues","onFinish","htmlType","disabled","mapCentered","Assets","setData","column","search","setSearch","searchInput","useRef","getColumnSearchProps","filterDropdown","padding","ref","setSelectedKeys","onPressEnter","handleSearch","SearchOutlined","width","handleReset","clearFilters","closeDropdown","filterIcon","filtered","color","onFilter","toString","toLowerCase","includes","park","portfolio","onFilterDropdownVisibleChange","setTimeout","select","highlightStyle","backgroundColor","searchWords","autoEscape","textToHighlight","fetchData","parks","y","parkId","portfolios","portfolioId","sorter","b","toLocaleLowerCase","localeCompare","defaultSortOrder","capacity","EditOutlined","okText","okType","cancelText","success","DeleteFilled","postRenderCallback","useCallback","getView","fit","boundingExtent","fromLonLat","longitude","latitude","defaultActiveKey","TabPane","tab","faList","summary","pageData","totalWt","totalPv","totalCapacity","Summary","Row","Cell","colSpan","PlusOutlined","faMap","initial","center","zoom","onPostRender","zIndex","filter","geometry","Point","RStyle","RIcon","windTurbine","anchor","RText","font","solarPanel","faDatabase","Asset","setPortfolios","setParks","setAsset","loadingState","setLoadingState","parkModalState","setParkModalState","portfolioModalState","setPortfolioModalState","assetType","setAssetType","assetProps","setAssetProps","loadAsset","assetResp","loadParks","parksResp","loadPortfolios","portfoliosResp","loadData","onSaveParkClick","onSavePortfolioClick","showAddParkModal","showAddPortfolioModal","onFieldsChange","changedFields","allFields","onSaveClick","atype","aprops","HubHeight","SweptArea","Tilt","organizationId","AssetProps","max","hidden","PlusCircleFilled","ForecastFields","OptGroup","RangePicker","DatePicker","getObsFieldValue","field","obs","humidity","temperature","pressure","getForecastFieldValue","forecast","relativeHumidity","radiation","temperature2m","surfacePressure","getUnit","minuteInterval","Charts","assetFilter","setAssetFilter","setAssets","domains","setDomains","chartData","setChartData","errorStats","setErrorStats","errorStatsPerAsset","setErrorStatsPerAsset","chartType","setChartType","errorStatsPerModelColumns","model","bias","unit","mae","rmse","isNaN","nmae","nrmse","errorStatsPerAssetColumns","selectAllAssets","formatSetErrorStats","stats","getForecastModelTypes","getForecastSourceOptions","isAdmin","valueToModelString","valueToModelStringForDisplay","findRecord","mid","diff","onDrawChartClick","selection","assetIds","indexOf","strInterval","t1","t2","getHours","getMinutes","mfd","from","interval","reportResp","reportData","keys","validDate","getTimezoneOffset","forecastSources","fsi","fs","maxForecastDate","modelType","enhancements","domain","run","forecastResponse","createSumChart","createErrorSumChart","createChart","stepMinutes","assetsObservations","assetsForecasts","tmpChartData","capacityDictionary","obsSum","forecastSum","hasObsData","hasForData","hasOwnProperty","assetForecasts","idx","af","fPower","category","keyIdx","m","biasSum","errorCount","maeSum","rmseSum","abs","tmpErrorStatsPerModel","stat","sqrt","count","sort","hourObsSum","hourObsCount","hourForCount","hourForSum","obsAvg","NaN","assetStatsDict","fAsset","tmpErrorStatsPerAsset","tmpParks","splice","tmp","loadAssets","loadDomains","handleAssetFilterChange","renderAssetsSelect","p","assetTypes","k","startOf","subtract","Group","showTime","renderChartOptions","reload","ctype","Button","xField","yField","seriesField","yAxis","xAxis","tooltip","formatter","datum","pagination","EditableCell","editing","setEditing","setValue","save","wrap","flex","defaultValue","SaveOutlined","CloseOutlined","Users","userList","setUserList","organizations","setOrganizations","userName","inputType","UserOutlined","App","ready","setReady","exact","path","encodeURIComponent","match","params","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","createBrowserHistory"],"mappings":"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","file":"static/js/main.c2527591.chunk.js","sourcesContent":["import React, { ReactNode, useContext, useEffect, useState } from 'react'\r\nimport { Line } from '@ant-design/charts';\r\nimport { DatePicker, Button, Card, Form, Select, Col, Row, Spin, Result, Radio, Table, Input } from 'antd';\r\nimport { ColumnsType } from 'antd/es/table';\r\nimport moment from 'moment';\r\nimport { Observation } from '../data/Observation';\r\nimport { Asset } from '../data/Asset';\r\nimport { Park } from '../data/Park';\r\nimport { AssetForecast } from '../data/AssetForecast';\r\nimport NoAssets from '../components/NoAssets';\r\nimport { AppContext } from '../state/State';\r\nimport { ForecastDomain } from '../data/ForecastDomain';\r\nimport { useForm } from 'antd/lib/form/Form';\r\nimport { ForecastFields } from '../data/ForecastFields';\r\nimport { Portfolio } from '../data/Portfolio';\r\n\r\nconst { Option, OptGroup } = Select;\r\nconst { RangePicker } = DatePicker;\r\ntype ChartField = \"Power (KW)\" | \"Wind speed (m/sec)\" | \"Irradiance (W⋅m−2)\" | \"Temperature (°C)\" | \"Humidity %\" | \"Pressure (hPa)\" | \"Error %\";\r\ntype AssetFilter = \"portfolios\" | \"parks\" | \"assets\" | \"technology\";\r\n\r\ninterface ErrorStats {\r\n model: string;\r\n unit: string;\r\n bias: number;\r\n mae: number;\r\n rmse: number;\r\n nmae: number;\r\n nrmse: number;\r\n capacity: number;\r\n count: number;\r\n}\r\n\r\ninterface AssetErrorStats {\r\n asset: string;\r\n unit: string;\r\n bias: number;\r\n mae: number;\r\n rmse: number;\r\n nmae: number;\r\n nrmse: number;\r\n capacity: number;\r\n count: number;\r\n}\r\n\r\nconst getObsFieldValue = (field: ChartField, obs: Observation): number => {\r\n switch (field) {\r\n case \"Power (KW)\":\r\n return obs.power!;\r\n case \"Humidity %\":\r\n return obs.humidity!;\r\n case \"Irradiance (W⋅m−2)\":\r\n return obs.irradiance!;\r\n case \"Temperature (°C)\":\r\n return obs.temperature!;\r\n case \"Wind speed (m/sec)\":\r\n return obs.windSpeed!;\r\n case \"Pressure (hPa)\":\r\n return obs.pressure!;\r\n }\r\n\r\n return 0;\r\n}\r\n\r\nconst getForecastFieldValue = (field: ChartField, forecast: AssetForecast): number => {\r\n switch (field) {\r\n case \"Power (KW)\":\r\n return forecast.power;\r\n case \"Humidity %\":\r\n return forecast.relativeHumidity;\r\n case \"Irradiance (W⋅m−2)\":\r\n return forecast.radiation;\r\n case \"Temperature (°C)\":\r\n return forecast.temperature2m;\r\n case \"Wind speed (m/sec)\":\r\n return forecast.windSpeed[0].value;\r\n case \"Pressure (hPa)\":\r\n return forecast.surfacePressure;\r\n }\r\n\r\n return 0;\r\n}\r\n\r\nconst getUnit = (field: ChartField): string => {\r\n switch (field) {\r\n case \"Power (KW)\":\r\n return \"KW\";\r\n case \"Humidity %\":\r\n return \"%\";\r\n case \"Irradiance (W⋅m−2)\":\r\n return \"W⋅m−2\";\r\n case \"Temperature (°C)\":\r\n return \"°C\";\r\n case \"Wind speed (m/sec)\":\r\n return \"m/sec\";\r\n case \"Pressure (hPa)\":\r\n return \"hPa\";\r\n case \"Error %\":\r\n return \"%\";\r\n }\r\n\r\n return \"\";\r\n}\r\n\r\nlet observations: Array<{ asset: Asset | undefined, observations: Array }>;\r\nlet forecasts: Array<{ asset: Asset | undefined, forecasts: Array, model: string }>;\r\nlet minuteInterval = 60;\r\nlet dateFrom: Date;\r\nlet dateTo: Date;\r\n\r\nconst Charts: React.FC = props => {\r\n const [assetFilter, setAssetFilter] = useState(\"assets\");\r\n const [assets, setAssets] = useState>([]);\r\n const [parks, setParks] = useState>([]);\r\n const [portfolios, setPortfolios] = useState>([]);\r\n const [domains, setDomains] = useState>([]);\r\n const [loading, setLoading] = useState(true);\r\n const [hasError, setHasError] = useState(false);\r\n const [chartData, setChartData] = useState<{ field: ChartField, data: Array<{ x: Date, y: number, category: string }> } | null>(null);\r\n const [errorStats, setErrorStats] = useState | null>(null);\r\n const [errorStatsPerAsset, setErrorStatsPerAsset] = useState | null>(null);\r\n const [chartType, setChartType] = useState(0);\r\n const context = useContext(AppContext);\r\n const [form] = useForm();\r\n\r\n const errorStatsPerModelColumns: ColumnsType = [\r\n {\r\n title: \"Model\",\r\n dataIndex: \"model\",\r\n sorter: (a, b) => a.model.localeCompare(b.model),\r\n defaultSortOrder: 'ascend'\r\n },\r\n {\r\n title: \"BIAS\",\r\n dataIndex: \"bias\",\r\n render: (text, record) => `${record.bias.toFixed(2)} ${record.unit}`,\r\n sorter: (a, b) => a.bias - b.bias,\r\n },\r\n {\r\n title: \"MAE\",\r\n dataIndex: \"mae\",\r\n render: (text, record) => `${record.mae.toFixed(2)} ${record.unit}`,\r\n sorter: (a, b) => a.mae - b.mae,\r\n },\r\n {\r\n title: \"RMSE\",\r\n dataIndex: \"rmse\",\r\n sorter: (a, b) => a.rmse - b.rmse,\r\n render: (text, record) => isNaN(record.rmse) ? \"-\" : `${record.rmse.toFixed(2)} ${record.unit}`,\r\n },\r\n {\r\n title: \"NMAE\",\r\n dataIndex: \"nmae\",\r\n sorter: (a, b) => a.nmae - b.nmae,\r\n render: (text, record) => isNaN(record.nmae) ? \"-\" : `${record.nmae.toFixed(2)}%`,\r\n },\r\n {\r\n title: \"NRMSE\",\r\n dataIndex: \"nrmse\",\r\n sorter: (a, b) => a.nrmse - b.nrmse,\r\n render: (text, record) => isNaN(record.nrmse) ? \"-\" : `${record.nrmse.toFixed(2)}%`,\r\n },\r\n ];\r\n\r\n const errorStatsPerAssetColumns: ColumnsType = [\r\n {\r\n title: \"Asset\",\r\n dataIndex: [\"asset\"],\r\n sorter: (a, b) => a.asset.localeCompare(b.asset),\r\n defaultSortOrder: 'ascend'\r\n },\r\n {\r\n title: \"BIAS\",\r\n dataIndex: \"bias\",\r\n render: (text, record) => `${record.bias.toFixed(2)} ${record.unit}`,\r\n sorter: (a, b) => a.bias - b.bias,\r\n },\r\n {\r\n title: \"MAE\",\r\n dataIndex: \"mae\",\r\n render: (text, record) => `${record.mae.toFixed(2)} ${record.unit}`,\r\n sorter: (a, b) => a.mae - b.mae,\r\n },\r\n {\r\n title: \"RMSE\",\r\n dataIndex: \"rmse\",\r\n sorter: (a, b) => a.rmse - b.rmse,\r\n render: (text, record) => `${record.rmse.toFixed(2)} ${record.unit}`,\r\n },\r\n {\r\n title: \"NMAE\",\r\n dataIndex: \"nmae\",\r\n sorter: (a, b) => a.nmae - b.nmae,\r\n render: (text, record) => isNaN(record.nmae) ? \"-\" : `${record.nmae.toFixed(2)}%`,\r\n },\r\n {\r\n title: \"NRMSE\",\r\n dataIndex: \"nrmse\",\r\n sorter: (a, b) => a.nrmse - b.nrmse,\r\n render: (text, record) => isNaN(record.nrmse) ? \"-\" : `${record.nrmse.toFixed(2)}%`,\r\n },\r\n ];\r\n\r\n const selectAllAssets = () => {\r\n switch (assetFilter) {\r\n case 'assets':\r\n form.setFieldsValue({ \"assets\": assets.map(x => x.id) });\r\n break;\r\n case 'parks':\r\n form.setFieldsValue({ \"assets\": parks.map(x => x.id) });\r\n break;\r\n case 'portfolios':\r\n form.setFieldsValue({ \"assets\": portfolios.map(x => x.id) });\r\n break;\r\n case 'technology':\r\n form.setFieldsValue({ \"assets\": [1, 2, 3] });\r\n break;\r\n }\r\n };\r\n\r\n const formatSetErrorStats = (field: ChartField, stats: Array) => {\r\n stats.forEach(x => {\r\n if (field === \"Power (KW)\" &&\r\n (x.bias > 1000 ||\r\n x.mae > 1000 ||\r\n x.rmse > 1000)) {\r\n x.unit = \"MW\";\r\n x.bias /= 1000;\r\n x.mae /= 1000;\r\n x.rmse /= 1000;\r\n }\r\n });\r\n\r\n setErrorStats(stats);\r\n }\r\n\r\n const getForecastModelTypes = (): React.ReactNode => {\r\n if (!(context.state.userInfo?.admin ?? false)) {\r\n return ;\r\n }\r\n\r\n return ;\r\n }\r\n\r\n const getForecastModelEnhancements = (): React.ReactNode => {\r\n return ;\r\n }\r\n\r\n const getForecastSourceOptions = (): React.ReactNode => {\r\n const isAdmin = context.state.userInfo?.admin ?? false;\r\n return (<>\r\n \r\n \r\n {getForecastModelTypes()}\r\n \r\n \r\n {isAdmin && \r\n \r\n {getForecastModelEnhancements()}\r\n \r\n }\r\n );\r\n }\r\n\r\n const getDomainOptions = (): ReactNode => {\r\n return ;\r\n }\r\n\r\n const valueToModelString = (value: number): string => {\r\n switch (value) {\r\n case 2:\r\n return \"WrfGfs\";\r\n case 3:\r\n return \"WrfIcon\";\r\n case 4:\r\n return \"Ecmwf\";\r\n case 5:\r\n return \"Icon\";\r\n }\r\n\r\n return \"Meteogen\";\r\n }\r\n\r\n const valueToModelStringForDisplay = (value: number): string => {\r\n switch (value) {\r\n case 1:\r\n return \"Meteogen\";\r\n case 2:\r\n return \"WRF GFS\";\r\n case 3:\r\n return \"WRF ICON\";\r\n case 4:\r\n return \"ECMWF\";\r\n case 5:\r\n return \"ICON\";\r\n case 12345:\r\n return \"Day ahead report\";\r\n }\r\n\r\n return \"Meteogen\";\r\n }\r\n\r\n const valueToEnhancements = (value: number): number => {\r\n if (value === undefined) {\r\n return 0;\r\n }\r\n\r\n return value;\r\n }\r\n\r\n const findRecord = (data: Array, field: string, key: any) => {\r\n let min = 0;\r\n let max = data.length - 1;\r\n\r\n while (min <= max) {\r\n let mid = Math.round((min + max) / 2);\r\n const diff = key.getTime() - data[mid][field].getTime();\r\n if (diff === 0) {\r\n return data[mid];\r\n }\r\n else if (diff < 0) {\r\n max = mid - 1;\r\n }\r\n else {\r\n min = mid + 1;\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n const onChangeChartTypeClick = (e: any) => {\r\n const ctype = parseInt(e.target.value);\r\n if (ctype === 0) {\r\n createSumChart(\r\n dateFrom,\r\n dateTo,\r\n minuteInterval,\r\n observations,\r\n forecasts);\r\n }\r\n else if (ctype === 5) {\r\n createErrorSumChart(dateFrom, dateTo, minuteInterval, observations, forecasts);\r\n }\r\n else {\r\n let field: ChartField = \"Power (KW)\";\r\n switch (ctype) {\r\n case 2:\r\n field = \"Wind speed (m/sec)\";\r\n break;\r\n case 3:\r\n field = \"Irradiance (W⋅m−2)\";\r\n break;\r\n case 4:\r\n field = \"Temperature (°C)\";\r\n break;\r\n case 5:\r\n field = \"Error %\";\r\n break;\r\n }\r\n\r\n createChart(\r\n dateFrom,\r\n dateTo,\r\n minuteInterval,\r\n observations,\r\n forecasts,\r\n field);\r\n }\r\n\r\n setChartType(ctype);\r\n }\r\n\r\n const onDrawChartClick = async (values: any) => {\r\n setLoading(true);\r\n setChartData(null);\r\n setErrorStats(null);\r\n setHasError(false);\r\n\r\n const selection = values.assets as Array;\r\n\r\n let assetIds: Array = [];\r\n switch (assetFilter) {\r\n case 'assets':\r\n assetIds = selection;\r\n break;\r\n case \"parks\":\r\n assetIds = assets.filter(x => selection.indexOf(x.parkId) !== -1).map(x => x.id);\r\n break;\r\n case \"portfolios\":\r\n assetIds = assets.filter(x => selection.indexOf(x.portfolioId) !== -1).map(x => x.id);\r\n break;\r\n case \"technology\":\r\n assetIds = assets.filter(x => selection.indexOf(x.type) !== -1).map(x => x.id);\r\n break;\r\n }\r\n\r\n observations = [];\r\n forecasts = [];\r\n minuteInterval = 10;\r\n\r\n let strInterval = \"TenMinutes\";\r\n if (values[\"step\"] === 1) {\r\n strInterval = \"FifteenMinutes\";\r\n minuteInterval = 15;\r\n }\r\n else if (values[\"step\"] === 2) {\r\n strInterval = \"Hour\";\r\n minuteInterval = 60;\r\n }\r\n\r\n const t1 = (values[\"date-range\"][\"0\"] as moment.Moment).toDate();\r\n const t2 = (values[\"date-range\"][\"1\"] as moment.Moment).toDate();\r\n\r\n dateFrom = new Date(t1.getFullYear(), t1.getMonth(), t1.getDate(), t1.getHours(), t1.getMinutes());\r\n dateTo = new Date(t2.getFullYear(), t2.getMonth(), t2.getDate(), t2.getHours(), t2.getMinutes());\r\n\r\n let mfd: Date | null = null;\r\n if (values[\"max-forecast-date\"]) {\r\n mfd = (values[\"max-forecast-date\"] as moment.Moment).toDate();\r\n }\r\n\r\n try {\r\n if (values[\"forecast\"] && values[\"forecast\"].indexOf(12345) > -1) {\r\n const reportResp = await fetch(`/api/Assets/ReportForecast`, {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-type': 'application/json',\r\n },\r\n body: JSON.stringify({\r\n from: moment(dateFrom).format(\"YYYY-MM-DDTHH:mm:ss\"),\r\n to: moment(dateTo).format(\"YYYY-MM-DDTHH:mm:ss\"),\r\n dayAhead: true,\r\n interval: strInterval,\r\n assetIds: assetIds\r\n })\r\n });\r\n\r\n\r\n if (reportResp.status === 200) {\r\n const reportData = await reportResp.json();\r\n const keys = Object.keys(reportData);\r\n keys.forEach(key => {\r\n const assetId = parseInt(key);\r\n\r\n forecasts.push({\r\n asset: assets.find(x => x.id === assetId),\r\n forecasts: reportData[key],\r\n model: valueToModelStringForDisplay(12345),\r\n });\r\n\r\n forecasts[forecasts.length - 1].forecasts.forEach(x => x.validDate = moment(x.validDate).add(moment(x.validDate).toDate().getTimezoneOffset(), \"minutes\").toDate());\r\n });\r\n }\r\n else {\r\n setLoading(false);\r\n setHasError(true);\r\n return;\r\n }\r\n }\r\n\r\n for (let i = 0; i < assetIds.length; i++) {\r\n const response = await fetch(`/api/Assets/${assetIds[i]}/Observations`, {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-type': 'application/json',\r\n },\r\n body: JSON.stringify({\r\n from: moment(dateFrom).format(\"YYYY-MM-DDTHH:mm:ss\"),\r\n to: moment(dateTo).format(\"YYYY-MM-DDTHH:mm:ss\"),\r\n })\r\n });\r\n\r\n if (response.status === 200) {\r\n observations.push({\r\n asset: assets.find(x => x.id === assetIds[i]),\r\n observations: await response.json()\r\n });\r\n\r\n observations[observations.length - 1].observations.forEach(x => x.date = moment(x.date).add(moment(x.date).toDate().getTimezoneOffset(), \"minutes\").toDate());\r\n }\r\n else {\r\n setLoading(false);\r\n setHasError(true);\r\n return;\r\n }\r\n\r\n if (values[\"forecast\"] && values[\"forecast\"].length > 0) {\r\n const forecastSources = values[\"forecast\"] as Array;\r\n\r\n for (let fsi = 0; fsi < forecastSources.length; fsi++) {\r\n let fs = forecastSources[fsi];\r\n if (fs === 12345) {\r\n continue;\r\n }\r\n\r\n const forecastResponse = await fetch(`/api/Assets/${assetIds[i]}/Forecast`, {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-type': 'application/json',\r\n },\r\n body: JSON.stringify({\r\n from: moment(dateFrom).format(\"YYYY-MM-DDTHH:mm:ss\"),\r\n to: moment(dateTo).format(\"YYYY-MM-DDTHH:mm:ss\"),\r\n maxForecastDate: mfd ? moment(mfd).format(\"YYYY-MM-DDTHH:mm:ss\") : null,\r\n interval: strInterval,\r\n modelType: valueToModelString(fs),\r\n enhancements: valueToEnhancements(values[\"enhancements\"]),\r\n domain: values[\"domain\"],\r\n run: values[\"run\"],\r\n fields: [ForecastFields.Wind, ForecastFields.Power, ForecastFields.Radiation],\r\n })\r\n });\r\n\r\n if (forecastResponse.status === 200) {\r\n forecasts.push({\r\n asset: assets.find(x => x.id === assetIds[i]),\r\n forecasts: await forecastResponse.json(),\r\n model: valueToModelStringForDisplay(fs),\r\n });\r\n\r\n forecasts[forecasts.length - 1].forecasts.forEach(x => x.validDate = moment(x.validDate).add(moment(x.validDate).toDate().getTimezoneOffset(), \"minutes\").toDate());\r\n }\r\n else {\r\n setLoading(false);\r\n setHasError(true);\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n catch {\r\n setLoading(false);\r\n setHasError(true);\r\n return;\r\n }\r\n\r\n if (chartType === 0) {\r\n createSumChart(\r\n dateFrom,\r\n dateTo,\r\n minuteInterval,\r\n observations,\r\n forecasts);\r\n }\r\n else if (chartType === 5) {\r\n createErrorSumChart(\r\n dateFrom,\r\n dateTo,\r\n minuteInterval,\r\n observations,\r\n forecasts);\r\n }\r\n else {\r\n let field: ChartField = \"Power (KW)\";\r\n switch (chartType) {\r\n case 2:\r\n field = \"Wind speed (m/sec)\";\r\n break;\r\n case 3:\r\n field = \"Irradiance (W⋅m−2)\";\r\n break;\r\n case 4:\r\n field = \"Temperature (°C)\";\r\n break;\r\n }\r\n\r\n createChart(\r\n dateFrom,\r\n dateTo,\r\n minuteInterval,\r\n observations,\r\n forecasts,\r\n field);\r\n }\r\n\r\n setLoading(false);\r\n };\r\n\r\n const createSumChart = (from: Date, to: Date, stepMinutes: number, assetsObservations: Array<{ asset: Asset | undefined, observations: Array }>, assetsForecasts: Array<{ asset: Asset | undefined, forecasts: Array, model: string }>) => {\r\n let tmpChartData: Array<{ x: Date, y: number, category: string }> = [];\r\n let d = from;\r\n\r\n let stats: { [key: string]: { maeSum: number, biasSum: number, rmseSum: number, errorCount: number } } = {};\r\n let capacityDictionary: any = {};\r\n\r\n while (d <= to) {\r\n let obsSum = 0;\r\n let forecastSum: any = {};\r\n\r\n let hasObsData = false;\r\n let hasForData = false;\r\n\r\n for (let i = 0; i < assetsObservations.length; i++) {\r\n const assetId = assetsObservations[i].asset!.id;\r\n\r\n const obs = findRecord(assetsObservations[i].observations, \"date\", d) as Observation | null;\r\n if (obs !== null) {\r\n hasObsData = true;\r\n obsSum += obs.power!;\r\n\r\n if (!capacityDictionary.hasOwnProperty(assetId)) {\r\n capacityDictionary[assetId] = assetsObservations[i].asset!.capacity;\r\n }\r\n }\r\n\r\n if (assetsForecasts.length > 0) {\r\n const assetForecasts = assetsForecasts.filter(x => x.asset!.id === assetId);\r\n for (let idx = 0; idx < assetForecasts.length; idx++) {\r\n const af = assetForecasts[idx];\r\n const fPower = findRecord(af.forecasts, \"validDate\", d) as AssetForecast | null;\r\n if (fPower !== null) {\r\n hasForData = true;\r\n if (!forecastSum.hasOwnProperty(af.model)) {\r\n forecastSum[af.model] = 0;\r\n }\r\n\r\n forecastSum[af.model] += fPower.power;\r\n }\r\n };\r\n }\r\n }\r\n\r\n if (hasObsData) {\r\n tmpChartData.push({\r\n x: d,\r\n y: obsSum,\r\n category: \"Power\"\r\n });\r\n }\r\n\r\n if (hasForData) {\r\n const keys = Object.keys(forecastSum);\r\n for (let keyIdx = 0; keyIdx < keys.length; keyIdx++) {\r\n const m = keys[keyIdx];\r\n tmpChartData.push({\r\n x: d,\r\n y: forecastSum[m],\r\n category: `${m} Forecast`\r\n });\r\n\r\n if (hasObsData) {\r\n const diff = forecastSum[m] - obsSum;\r\n if (!stats[m]) {\r\n stats[m] = { biasSum: 0, errorCount: 0, maeSum: 0, rmseSum: 0 };\r\n }\r\n\r\n stats[m].biasSum += diff;\r\n stats[m].maeSum += Math.abs(diff);\r\n stats[m].rmseSum += diff * diff;\r\n stats[m].errorCount++;\r\n }\r\n }\r\n }\r\n\r\n d = new Date(d.getTime() + (stepMinutes * 60 * 1000));\r\n }\r\n\r\n setChartData({ field: 'Power (KW)', data: tmpChartData });\r\n setErrorStatsPerAsset(null);\r\n setErrorStats(null);\r\n\r\n let capacity = 0;\r\n Object.keys(capacityDictionary).forEach(x => {\r\n capacity += capacityDictionary[x];\r\n });\r\n\r\n let tmpErrorStatsPerModel: Array = [];\r\n Object.keys(stats).forEach(x => {\r\n let stat = stats[x];\r\n if (stat.errorCount > 0) {\r\n tmpErrorStatsPerModel.push({\r\n bias: stat.biasSum / stat.errorCount,\r\n rmse: Math.sqrt(stat.rmseSum / stat.errorCount),\r\n capacity: capacity,\r\n count: stat.errorCount,\r\n mae: stat.maeSum / stat.errorCount,\r\n model: x,\r\n nmae: 100 * (stat.maeSum / stat.errorCount) / capacity,\r\n nrmse: 100 * Math.sqrt(stat.rmseSum / stat.errorCount) / capacity,\r\n unit: \"KW\"\r\n });\r\n }\r\n });\r\n\r\n tmpErrorStatsPerModel.sort((a, b) => {\r\n if (a.model > b.model) {\r\n return 1;\r\n }\r\n else if (a.model < b.model) {\r\n return -1;\r\n }\r\n\r\n return 0;\r\n });\r\n\r\n\r\n formatSetErrorStats(\"Power (KW)\", tmpErrorStatsPerModel);\r\n }\r\n\r\n const createErrorSumChart = (from: Date, to: Date, stepMinutes: number, assetsObservations: Array<{ asset: Asset | undefined, observations: Array }>, assetsForecasts: Array<{ asset: Asset | undefined, forecasts: Array, model: string }>) => {\r\n let tmpChartData: Array<{ x: Date, y: number, category: string }> = [];\r\n let d = from;\r\n\r\n let capacityDictionary: any = {};\r\n\r\n let hourObsSum = 0;\r\n let hourObsCount = 0;\r\n\r\n let stats: { [key: string]: { maeSum: number, biasSum: number, errorCount: number, hourForSum: number, hourForCount: number } } = {};\r\n\r\n for (let i = 0; i < assetsObservations.length; i++) {\r\n const assetId = assetsObservations[i].asset!.id;\r\n\r\n const obs = findRecord(assetsObservations[i].observations, \"date\", d) as Observation | null;\r\n if (obs !== null) {\r\n if (!capacityDictionary.hasOwnProperty(assetId)) {\r\n capacityDictionary[assetId] = assetsObservations[i].asset!.capacity;\r\n }\r\n }\r\n }\r\n\r\n let capacity = 0;\r\n let assetCount = 0;\r\n Object.keys(capacityDictionary).forEach(x => {\r\n capacity += capacityDictionary[x];\r\n assetCount++;\r\n });\r\n\r\n while (d <= to) {\r\n for (let i = 0; i < assetsObservations.length; i++) {\r\n const assetId = assetsObservations[i].asset!.id;\r\n\r\n const obs = findRecord(assetsObservations[i].observations, \"date\", d) as Observation | null;\r\n if (obs !== null) {\r\n hourObsSum += obs.power!;\r\n hourObsCount++;\r\n }\r\n\r\n if (assetsForecasts.length > 0) {\r\n const assetForecasts = assetsForecasts.filter(x => x.asset!.id === assetId);\r\n assetForecasts.forEach(af => {\r\n const fPower = findRecord(af.forecasts, \"validDate\", d) as AssetForecast | null;\r\n\r\n if (fPower !== null) {\r\n if (!stats.hasOwnProperty(af.model)) {\r\n stats[af.model] = { biasSum: 0, errorCount: 0, maeSum: 0, hourForCount: 0, hourForSum: 0 };\r\n }\r\n\r\n stats[af.model].hourForSum += fPower.power;\r\n stats[af.model].hourForCount++;\r\n }\r\n });\r\n }\r\n }\r\n\r\n if (d.getTime() % (1000 * 3600) === 0) {\r\n const obsAvg = hourObsCount === 0 ? 0 : hourObsSum / (hourObsCount / assetCount);\r\n\r\n Object.keys(stats).forEach(model => {\r\n const forAvg = stats[model].hourForCount === 0 ? 0 : stats[model].hourForSum / (stats[model].hourForCount / assetCount);\r\n const diff = forAvg - obsAvg;\r\n const mae = Math.abs(diff) / capacity;\r\n const bias = diff / capacity;\r\n tmpChartData.push({\r\n x: d,\r\n y: mae * 100,\r\n category: `${model} error %`\r\n });\r\n stats[model].hourForCount = 0;\r\n stats[model].hourForSum = 0;\r\n\r\n stats[model].errorCount++;\r\n stats[model].maeSum += mae;\r\n stats[model].biasSum += bias;\r\n });\r\n\r\n hourObsCount = 0;\r\n hourObsSum = 0;\r\n }\r\n\r\n d = new Date(d.getTime() + (stepMinutes * 60 * 1000));\r\n }\r\n\r\n setChartData({ field: 'Error %', data: tmpChartData });\r\n setErrorStatsPerAsset(null);\r\n\r\n formatSetErrorStats(\"Error %\",\r\n Object.keys(stats).map(model => {\r\n return {\r\n model: `${model} error %`,\r\n unit: \"%\",\r\n mae: 100 * (stats[model].maeSum / stats[model].errorCount),\r\n bias: 100 * (stats[model].biasSum / stats[model].errorCount),\r\n rmse: NaN,\r\n nmae: NaN,\r\n nrmse: NaN,\r\n count: stats[model].errorCount,\r\n capacity: capacity,\r\n };\r\n }));\r\n }\r\n\r\n const createChart = (from: Date, to: Date, stepMinutes: number, observations: Array<{ asset: Asset | undefined, observations: Array }>, forecasts: Array<{ asset: Asset | undefined, forecasts: Array, model: string }>, field: ChartField) => {\r\n let tmpChartData: Array<{ x: Date, y: number, category: string }> = [];\r\n let assetStatsDict: { [key: string]: AssetErrorStats } = {};\r\n\r\n let d = from;\r\n\r\n while (d <= to) {\r\n for (let i = 0; i < observations.length; i++) {\r\n const assetId = observations[i].asset!.id;\r\n\r\n const obs = findRecord(observations[i].observations, \"date\", d) as Observation | null;\r\n if (obs !== null) {\r\n tmpChartData.push({\r\n x: d,\r\n y: getObsFieldValue(field, obs),\r\n category: observations[i].asset!.name\r\n });\r\n }\r\n\r\n if (forecasts.length > 0) {\r\n const assetForecasts = forecasts.filter(x => x.asset!.id === assetId);\r\n assetForecasts.forEach(af => {\r\n const fAsset = findRecord(af.forecasts, \"validDate\", d) as AssetForecast | null;\r\n if (fAsset !== null) {\r\n tmpChartData.push({\r\n x: d,\r\n y: getForecastFieldValue(field, fAsset),\r\n category: `${af.model} ${observations[i].asset!.name}`\r\n });\r\n\r\n if (obs !== null) {\r\n const key = `${assetId}_${af.model}`;\r\n if (!assetStatsDict.hasOwnProperty(key)) {\r\n assetStatsDict[key] = {\r\n unit: getUnit(field),\r\n count: 0,\r\n rmse: 0,\r\n bias: 0,\r\n mae: 0,\r\n nmae: 0,\r\n nrmse: 0,\r\n asset: `${observations[i].asset!.name} ${af.model}`,\r\n capacity: observations[i].asset!.capacity,\r\n };\r\n }\r\n\r\n const diff = getForecastFieldValue(field, fAsset) - getObsFieldValue(field, obs);\r\n assetStatsDict[key].bias += diff;\r\n assetStatsDict[key].mae += Math.abs(diff);\r\n assetStatsDict[key].rmse += diff * diff;\r\n assetStatsDict[key].count++;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n d = new Date(d.getTime() + (stepMinutes * 60 * 1000));\r\n }\r\n\r\n setChartData({ field, data: tmpChartData });\r\n setErrorStats(null);\r\n\r\n let tmpErrorStatsPerAsset: Array = [];\r\n Object.keys(assetStatsDict).forEach(x => {\r\n let stat = assetStatsDict[x];\r\n if (stat.count > 0) {\r\n stat.bias /= stat.count;\r\n stat.rmse = Math.sqrt(stat.rmse / stat.count);\r\n stat.mae /= stat.count;\r\n stat.nmae = field !== 'Power (KW)' || stat.capacity === 0 ? NaN : 100 * stat.mae / stat.capacity;\r\n stat.nrmse = field !== 'Power (KW)' || stat.capacity === 0 ? NaN : 100 * stat.rmse / stat.capacity;\r\n tmpErrorStatsPerAsset.push(stat);\r\n }\r\n });\r\n\r\n if (tmpErrorStatsPerAsset.length > 0) {\r\n tmpErrorStatsPerAsset.sort((a, b) => {\r\n if (a.asset > b.asset) {\r\n return 1;\r\n }\r\n else if (a.asset < b.asset) {\r\n return -1;\r\n }\r\n\r\n return 0;\r\n });\r\n\r\n setErrorStatsPerAsset(tmpErrorStatsPerAsset);\r\n }\r\n else {\r\n setErrorStatsPerAsset(null);\r\n }\r\n }\r\n\r\n const loadParks = async () => {\r\n setLoading(true);\r\n setHasError(false);\r\n\r\n try {\r\n const response = await fetch('/api/Parks', {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n },\r\n });\r\n\r\n if (response.status === 200) {\r\n let tmpParks = await response.json() as Array;\r\n tmpParks.splice(0, 0, { id: 0, name: \"Without park\", assets: [] });\r\n setParks(tmpParks);\r\n }\r\n else {\r\n setHasError(true);\r\n }\r\n }\r\n catch {\r\n setHasError(true);\r\n }\r\n\r\n setLoading(false);\r\n };\r\n\r\n const loadPortfolios = async () => {\r\n setLoading(true);\r\n setHasError(false);\r\n\r\n try {\r\n const response = await fetch('/api/Portfolios', {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n },\r\n });\r\n\r\n if (response.status === 200) {\r\n let tmp = await response.json() as Array;\r\n tmp.splice(0, 0, { id: 0, name: \"Without portfolio\", assets: [] });\r\n setPortfolios(tmp);\r\n }\r\n else {\r\n setHasError(true);\r\n }\r\n }\r\n catch {\r\n setHasError(true);\r\n }\r\n\r\n setLoading(false);\r\n };\r\n\r\n const loadAssets = async () => {\r\n setLoading(true);\r\n setHasError(false);\r\n\r\n try {\r\n const response = await fetch('/api/Assets', {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n },\r\n });\r\n\r\n if (response.status === 200) {\r\n setAssets(await response.json());\r\n }\r\n else {\r\n setHasError(true);\r\n }\r\n }\r\n catch {\r\n setHasError(true);\r\n }\r\n\r\n setLoading(false);\r\n };\r\n\r\n const loadDomains = async () => {\r\n setLoading(true);\r\n setHasError(false);\r\n\r\n try {\r\n const response = await fetch('/api/ForecastDomains', {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n },\r\n });\r\n\r\n if (response.status === 200) {\r\n setDomains(await response.json());\r\n }\r\n else {\r\n setHasError(true);\r\n }\r\n }\r\n catch {\r\n setHasError(true);\r\n }\r\n\r\n setLoading(false);\r\n };\r\n\r\n const getChartConfig = () => {\r\n return {\r\n data: chartData!.data,\r\n height: 400,\r\n xField: 'x',\r\n yField: 'y',\r\n seriesField: \"category\",\r\n yAxis: {\r\n title: { text: chartData!.field },\r\n },\r\n xAxis: {\r\n type: \"time\",\r\n },\r\n tooltip: {\r\n formatter: (datum: any) => {\r\n return { title: moment(datum.x).format(\"LLL\"), name: datum.category, value: Math.round(datum.y) };\r\n },\r\n }\r\n };\r\n }\r\n\r\n const handleAssetFilterChange = (value: AssetFilter) => {\r\n form.setFieldsValue({ \"assets\": [] });\r\n setAssetFilter(value);\r\n }\r\n\r\n const renderAssetsSelect = (): React.ReactNode => {\r\n if (assetFilter === \"parks\") {\r\n if ((parks?.length ?? 0) === 0) {\r\n return;\r\n }\r\n\r\n return ();\r\n }\r\n else if (assetFilter === \"portfolios\") {\r\n if ((portfolios?.length ?? 0) === 0) {\r\n return;\r\n }\r\n\r\n return ();\r\n }\r\n else if (assetFilter === 'technology') {\r\n return ();\r\n }\r\n\r\n let assetTypes: any = {};\r\n assets.forEach(x => {\r\n if (!assetTypes.hasOwnProperty(x.type)) {\r\n assetTypes[x.type] = [];\r\n }\r\n\r\n assetTypes[x.type].push(x);\r\n });\r\n\r\n return ();\r\n }\r\n\r\n const renderChartOptions = (): React.ReactNode => {\r\n return (\r\n

Chart options

\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {renderAssetsSelect()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n {getForecastSourceOptions()}\r\n \r\n \r\n\r\n \r\n