Created
March 23, 2022 21:38
-
-
Save christophernhill/91340502ee9d2effcaac64c49ce2ebb3 to your computer and use it in GitHub Desktop.
mghpcc-rack-plot
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
# coding: utf-8 | |
# In[1]: | |
import matplotlib.pyplot as plt | |
# In[2]: | |
import numpy as np | |
# In[3]: | |
a=np.ones(10) | |
# In[5]: | |
plt.plot(a) | |
# In[79]: | |
# | |
# Side view | |
# | |
def prack(x0,y0,nr): | |
rx=np.array([0,30,30,0,0]); | |
ry=np.array([0,0,83.93,83.93,0]); | |
lx=(rx[1]+rx[0])*0.5+x0 | |
ly=(ry[2]+ry[1])*0.5+y0 | |
plt.text(lx,ly,'Compute Rack - %2.2d'%(nr),rotation=90,color='k',ha='center', va='center') | |
plt.plot(rx+x0,ry+y0,color='k') | |
return x0+30, nr+1 | |
def pirc(x0,y0,ni): | |
ix=np.array([0,24,24,0,0]); | |
iy=np.array([0,0,78.39,78.39,0]); | |
lx=(ix[1]+ix[0])*0.5+x0 | |
ly=(iy[2]+iy[1])*0.5+y0 | |
plt.text(lx,ly,' In-row Chiller - %2.2d'%(ni),rotation=90,color='k',ha='center', va='center') | |
plt.plot(ix+x0,iy+y0,color='k') | |
return x0+24, ni+1 | |
# In[76]: | |
plt.rcParams['figure.figsize'] = [30, 6] | |
# In[77]: | |
x=0;nr=1;ni=1 | |
x,nr=prack(x,0,nr) | |
x,nr=prack(x,0,nr) | |
x,ni=pirc(x,0,ni) | |
x,nr=prack(x,0,nr) | |
x,nr=prack(x,0,nr) | |
x,ni=pirc(x,0,ni) | |
x,nr=prack(x,0,nr) | |
x,nr=prack(x,0,nr) | |
x,ni=pirc(x,0,ni) | |
x,nr=prack(x,0,nr) | |
x,nr=prack(x,0,nr) | |
x,ni=pirc(x,0,ni) | |
x,nr=prack(x,0,nr) | |
x,nr=prack(x,0,nr) | |
x,ni=pirc(x,0,ni) | |
x,nr=prack(x,0,nr) | |
x,nr=prack(x,0,nr) | |
# In[78]: | |
x=0;nr=1 | |
x,nr=prack(x,0,nr) | |
x,nr=prack(x,0,nr) | |
x,nr=prack(x,0,nr) | |
x,nr=prack(x,0,nr) | |
x,nr=prack(x,0,nr) | |
x,nr=prack(x,0,nr) | |
x,nr=prack(x,0,nr) | |
x,nr=prack(x,0,nr) | |
x,nr=prack(x,0,nr) | |
x,nr=prack(x,0,nr) | |
x,nr=prack(x,0,nr) | |
x,nr=prack(x,0,nr) | |
x,nr=prack(x,0,nr) | |
x,nr=prack(x,0,nr) | |
x,nr=prack(x,0,nr) | |
x,nr=prack(x,0,nr) | |
# In[325]: | |
# | |
# Plan view | |
# | |
def prack(x0,y0,nr,doplot=True,col='k'): | |
rx=np.array([0,45,45,0,0]); | |
ry=np.array([0,0,30,30,0]); | |
lx=(rx[1]+rx[0])*0.5+x0 | |
ly=(ry[2]+ry[1])*0.5+y0 | |
# plt.text(lx,ly,'Compute Rack - %2.2d'%(nr),rotation=90,color='k',ha='center', va='center') | |
if doplot: | |
plt.plot(rx+x0,ry+y0,color=col) | |
return x0,y0+30, nr+1 | |
def pirc(x0,y0,nr,doplot=True,col='k'): | |
rx=np.array([0,36,36,0,0]); | |
ry=np.array([0,0,24,24,0]); | |
lx=(rx[1]+rx[0])*0.5+x0 | |
ly=(ry[2]+ry[1])*0.5+y0 | |
# plt.text(lx,ly,'Compute Rack - %2.2d'%(nr),rotation=90,color='k',ha='center', va='center') | |
if doplot: | |
plt.plot(rx+x0,ry+y0,color=col) | |
return x0,y0+24, nr+1 | |
def pircr(x0,y0,nr,doplot=True,col='k'): | |
rx=np.array([0,36,36,0,0])+9; | |
ry=np.array([0,0,24,24,0]); | |
lx=(rx[1]+rx[0])*0.5+x0 | |
ly=(ry[2]+ry[1])*0.5+y0 | |
# plt.text(lx,ly,'Compute Rack - %2.2d'%(nr),rotation=90,color='k',ha='center', va='center') | |
if doplot: | |
plt.plot(rx+x0,ry+y0,color=col) | |
return x0,y0+24, nr+1 | |
def prackUl(x0,y0,nr,doplot=True,col='k'): | |
rx=np.array([0,45,45,0,0]); | |
ry=np.array([0,0,30,30,0]); | |
dx=np.array([0,11,11,0,0]); | |
dy=np.array([0,0,30,30,0]); | |
lx=(rx[1]+rx[0])*0.5+x0 | |
ly=(ry[2]+ry[1])*0.5+y0 | |
# plt.text(lx,ly,'Compute Rack - %2.2d'%(nr),rotation=90,color='k',ha='center', va='center') | |
if doplot: | |
plt.plot(rx+x0,ry+y0,color=col) | |
plt.plot(dx+x0+45,dy+y0,color=col) | |
return x0,y0+30, nr+1 | |
def prackUr(x0,y0,nr,doplot=True,col='k'): | |
rx=np.array([0,45,45,0,0]); | |
ry=np.array([0,0,30,30,0]); | |
dx=np.array([0,-11,-11,0,0]); | |
dy=np.array([0,0,30,30,0]); | |
lx=(rx[1]+rx[0])*0.5+x0 | |
ly=(ry[2]+ry[1])*0.5+y0 | |
# plt.text(lx,ly,'Compute Rack - %2.2d'%(nr),rotation=90,color='k',ha='center', va='center') | |
if doplot: | |
plt.plot(rx+x0,ry+y0,color=col) | |
plt.plot(dx+x0,dy+y0,color=col) | |
return x0,y0+30, nr+1 | |
# In[91]: | |
plt.rcParams['figure.figsize'] = [216/10, 146/10] | |
# In[248]: | |
def prow(nrow,pods={"A":True,"B":True,"C":True},col='k'): | |
roff=(nrow-1)*18*12; | |
x=216*12-(12+13)*12-roff;nr=1;ni=1;y=7*12 | |
# Left side | |
# POD C | |
if pods["C"]: | |
plt.plot([x+45,x+45+48],[y,y],color=col) | |
for i in range(1,6): | |
x,y,nr=prack(x,y,nr,pods["C"],col) | |
x,y,nr=prack(x,y,nr,pods["C"],col) | |
x,y,nr=pirc(x,y,nr,pods["C"],col) | |
x,y,nr=prack(x,y,nr,pods["C"],col) | |
x,y,nr=prack(x,y,nr,pods["C"],col) | |
if pods["C"]: | |
plt.plot([x+45,x+45+48],[y,y],color=col) | |
# POD B | |
y=y+11*12+6 | |
if pods["B"]: | |
plt.plot([x+45,x+45+48],[y,y],color=col) | |
for i in range(1,5): | |
x,y,nr=prack(x,y,nr,pods["B"],col) | |
x,y,nr=prack(x,y,nr,pods["B"],col) | |
x,y,nr=pirc(x,y,nr,pods["B"],col) | |
x,y,nr=prack(x,y,nr,pods["B"],col) | |
x,y,nr=prack(x,y,nr,pods["B"],col) | |
if pods["B"]: | |
plt.plot([x+45,x+45+48],[y,y],color=col) | |
# POD A | |
y=y+11*12+6 | |
if pods["A"]: | |
plt.plot([x+45,x+45+48],[y,y],color=col) | |
for i in range(1,6): | |
x,y,nr=prack(x,y,nr,pods["A"],col) | |
x,y,nr=prack(x,y,nr,pods["A"],col) | |
x,y,nr=pirc(x,y,nr,pods["A"],col) | |
x,y,nr=prack(x,y,nr,pods["A"],col) | |
x,y,nr=prack(x,y,nr,pods["A"],col) | |
if pods["A"]: | |
plt.plot([x+45,x+45+48],[y,y],color=col) | |
# Right side | |
x=216*12-(4+13)*12-roff;nr=1;ni=1;y=7*12 | |
# POD C | |
for i in range(1,6): | |
x,y,nr=prack(x,y,nr,pods["C"],col) | |
x,y,nr=prack(x,y,nr,pods["C"],col) | |
x,y,nr=pircr(x,y,nr,pods["C"],col) | |
x,y,nr=prack(x,y,nr,pods["C"],col) | |
x,y,nr=prack(x,y,nr,pods["C"],col) | |
# POD B | |
y=y+11*12+6 | |
for i in range(1,5): | |
x,y,nr=prack(x,y,nr,pods["B"],col) | |
x,y,nr=prack(x,y,nr,pods["B"],col) | |
x,y,nr=pircr(x,y,nr,pods["B"],col) | |
x,y,nr=prack(x,y,nr,pods["B"],col) | |
x,y,nr=prack(x,y,nr,pods["B"],col) | |
# POD A | |
y=y+11*12+6 | |
for i in range(1,6): | |
x,y,nr=prack(x,y,nr,pods["A"],col) | |
x,y,nr=prack(x,y,nr,pods["A"],col) | |
x,y,nr=pircr(x,y,nr,pods["A"],col) | |
x,y,nr=prack(x,y,nr,pods["A"],col) | |
x,y,nr=prack(x,y,nr,pods["A"],col) | |
# In[243]: | |
def prow6(nrow): | |
roff=(nrow-1)*18*12; | |
x=216*12-(12+13)*12-roff;nr=1;ni=1;y=7*12 | |
# Left side | |
plt.plot([x+45,x+45+48],[y,y],color='k') | |
x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr) | |
x,y,nr=pirc(x,y,nr) | |
x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr) | |
x,y,nr=pirc(x,y,nr) | |
x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); | |
plt.plot([x+45,x+45+48],[y,y],color='k') | |
y=y+14*12 | |
plt.plot([x+45,x+45+48],[y,y],color='k') | |
x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); | |
x,y,nr=pirc(x,y,nr) | |
x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); | |
x,y,nr=pirc(x,y,nr) | |
x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); | |
plt.plot([x+45,x+45+48],[y,y],color='k') | |
y=y+12*12+4 | |
plt.plot([x+45,x+45+48],[y,y],color='k') | |
x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); | |
x,y,nr=pirc(x,y,nr) | |
x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr) | |
x,y,nr=pirc(x,y,nr) | |
x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr) | |
plt.plot([x+45,x+45+48],[y,y],color='k') | |
# Right side | |
roff=(nrow-1)*18*12; | |
x=216*12-(4+13)*12-roff;nr=1;ni=1;y=7*12 | |
x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr) | |
x,y,nr=pircr(x,y,nr) | |
x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr) | |
x,y,nr=pircr(x,y,nr) | |
x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); | |
y=y+14*12 | |
x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); | |
x,y,nr=pircr(x,y,nr) | |
x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); | |
x,y,nr=pircr(x,y,nr) | |
x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); | |
y=y+12*12+4 | |
x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); | |
x,y,nr=pircr(x,y,nr) | |
x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr) | |
x,y,nr=pircr(x,y,nr) | |
x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr); x,y,nr=prack(x,y,nr) | |
# In[276]: | |
def prowA(nr): | |
prow(nr) | |
def ptape(): | |
nrow=7 | |
roff=(nrow-1)*18*12; | |
x=216*12-(12+13)*12-roff+4*12;nr=1;ni=1;y=103*12 | |
xc=np.array([0,8*12,8*12,0,0]); | |
yc=np.array([0,0,30*12,30*12,0]) | |
plt.plot(xc+x,yc+y,color='k') | |
# In[322]: | |
def prowU(nrow,pods={"A":True,"B":True,"C":True},col='k',ls=0,rs=0): | |
roff=(nrow-1)*18*12; | |
x=216*12-(12+13)*12-roff-ls;nr=1;ni=1;y=7*12 | |
# Left side | |
# POD C | |
for i in range(1,17): | |
x,y,nr=prack(x,y,nr,pods["C"],col) | |
# POD B | |
y=y+11*12+6 | |
for i in range(1,14): | |
x,y,nr=prack(x,y,nr,pods["B"],col) | |
# POD A | |
y=y+11*12+12 | |
for i in range(1,17): | |
x,y,nr=prackUl(x,y,nr,pods["A"],col) | |
# Right side | |
x=216*12-(4+13)*12-roff-rs;nr=1;ni=1;y=7*12 | |
# POD C | |
for i in range(1,17): | |
x,y,nr=prack(x,y,nr,pods["C"],col) | |
# POD B | |
y=y+11*12+6 | |
for i in range(1,14): | |
x,y,nr=prack(x,y,nr,pods["B"],col) | |
# POD A | |
y=y+11*12+12 | |
for i in range(1,17): | |
x,y,nr=prackUr(x,y,nr,pods["A"],col) | |
# In[289]: | |
plt.axis([0 , 213*12 , 0 , 150*12]) | |
pods={"A":True,"B":True,"C":True} | |
prow(1,pods) | |
prow(2,pods) | |
prow(3,pods) | |
prow(4,pods) | |
prow(5,pods) | |
prow6(6) | |
pods["A"]=False | |
prow(7,pods) | |
ptape() | |
pods["A"]=False | |
pods["B"]=False | |
prow(8,pods) | |
pods["A"]=True | |
pods["B"]=False | |
pods["C"]=False | |
prow(8,pods,col='k') | |
pods["A"]=False | |
pods["B"]=False | |
pods["C"]=True | |
prow(9,pods,col='k') | |
pods["A"]=True | |
pods["B"]=False | |
pods["C"]=False | |
prow(9,pods,col='r') | |
pods["A"]=True | |
pods["B"]=False | |
pods["C"]=False | |
prow(10,pods,col='r') | |
# In[326]: | |
plt.axis([0 , 213*12 , 0 , 150*12]) | |
pods={"A":True,"B":True,"C":True} | |
prow(1,pods) | |
prow(2,pods) | |
prow(3,pods) | |
prow(4,pods) | |
prow(5,pods) | |
prow6(6) | |
pods["A"]=False | |
prow(7,pods) | |
ptape() | |
pods["A"]=False | |
pods["B"]=False | |
prow(8,pods) | |
pods["A"]=True | |
pods["B"]=False | |
pods["C"]=False | |
prow(8,pods,col='k') | |
pods["A"]=False | |
pods["B"]=False | |
pods["C"]=True | |
prow(9,pods,col='k') | |
pods["A"]=True | |
pods["B"]=False | |
pods["C"]=False | |
prowU( 9,pods,col='r',ls=12,rs=0) | |
pods["A"]=True | |
pods["B"]=False | |
pods["C"]=False | |
prowU(10,pods,col='r',ls=0,rs=-12) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment