flat_mesh.coordinates()[:,2] /= 1000.0 # create data objects to use with varglas : dsr = DataInput(None, searise, mesh=mesh) dbm = DataInput(None, bamber, mesh=mesh) #dms = DataInput(None, measure, mesh=mesh) #dmss = DataInput(None, meas_shf, mesh=mesh) dfm = DataInput(None, fm_qgeo, mesh=mesh) #dsq = DataInput(None, sec_qgeo, mesh=mesh) dmg = DataInput(None, merged, mesh=mesh) #dbv = DataInput("results/", ("Ubmag_measures.mat", "Ubmag.mat"), mesh=mesh) # change the projection of the measures data to fit with other data : #dms.change_projection(dsr) dmg.change_projection(dsr) # get the expressions used by varglas : Thickness = dbm.get_spline_expression('H') Surface = dbm.get_spline_expression('h') Bed = dbm.get_spline_expression('b') SurfaceTemperature = dsr.get_spline_expression('T') BasalHeatFlux = dfm.get_spline_expression('q_geo') adot = dsr.get_spline_expression('adot') U_observed = dmg.get_spline_expression('v_mag') model = model.Model() model.set_geometry(Surface, Bed) model.set_mesh(mesh, flat_mesh=flat_mesh, deform=True) model.set_parameters(pc.IceParameters()) model.initialize_variables()
# collect the raw data : searise = DataFactory.get_searise() measure = DataFactory.get_gre_measures() #bamber = DataFactory.get_bamber() direc = os.path.dirname(os.path.realpath(__file__)) # load a mesh : mesh = Mesh("../meshes/mesh.xml") # create data objects to use with varglas : dsr = DataInput(None, searise, mesh=mesh, create_proj=True) #dbm = DataInput(None, bamber, mesh=mesh) dms = DataInput(None, measure, mesh=mesh, create_proj=True, flip=True) dms.change_projection(dsr) dsr.set_data_min('H', 10.0, 10.0) H = dsr.get_projection("H") S = dsr.get_projection("h") adot = dsr.get_projection("adot") prb = VelocityBalance_2(mesh, H, S, adot, 12.0) prb.solve_forward() # File ouput do = DataOutput('results/greenland_balance_velocity_v2/') d_out = {'Ubmag' : prb.Ubmag, 'H' : prb.H,
# collect the raw data : 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
# collect the raw data : searise = DataFactory.get_searise() measure = DataFactory.get_gre_measures() bamber = DataFactory.get_bamber() direc = os.path.dirname(os.path.realpath(__file__)) # load a mesh : mesh = Mesh("./mesh_5km.xml") # 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)
#measure = DataFactory.get_gre_measures() rignot = DataFactory.get_gre_rignot() # define the mesh : mesh = MeshFactory.get_greenland_coarse() # create data objects to use with varglas : dsr = DataInput(None, searise, mesh=mesh) dbm = DataInput(None, bamber, mesh=mesh) #dms = DataInput(None, measure, mesh=mesh) dfm = DataInput(None, fm_qgeo, mesh=mesh) drg = DataInput(None, rignot, mesh=mesh) # change the projection of the measures data to fit with other data : #dms.change_projection(dsr) drg.change_projection(dsr) # get the expressions used by varglas : Thickness = dbm.get_spline_expression('H') Surface = dbm.get_spline_expression('S') Bed = dbm.get_spline_expression('B') SurfaceTemperature = dsr.get_spline_expression('T') #BasalHeatFlux = dsr.get_spline_expression('q_geo') BasalHeatFlux = dfm.get_spline_expression('q_geo') adot = dsr.get_spline_expression('adot') #U_observed = dsr.get_spline_expression('U_ob') U_observed = drg.get_spline_expression('U_ob') # inspect the data values : #do = DataOutput('results_pre/') #do.write_one_file('vmag', drg.get_projection('U_ob'))