# plot to check :
#db2.data['mask'][db2.data['mask'] == 1] = 0
#imshow(db2.data['mask'][::-1,:])
#colorbar()
#tight_layout()
#show()

imshow(db2.data['B'][::-1])
colorbar()
#show()
print db2.data['B'].max()

# generate the contour :
m = MeshGenerator(db2, 'mesh', '')

# Manually create a circular contour
angles = linspace(0, 1, 1000)*2*pi
xs = 2999000*cos(angles)
ys = 2999000*sin(angles)
contour = array(zip(xs, ys))

m.set_contour(contour)

m.write_gmsh_contour(1000, boundary_extend=False)
m.add_edge_attractor(1)
#field, ifield, lcMin, lcMax, distMin, distMax
m.add_threshold(2, 1, 5000, 5000, 1, 100000)
m.finish(4)
m.close_file()

# -*- coding: utf-8 -*-
"""
Create a uniform mesh of Antarctica for plotting. 
"""

from varglas.utilities         import DataInput, MeshGenerator
from varglas.data.data_factory import DataFactory
from pylab                     import *

thklim = 0
# create meshgrid for contour :
bedmap2 = DataFactory.get_bedmap2()
# process the data :
dbm = DataInput(bedmap2, gen_space=False)
dbm.set_data_val("H", 32767, thklim)

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

m.create_contour('H', 0.0, 5)
m.eliminate_intersections(dist=20)

m.write_gmsh_contour(1000, boundary_extend=False)
m.add_edge_attractor(1)

#field, ifield, lcMin, lcMax, distMin, distMax
m.add_threshold(2, 1, 3000, 3000, 1, 100000)
m.finish(4)

#m.create_2D_mesh('mesh') #FIXME: fails
#m.convert_msh_to_xml('mesh', 'mesh')