{"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","setLoggedIn","action","userInfo","setUserInfo","dashboardMenuActiveOption","setDashboardMenuActiveOption","version","setVersion","AppContext","createContext","AppContextProvider","children","useState","stateValue","Provider","value","Header","Layout","Content","Footer","Sider","DashboardLayout","props","context","useContext","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","join","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","type","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","state","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","responseVersion","exact","path","encodeURIComponent","match","params","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","createBrowserHistory"],"mappings":"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","file":"static/js/main.845a67cb.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.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.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