Beispiel #1
0
from scipy.interpolate import RectBivariateSpline
from src.utilities import DataInput

#===============================================================================
# data preparation :

thklim = 200.0

# collect the raw data :
#measures = DataFactory.get_ant_measures()
#bedmap1  = DataFactory.get_bedmap1(thklim=thklim)
#bedmap2  = DataFactory.get_bedmap2(thklim=thklim)

dbv = DataInput("../results/", ("v_mag.mat", ), gen_space=False)
dbv.set_data_min('v_mag', 0.0, 0.0)
dbv.set_data_max('v_mag', 400.0, 400.0)

#db2  = DataInput(None, bedmap2, gen_space=False)

# might want to refine off of thickness :
#H   = db2.data['H'].copy().T

# ensure that there are no values less than 1 for taking log :
#vel = dsr.data['U_ob'].copy().T
vel = dbv.data['v_mag'].copy().T
vel += 1

# invert the sections where the velocity is low to refine at divide :
data = log(vel)
#mv                  = data.max()
#k                   = 1
Beispiel #2
0
# create data objects to use with varglas :
dsr     = DataInput(None, searise, mesh=mesh)
dbam    = DataInput(None, bamber, mesh=mesh)
dms     = DataInput(None, measure, mesh=mesh, flip=True)
dms.change_projection(dsr)

# Bound data to managable values
MAX_V_ERR = 500
NO_DATA = -99
MAX_V = 1e5
dbam.set_data_min('H', 200.0, 200.0)
dbam.set_data_min('h', 1.0, 1.0)
dms.set_data_min('sp',0.0,-1.0)
dms.set_data_min('ex',-MAX_V_ERR,NO_DATA)
dms.set_data_max('ex',MAX_V_ERR,NO_DATA)
dms.set_data_min('ey',-MAX_V_ERR,NO_DATA)
dms.set_data_max('ey',MAX_V_ERR,NO_DATA)

dms.set_data_min('vx',-MAX_V,NO_DATA)
dms.set_data_max('vx',MAX_V,NO_DATA)
dms.set_data_min('vy',-MAX_V,NO_DATA)
dms.set_data_max('vy',MAX_V,NO_DATA)


print "Projecting data onto mesh..."
H     = dbam.get_interpolation("H",kx=1,ky=1)
H0    = dbam.get_interpolation("H",kx=1,ky=1)
S     = dbam.get_interpolation("h",kx=1,ky=1)
Herr  = dbam.get_interpolation("Herr",kx=1,ky=1)
adot  = dsr.get_interpolation("adot",kx=1,ky=1)
Beispiel #3
0
var_bedmap1  = DataFactory.get_lebrocq()
var_bedmap2  = DataFactory.get_bedmap2()

mesh         = MeshFactory.get_antarctica_coarse()
flat_mesh    = MeshFactory.get_antarctica_coarse()

dm  = DataInput(None, var_measures, mesh=mesh,flip=True)
db1 = DataInput(None, var_bedmap1,  mesh=mesh)
db2 = DataInput(None, var_bedmap2,  mesh=mesh, flip=True)

thklim = 50.0

db2.set_data_min("H", thklim, thklim)
db2.set_data_min("h", 0.0,0.0)

db2.set_data_max("H",30000.,thklim)
db2.set_data_max("h",30000.,0.0)

db2.data['b'] = db2.data['h']-db2.data['H']

db1.data['srfTemp'] += 273.15
db1.data['q_geo'] *= 60**2*24*365


Surface            = db2.get_spline_expression("h")
Bed                = db2.get_spline_expression("b")
SurfaceTemperature = db1.get_spline_expression("srfTemp")
BasalHeatFlux      = db1.get_spline_expression("q_geo")
U_observed         = dm.get_spline_expression("v_mag")

Beispiel #4
0
bamber   = DataFactory.get_bamber(thklim = thklim)
searise  = DataFactory.get_searise(thklim = thklim)
#meas_shf = DataFactory.get_shift_gre_measures()

#dbv  = DataInput("../results/", ("Ubmag_measures.mat", "Ubmag.mat"), 
#                 gen_space=False)
dsr  = DataInput(None, searise,  gen_space=False)
dbm  = DataInput(None, bamber,   gen_space=False)
#dmss = DataInput(None, meas_shf, gen_space=False)

#dbv.set_data_min('Ubmag', 0.0,   0.0)
#dbv.set_data_max('Ubmag', 500.0, 500.0)

dsr.change_projection(dbm)
dsr.set_data_min('U_ob', 0.0,   0.0)
dsr.set_data_max('U_ob', 400.0, 400.0)

# might want to refine off of thickness :
#H   = dbm.data['H'].copy().T

# ensure that there are no values less than 1 for taking log :
#vel  = dbv.data['Ubmag'].copy().T
vel  = dsr.data['U_ob'].copy().T
vel += 1

# invert the sections where the velocity is low to refine at divide :
data                = log(vel)
mv                  = data.max()
k                   = 1
#data[2*data < k*mv] = -data[2*data < k*mv]  + k*mv
Beispiel #5
0
import sys
import os
src_directory = '../../../../'
sys.path.append(src_directory)

from src.utilities     import DataInput, MeshGenerator
from data.data_factory import DataFactory

# create meshgrid for contour :
vara = DataFactory.get_bamber()

# process the data :
dd = DataInput(None, vara, gen_space=False)
dd.set_data_max('mask', 2, 0)

m = MeshGenerator(dd, 'mesh', '')

m.create_contour('H', 200.0, 4)
#m.plot_contour()

m.eliminate_intersections(dist=10)
#m.plot_contour()

m.write_gmsh_contour(100000, boundary_extend=False)
m.extrude(100000, 10)
#m.add_edge_attractor(1)
#field, ifield, lcMin, lcMax, distMin, distMax
#m.add_threshold(2, 1, 20000, 100000, 1, 400000)
#m.finish(4)

#m.create_2D_mesh('mesh') #FIXME: fails
Beispiel #6
0
from scipy.interpolate import RectBivariateSpline
from src.utilities import DataInput

# ===============================================================================
# data preparation :

thklim = 200.0

# collect the raw data :
# measures = DataFactory.get_ant_measures()
# bedmap1  = DataFactory.get_bedmap1(thklim=thklim)
# bedmap2  = DataFactory.get_bedmap2(thklim=thklim)

dbv = DataInput("../results/", ("v_mag.mat",), gen_space=False)
dbv.set_data_min("v_mag", 0.0, 0.0)
dbv.set_data_max("v_mag", 400.0, 400.0)

# db2  = DataInput(None, bedmap2, gen_space=False)

# might want to refine off of thickness :
# H   = db2.data['H'].copy().T

# ensure that there are no values less than 1 for taking log :
# vel = dsr.data['U_ob'].copy().T
vel = dbv.data["v_mag"].copy().T
vel += 1

# invert the sections where the velocity is low to refine at divide :
data = log(vel)
# mv                  = data.max()
# k                   = 1