From 307b0e307b6ed734c5794559178cb4e17d4489e4 Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Sun, 12 Feb 2023 22:39:13 +0100 Subject: [PATCH] simulation --- Tage.xlsx | Bin 0 -> 13229 bytes kalender-t1.xlsx | Bin 0 -> 14133 bytes kalender-t2.xlsx | Bin 0 -> 14004 bytes kalender-t3.xlsx | Bin 0 -> 14012 bytes r-scripts/data/data.Rproj | 13 +++++ r-scripts/data/distribution.R | 41 ++++++++++++++ r-scripts/data/distribution.pdf | Bin 0 -> 4879 bytes simulation/gradient.png | Bin 0 -> 14626 bytes simulation/simulate.py | 91 ++++++++++++++++++++++++++++++++ simulation/t.py | 20 +++++++ simulation/temperature.png | Bin 0 -> 7206 bytes 11 files changed, 165 insertions(+) create mode 100644 Tage.xlsx create mode 100644 kalender-t1.xlsx create mode 100644 kalender-t2.xlsx create mode 100644 kalender-t3.xlsx create mode 100644 r-scripts/data/data.Rproj create mode 100644 r-scripts/data/distribution.R create mode 100644 r-scripts/data/distribution.pdf create mode 100644 simulation/gradient.png create mode 100644 simulation/simulate.py create mode 100644 simulation/t.py create mode 100644 simulation/temperature.png diff --git a/Tage.xlsx b/Tage.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..ccdce79afff00dfb405a05a724dc393ebddd70ee GIT binary patch literal 13229 zcmeIZgq_xSP5%-(BVd-a|(vyhX7xrYOS10jGwAac+w!-tm^P#_QnEC_@RLV(tIW^LtQ zXyu@zf$JceDbVFTDsAite-ADsV6efBXkiRSM4#;$V={)NY6KwtO~B5 zi=)2_di;Z=AgF_|lH7pylhzrbO{d$Bp?m4%@%e(E^K=RAGGBnaAK#?egra}<@Co|X!z2<J5NSu!!U#;orPZ1k}G+<6`w(`2u`OWoNc5f!cZdc zff4hp_qgnyp5+T(?<7C|&R*~V3x}7o(z(zt_T1JH{vnNBjHqqFVk@T8=+WqLyqJUw zol|}2!~8EfpCr5HDMg3(L`pEeF{=_FVrLTh;qu3Oskck3&FP&ML5&J4ZWa0!S8;t@ zkNlSCIUbX>hAI%iBegjcf4|dS&v>%vO{WF<(HViVq6v>_v0jSZ6ABj{1B<2uk;F#q zt2azCNu3H5>{zF4-^4noKOT9im$UEnB)hb7A-3dq?sj>9AkCQr_N)IUiPzJp*aN^K zH9(ROfDoWwTd>^biLsF`?ESHI^D;d zbYP*_RNg>G=qjh5rXhdqaX3%-utw|Um?R5~wV%sQUx(8P2ikWS?4z#?Iq$LVxnf)F z@WNX69rVE<=xr5}c#FYeV{NW)zEKaJ>QOu^w^KBc36;GdpFA#zwfp97hHrx>XxeT4l|T70eY&Z2|xMK^up z^gd(H;f~SIu8z@pz|;Q?8L_AwV0tgbq*uA@k2*DNxq3PUpsP*D<|;+2^g0 zev6^>#2Yjvv6a(pFg2SU4kJ_2JWep2k+i#l)a~U*YSA~ z1@Nxvz1j(6y)z@zABJ~jnUAeQf80ws47`bYB{A>&%9+6DAk2dCEOLN{uQXyCUaeY; z@#KC`gpO!BS)mZa(|bEUCjH@wzD3OAX+KZg)(8qL1{i)2$YQXV>uMx%#9#9yx!eV z<=}et?E@T+731lAeHalE@*!-4a1UE*VGVBgC<0YN4wrXFtX{k)}! zT{_Too#N2josCntp*>%IAv;0nvrkT+ z$<$$#TZbS*V|GZJJzUy*%oR*Uy$x?bWLdho1I&Vdmjng8pBz60(gIp~(H z;!`p^<$Im`j2GM|@OYuHtXadlSQ3Jdkq0Ed_q~XsvbWch4djvBs$O#uH&7rDZAHWm zeQEIO-MkzDv;0TSLs5PN&n}fZMjqb_b)AwY4ZBS4?(ggR*TNcY_1n8qGKy-y4y3mx zki$s8wYKPMKZKjc9v-Vbm6>%gTNQGFexaE7PLZulIzozQ_}D0BZ4$dDX}Tnudzeaw zLd;lN0QLIDRtODtA=Em=NSie`Cc=>LbuR83;u5sO3TLd-25LecZ4ny5K^arCDF@MB zIy=kZz~R8hnR|S;L#m}us5a2GWl2b!?6o|1WuVt|H#a!>dr4@=F9M$(&qb#-1~|^3 z*WUE)BEQzze;hn~@fdX_)jGDycxsNS#~OXDx_!|S$A4wo|HJdsakeviKIj{L!M!k> zSv0n`bg3ebKjtlixsF2-F!LSwk8_*1_9nV^h6aibcBWRw_TWmd86srX!iw?y#A{Bd zw;_C37*R+87b>-hr)eZ*0^0niiD+iMyOIgL!`a-A7Uz|3ZeeA zBPn`z^X4Aqd%nelc)mB`O+0*CNdXC!hI_?1R%Rdq${&yp&8+Jb|03FuC?{EAa~_Q}#4WCLGke0_>GnQWdRV`q7ob&PA1#nx%8g z$>2g84k7f z(XOH51%=5@2~E-#ds%w~Li_aGOq-(_x`(&WRv}&`pI@dQS^HV%!{U2QVeMq8pVW

f5#g97-855zZR9mX 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 ZzZXe4NmwA@Kp+(0A2txP?^wZC{|{q+y&(Vq literal 0 HcmV?d00001 diff --git a/kalender-t1.xlsx b/kalender-t1.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..ab27e7ff4d0e3e69211e30a3debbb198f7141f5f GIT binary patch literal 14133 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 OWRQ8F=Jf)8{`-H_G+;;o literal 0 HcmV?d00001 diff --git a/kalender-t3.xlsx b/kalender-t3.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..38d210fe0867544194f7c992b6d297d0ea5bab7e GIT binary patch literal 14012 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 literal 0 HcmV?d00001 diff --git a/r-scripts/data/data.Rproj b/r-scripts/data/data.Rproj new file mode 100644 index 0000000..8e3c2eb --- /dev/null +++ b/r-scripts/data/data.Rproj @@ -0,0 +1,13 @@ +Version: 1.0 + +RestoreWorkspace: Default +SaveWorkspace: Default +AlwaysSaveHistory: Default + +EnableCodeIndexing: Yes +UseSpacesForTab: Yes +NumSpacesForTab: 2 +Encoding: UTF-8 + +RnwWeave: Sweave +LaTeX: pdfLaTeX diff --git a/r-scripts/data/distribution.R b/r-scripts/data/distribution.R new file mode 100644 index 0000000..9dd72f2 --- /dev/null +++ b/r-scripts/data/distribution.R @@ -0,0 +1,41 @@ +library(tidyverse, warn.conflicts = FALSE) +library(DBI, warn.conflicts = FALSE) +library(tidyr, warn.conflicts = FALSE) +library(dplyr, warn.conflicts = FALSE) + +HOME <- Sys.getenv("HOME") +Sys.setenv(PGHOST = "db.mainscnt.eu", + PGDATABASE = "power", + PGPORT = 5432, + PGUSER = "wn", + PGSSLMODE = "verify-ca", + PGSSLKEY = paste(HOME, "/keys/psql/wn-postgresql-client-2.key", sep=""), + PGSSLCERT = paste(HOME, "/keys/psql/wn-postgresql-client-2.crt", sep=""), + PGSSLROOTCERT = paste(HOME, "/keys/psql/postgres-ca.crt", sep="")) + + +con <- dbConnect(RPostgres::Postgres()) + +YEAR <- 2022 +res <- dbSendQuery(con, " + select + date_trunc('day', time)::date as day, + avg(temperature) as temperature + from room_climate_measurement_t + where + category = 'Outdoor' and + location = 'Outdoor' and + extract('hour' from time) = 12 and + extract('year' from time) = $1 + group by day + order by day +") +dbBind(res, list(YEAR)) +distribution <- dbFetch(res) +dbClearResult(res) + +g <- ggplot(data = distribution, aes(x = temperature)) + + geom_histogram(binwidth = 1) + +print(g) + diff --git a/r-scripts/data/distribution.pdf b/r-scripts/data/distribution.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0868870325ef0c7fe5b2079a849cb4edb60da385 GIT binary patch literal 4879 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≷ppH|NZod0}uWA$T6 zoLO!l%U1aM?!Q`Xm0xWr-gk<}$s<#b9ZSRu_vSV`*OQ zc+dw5P;q!SI^>1Hl8FQ;;7SG=hICI17E7NKKma!!Jro5;fdX;_BGnCahXUjuNn+`p zKOT?y8}3OXcwophFFb}ug#ttmA_2TakB0eiGKJB(qyIMG_|fbCY{dVVaQsjLfECS^ z`eWe10O=CL6yrrtiLMTQ)a4Hw0}y{1q~fp`2=KEmP)0@nJ`nLCgYFP{C=3RX|MftX z6crT|q3+OM7@R)#VLVX6FASzc*Fpb_!4%}_Lgt?slCFpTfgx1rY5W6IRG<%Y{ug7+ zlKzdU{0l?C;s1((Kp_8?3zdw);XyKeY6S(XaDE{DzEI#i!JSA~XN-CPmP8^I%9tko Ys11dRAya=;2BCv>v7|$T5?*$*Y{^HeJXB!I4b(zmYS90e%1HK zrGXnyS~~oc7TM$wxCuN5W&(o|bwDEV3792JA`cl9oXRa1-DW1PxLME`=Eb z&S?**Q0S2;(`XcFPXAYP`t^ELZcBqvw+xRX-!(OPYphcnnakSmca;@Sdk^bU>di>l z{94=6!cULncZ|1ZlSAMp@En*43`W!eiNq&hmN11lW8wiBiJ(YY1{uIjfJYECNFlfs gW(+u|J@~5%W!qXl-Ao_EJ6ER7QJBsIwW-3!FAa1UivR!s literal 0 HcmV?d00001 diff --git a/simulation/simulate.py b/simulation/simulate.py new file mode 100644 index 0000000..c980a69 --- /dev/null +++ b/simulation/simulate.py @@ -0,0 +1,91 @@ +import png +import psycopg +import json + +COLORS = ( + (128, 0, 0), + (130, 40, 40), + (141, 83, 59), + (153, 102, 117), + (153, 102, 169), + (128, 0, 128), + (101, 0, 155), + (72, 0, 225), + (4, 0, 208), + (0, 68, 220), + (1, 114, 226), + (1, 159, 232), + (11, 175, 162), + (23, 179, 77), + (0, 212, 28), + (0, 255, 0), + (128, 255, 0), + (200, 255, 0), + (255, 255, 0), + (255, 219, 0), + (255, 182, 0), + (255, 146, 0), + (255, 109, 0), + (255, 73, 0), + (255, 0, 0), + (255, 0, 128), + (255, 105, 180), + (255, 0, 255), + (168, 0, 185) +) + + +conn = psycopg.connect("dbname=power") +with conn: + with conn.cursor() as cur: + cur.execute(""" + select + date_trunc('day', time)::date::varchar as day, + avg(temperature)::int as temperature + from room_climate_measurement_t + where + category = 'Outdoor' and + location = 'Outdoor' and + extract('hour' from time) = 12 and + extract('year' from time) = 2022 + group by day + order by day + """) + res = cur.fetchall() + temperatures = [ x[1] for x in res ] + # print(json.dumps(temperatures)) +conn.close() + +min_t = min(temperatures) +max_t = max(temperatures) +span_t = max_t - min_t +# print(f"{min_t=}, {max_t=}, {span_t=}") + +temperatures = [ int(x/2) for x in temperatures ] +min_t = min(temperatures) +max_t = max(temperatures) +span_t = max_t - min_t +# print(f"{min_t=}, {max_t=}, {span_t=}") + +temperatures = [ x - min_t for x in temperatures ] +min_t = min(temperatures) +max_t = max(temperatures) +span_t = max_t - min_t +# print(f"{min_t=}, {max_t=}, {span_t=}") + + +height = 350 + +img = [] +for i in range(height): + row = () + for t in temperatures: + for j in range(3): + row += COLORS[t] + img.append(row) + +width = len(temperatures) * 3 + +with open('temperature.png', 'wb') as f: + w = png.Writer(width, height, greyscale=False) + w.write(f, img) diff --git a/simulation/t.py b/simulation/t.py new file mode 100644 index 0000000..77f530a --- /dev/null +++ b/simulation/t.py @@ -0,0 +1,20 @@ +import png + +width = 2400 +height = 1000 +img = [] + +for y in range(height): + row = () + for x in range(int(width/3)): + row = row + (255, 0, 0) + for x in range(int(width/3)): + row = row + (0, 255, 0) + for x in range(int(width/3)): + row = row + (0, 0, 255) + img.append(row) + +with open('gradient.png', 'wb') as f: + w = png.Writer(width, height, greyscale=False) + w.write(f, img) + diff --git a/simulation/temperature.png b/simulation/temperature.png new file mode 100644 index 0000000000000000000000000000000000000000..f8ab2e4763b24d1a9a2a098bfe2029a87b685671 GIT binary patch literal 7206 zcmeAS@N?(olHy`uVBq!ia0y~yU~y+)V2tBn0*bs?`b-x{F?qT;hE&W+S~5|afkFB{ zi1+roecn|E0rm&IF2@-&EF9iBcsn{Dm3+Y9@pAqPONK=qF7B?4MKJ$&Ch6U(owv~rhCTs_g&{Nk0V&DT0l8Hf4n-TOCF zseQ$qHyb9sK6&)(SuMHxpC(5?707AN4=MT)7P=`pZw8 z4F9yLgk5XxlbosA`wfrO*-Oj5TVH&31J{{J$ImZcePY+FC#Nju9@m;S=dYvrxnp&) zXFr}!UAb}Et?%bwO?(#l=~7Ky=*g`d&n=6jyg%RG`b+%&^Aq#>bG&$Goz3o;lXbaR zZnpC6xy#qNt-oqfzq?z@vRwW3DW>9c(p%k6?tEa`yKH_|+~<>ZMw{mJTAsJf|MQ5C zXO^tl=}UiB7#DHR`aF5L>hV+lL9YJ{%}$;@zI11jsjdEh-K)iJVO0vVw00FGt$DTl z=bCckJO8b&OiuM*TzT%NAjkN_g~$8 z`c&lRo;cG&spPITdw1?Io4z!rMXmCt@2Z7Tqi8e)MnhmU1V%$(Gz3ONU^E0qLtr!n zMnhmU1V%$(Gz3ONU^E0qLtr!nMnhmU1V%$(Gz3ONU^E0qLtuD@z|P+Not2LZ;!9(% R04M$!JYD@<);T3K0RR^ID|-L{ literal 0 HcmV?d00001