source: issm/trunk-jpl/test/Par/ISMIPE.py@ 24214

Last change on this file since 24214 was 24214, checked in by bdef, 5 years ago

CHG: syntax cahnge to meet most of Pep8 requirement

  • Property svn:executable set to *
File size: 1.4 KB
Line 
1import numpy as np
2from arch import *
3from SetIceSheetBC import SetIceSheetBC
4
5#Ok, start defining model parameters here
6
7print(" creating thickness")
8data = np.array(archread('../Data/ISMIPE.arch', 'data'))
9md.geometry.surface = np.zeros((md.mesh.numberofvertices))
10md.geometry.base = np.zeros((md.mesh.numberofvertices))
11for i in range(0, md.mesh.numberofvertices):
12 y = md.mesh.y[i]
13 point1 = int(np.floor(y / 100.))
14 point2 = int(np.minimum(point1 + 1, 50))
15 coeff = int((y - (point1) * 100.) / 100.)
16 md.geometry.base[i] = (1. - coeff) * data[point1, 1] + coeff * data[point2, 1]
17 md.geometry.surface[i] = (1. - coeff) * data[point1, 2] + coeff * data[point2, 2]
18
19md.geometry.thickness = md.geometry.surface - md.geometry.base
20md.geometry.thickness[np.nonzero(np.logical_not(md.geometry.thickness))] = 0.01
21md.geometry.base = md.geometry.surface - md.geometry.thickness
22
23print(" creating drag")
24md.friction.coefficient = np.zeros((md.mesh.numberofvertices))
25md.friction.p = np.ones((md.mesh.numberofelements))
26md.friction.q = np.ones((md.mesh.numberofelements))
27
28print(" creating flow law parameter")
29md.materials.rheology_B = 6.8067 * 10**7 * np.ones((md.mesh.numberofvertices))
30md.materials.rheology_n = 3. * np.ones((md.mesh.numberofelements))
31
32print(" boundary conditions for stressbalance model:")
33#Create node on boundary first (because we can not use mesh)
34md = SetIceSheetBC(md)
Note: See TracBrowser for help on using the repository browser.