source: issm/trunk-jpl/src/py3/plot/writejsfile.py@ 19895

Last change on this file since 19895 was 19895, checked in by bdef, 9 years ago

NEW:Adding directory to hold the python 3 implementation of the interface

File size: 2.2 KB
Line 
1import numpy
2from writejsfield import writejsfield
3def 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()
Note: See TracBrowser for help on using the repository browser.