source: issm/trunk-jpl/test/NightlyRun/test443.py@ 21827

Last change on this file since 21827 was 21827, checked in by schlegel, 8 years ago

CHG: add a python test for 443, regional output

File size: 4.6 KB
RevLine 
[21827]1#Test Name: SquareSheetShelfTranSSA3dAggressiveRegionalOutput
2import numpy as np
3from model import *
4from socket import gethostname
5
6from triangle import *
7from setmask import *
8from parameterize import *
9from setflowequation import *
10from solve import *
11from frictioncoulomb import frictioncoulomb
12from ContourToMesh import ContourToMesh
13from regionaloutput import regionaloutput
14
15md=triangle(model(),'../Exp/Square.exp',150000.)
16md=setmask(md,'../Exp/SquareShelf.exp','')
17md=parameterize(md,'../Par/SquareSheetShelf.py')
18md.geometry.bed=copy.deepcopy(md.geometry.base)
19pos=np.nonzero(md.mask.groundedice_levelset<0.)
20md.geometry.bed[pos]=md.geometry.bed[pos]-10
21md.friction=frictioncoulomb()
22md.friction.coefficient=20*np.ones(md.mesh.numberofvertices)
23md.friction.p=1*np.ones(md.mesh.numberofelements)
24md.friction.q=1*np.ones(md.mesh.numberofelements)
25md.friction.coefficientcoulomb=0.02*np.ones(md.mesh.numberofvertices)
26md.transient.isthermal=False
27md.transient.isgroundingline=True
28md.groundingline.migration='AggressiveMigration';
29
30md.settings.output_frequency=2
31md=setflowequation(md,'SSA','all')
32md.cluster=generic('name',gethostname(),'np',3)
33
34regionalmask=np.zeros((md.mesh.numberofvertices))
35inflag=ContourToMesh(md.mesh.elements,md.mesh.x,md.mesh.y,'../Exp/SquareHalfRight.exp','node',1)
36regionalmask[np.nonzero(inflag)[0]] = 1.
37md.transient.requested_outputs=['default','GroundedArea1','FloatingArea1','TotalFloatingBmb1','TotalGroundedBmb1','TotalSmb1','IceMass1','IceVolume1','IceVolumeAboveFloatation1','IceVolumeAboveFloatation2','IceVolumeAboveFloatation']
38
39md.outputdefinition.definitions=[regionaloutput('name','GroundedArea1','outputnamestring','GroundedArea','mask',regionalmask,'definitionstring','Outputdefinition1'),
40 regionaloutput('name','FloatingArea1','outputnamestring','FloatingArea','mask',regionalmask,'definitionstring','Outputdefinition2'),
41 regionaloutput('name','TotalFloatingBmb1','outputnamestring','TotalFloatingBmb','mask',regionalmask,'definitionstring','Outputdefinition3'),
42 regionaloutput('name','TotalGroundedBmb1','outputnamestring','TotalGroundedBmb','mask',regionalmask,'definitionstring','Outputdefinition4'),
43 regionaloutput('name','IceMass1','outputnamestring','IceMass','mask',regionalmask,'definitionstring','Outputdefinition5'),
44 regionaloutput('name','IceVolume1','outputnamestring','IceVolume','mask',regionalmask,'definitionstring','Outputdefinition6'),
45 regionaloutput('name','IceVolumeAboveFloatation1','outputnamestring','IceVolumeAboveFloatation','mask',regionalmask,'definitionstring','Outputdefinition7'),
46 regionaloutput('name','TotalSmb1','outputnamestring','TotalSmb','mask',regionalmask,'definitionstring','Outputdefinition8'),
47 regionaloutput('name','IceVolumeAboveFloatation2','outputnamestring','IceVolumeAboveFloatation','maskexpstring','../Exp/SquareHalfRight.exp','definitionstring','Outputdefinition9','model',md)]
48
49md.extrude(3,1.)
50md2=copy.deepcopy(md)
51md2.collapse()
52md=solve(md,'Transient')
53
54#Fields and tolerances to track changes
55field_names =['IceMass1','IceVolume1','IceVolumeAboveFloatation1','IceVolumeAboveFloatation21','Thickness1','GroundedArea1','FloatingArea1','TotalFloatingBmb1','TotalGroundedBmb1','TotalSmb1','IceMass3','IceVolume3','IceVolumeAboveFloatation3','IceVolumeAboveFloatation23','Thickness3','GroundedArea3','FloatingArea3','TotalFloatingBmb3','TotalGroundedBmb3','TotalSmb3','ExtrudedMask','CollapsedMask']
56field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13]
57field_values=[\
58 md.results.TransientSolution[0].IceMass1,\
59 md.results.TransientSolution[0].IceVolume1,\
60 md.results.TransientSolution[0].IceVolumeAboveFloatation1,\
61 md.results.TransientSolution[0].IceVolumeAboveFloatation2,\
62 md.results.TransientSolution[0].Thickness,\
63 md.results.TransientSolution[0].GroundedArea1,\
64 md.results.TransientSolution[0].FloatingArea1,\
65 md.results.TransientSolution[0].TotalFloatingBmb1,\
66 md.results.TransientSolution[0].TotalGroundedBmb1,\
67 md.results.TransientSolution[0].TotalSmb1,\
68 md.results.TransientSolution[2].IceMass1,\
69 md.results.TransientSolution[2].IceVolume1,\
70 md.results.TransientSolution[2].IceVolumeAboveFloatation1,\
71 md.results.TransientSolution[2].IceVolumeAboveFloatation2,\
72 md.results.TransientSolution[2].Thickness,\
73 md.results.TransientSolution[2].GroundedArea1,\
74 md.results.TransientSolution[2].FloatingArea1,\
75 md.results.TransientSolution[2].TotalFloatingBmb1,\
76 md.results.TransientSolution[2].TotalGroundedBmb1,\
77 md.results.TransientSolution[2].TotalSmb1,\
78 len(md.outputdefinition.definitions[0].mask),\
79 len(md2.outputdefinition.definitions[0].mask),\
80 ]
Note: See TracBrowser for help on using the repository browser.