1 | import numpy
|
---|
2 | from writejsfield import writejsfield
|
---|
3 | def writejsfile(filename,model,keyname):
|
---|
4 | #WRITEJSFILE - write model file to javascript database
|
---|
5 | #
|
---|
6 | # Usage:
|
---|
7 | # writejsfile(filename,model,keyname)
|
---|
8 | #
|
---|
9 |
|
---|
10 | nods=len(model.x)
|
---|
11 | nel=len(model.index)
|
---|
12 | nx=len(model.contourx1)
|
---|
13 | print(filename)
|
---|
14 | fid=open(filename,'w', 0)
|
---|
15 |
|
---|
16 | fid.write('model = {};\n')
|
---|
17 | fid.write('model["title"]="{0}";\n'.format(model.title))
|
---|
18 | fid.write('model["initialZoomFactor"]={0};\n'.format(model.initialZoomFactor))
|
---|
19 | #write index:
|
---|
20 | fid.write('<!-- model["index"]{{{-->\n')
|
---|
21 | fid.write('model["index"]=[')
|
---|
22 | for i in range(0, nel-1):
|
---|
23 | fid.write('[{0}, {1}, {2}],'.format(model.index[i][0],model.index[i][1],model.index[i][2]))
|
---|
24 | fid.write('[{0}, {1}, {2}]];\n'.format(model.index[-1][0],model.index[-1][1],model.index[-1][2]))
|
---|
25 | fid.write('<!--}}}-->\n')
|
---|
26 | print('writing model coordinates')
|
---|
27 | writejsfield(fid,'model["x"]',model.x,nods)
|
---|
28 | writejsfield(fid,'model["y"]',model.y,nods)
|
---|
29 | writejsfield(fid,'model["z"]',model.z,nods)
|
---|
30 | writejsfield(fid,'model["surface"]',model.surface,nods)
|
---|
31 | writejsfield(fid,'model["contourx1"]',model.contourx1,nx)
|
---|
32 | writejsfield(fid,'model["contoury1"]',model.contoury1,nx)
|
---|
33 | writejsfield(fid,'model["contourz1"]',model.contourz1,nx)
|
---|
34 | writejsfield(fid,'model["contourx2"]',model.contourx2,nx)
|
---|
35 | writejsfield(fid,'model["contoury2"]',model.contoury2,nx)
|
---|
36 | writejsfield(fid,'model["contourz2"]',model.contourz2,nx)
|
---|
37 |
|
---|
38 | print('writing results')
|
---|
39 | results=model.results
|
---|
40 | fid.write('results={};\n')
|
---|
41 |
|
---|
42 | for i in range(0,len(results)):
|
---|
43 | fid.write('result={};\n')
|
---|
44 | writejsfield(fid,'result["data"]',results[i].data,nods)
|
---|
45 | fid.write('<!--{{{-->\n')
|
---|
46 | fid.write('result["caxis"]=[{0},{1}];\n'.format(results[i].caxis[0],results[i].caxis[1]))
|
---|
47 | fid.write('result["label"]="{0}";\n'.format(results[i].label))
|
---|
48 | fid.write('result["shortlabel"]="{0}";\n'.format(results[i].shortlabel))
|
---|
49 | fid.write('result["unit"]="{0}";\n'.format(results[i].unit))
|
---|
50 | if type(results[i].data)==numpy.float64:
|
---|
51 | fid.write('result["time_range"]=[{0},{1}];\n'.format(results[i].time_range[0],results[i].time_range[1]))
|
---|
52 | fid.write('results["{0}"]=result;\n'.format(i))
|
---|
53 | fid.write('<!--}}}-->\n')
|
---|
54 | fid.write('model.results=results;\n')
|
---|
55 | fid.write('models["{0}"]=model;\n'.format(keyname))
|
---|
56 |
|
---|
57 | fid.close()
|
---|